PDA

Просмотр полной версии : [Вопрос] Можно ли так реализовать?.



Айболит
01.09.2014, 18:41
Сделал систему коек, наконец-то, все работает. Но если другой игрок зайдет на сервер, то он сможет занять ту койку, которая занята, можно ли сделать при спавне игрока... Что бы была проверка, если у игрока, который уже лежит на койки, была проверка если у него стоит значение 11,22,33,44,55,66,77,88. То этому игроку который зашел на сервер, автоматом дает это значение.

Player[i][pK1] = 11;
Player[i][pK2] = 22;
Player[i][pK3] = 33;
Player[i][pK4] = 44;
Player[i][pK5] = 55;
Player[i][pK6] = 66;
Player[i][pK7] = 77;
Player[i][pK8] = 88;

Просто я сделал такую систему что, если игрок напишет /hospital 1, (койка 1 ) то всем игрокам даст значение 11, и если любой игрок напишет возле койки, /hospital 1 напишет койка занята..

Вообщем скажите можно ли так реализовать?

Flime
01.09.2014, 18:58
Я не понял твою систему. Вот тебе идея, как бы сделал я.
В public OnPlayerDisconnect(playerid, reason) и туда, где ты выписываешь игроков. (Когда ХП становится 100)


for(new d; d < //Количество коек; d++)
{
if(HospitalBed[d] != playerid) continue;
else
{
HospitalBed[d] = INVALID_PLAYER_ID;
break;
}
}


В команды /hospital 1, 2...
if(HospitalBed[//Номер койки с 0] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Койка уже занята!");

И в OnGameModeInIt


for(new d; d < //Количество коек; d++) HospitalBed[d] = INVALID_PLAYER_ID;


- - - Добавлено - - -

И еще в команды /hospital 1, 2...
HospitalBed[/*Номер койки*/] = playerid;

Айболит
01.09.2014, 19:00
Я не понял твою систему. Вот тебе идея, как бы сделал я.
В public OnPlayerDisconnect(playerid, reason) и туда, где ты выписываешь игроков. (Когда ХП становится 100)


for(new d; d < //Количество коек; d++)
{
if(HospitalBed[d] != playerid) continue;
else
{
HospitalBed[d] = INVALID_PLAYER_ID;
break;
}
}


В команды /hospital 1, 2...
if(HospitalBed[//Номер койки с 0] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Койка уже занята!");

И в OnGameModeInIt


for(new d; d < //Количество коек; d++) HospitalBed[d] = INVALID_PLAYER_ID;


- - - Добавлено - - -

И еще в команды /hospital 1, 2...
HospitalBed[/*Номер койки*/] = playerid;

Не понял но спасибо ))

DeimoS
01.09.2014, 19:28
Вы не у игрока записывайте то, занята ли койка . А создайте массив для коек и записывайте в яейки ID игроков, занявших койки.