Баг в команде -
14_KaPaT - 27.09.2012
Здравствуйте пользователи форума, прошу помочь с такой проблемой, вот сама команда
Code:
if(Command(cmd,"/дмлист")){
new count1 = 0,count2 = 0;
for(new i;i<USERSLOTS;i++){
if(full[i] == 1) count1++;
if(full[i] == 2) count2++;
format(string,sizeof string,"DM (Pro Weap) №1 (%d чел.)\n",count1);
format(string,sizeof string,"%sDM (Pro Weap) №2 (%d чел.)\n",string,count2);
}
ShowPlayerDialog(playerid,COMMAND_DIALOG,2,"Список дм зон",string,"Го!","Отмена");
return true;
}
Команда должна работать так, циклить игроков, если у игрока определенное значение переменной которое совпадает с заданным плюсуем игрока, команда работает как надо, но возникает проблема когда игрок, будучи на дм, получает значение переменной full[playerid] = 1; к примеру и выходит из игры, каким то образом набирая команду в следующий раз этот игрок все еще плюсуется при выполнении цикла заданного в команде, как исправить ?
Второй вопрос как посадить в гидру сразу несколько человек или это нереально ?
Re: Баг в команде -
White_116 - 27.09.2012
Обнулять значение игрока при выходе из дм или игры не пробовали?
Quote:
Второй вопрос как посадить в гидру сразу несколько человек или это нереально ?
|
Если как пассажир, то можно отправить в слежку за этой машиной, только нужно отслеживать нажатие клавиш для выхода и входа.
Re: Баг в команде -
14_KaPaT - 27.09.2012
При выходе обнуляется
Re: Баг в команде -
Alexander_Petrov - 27.09.2012
pawn Code:
if(Command(cmd,"/дмлист"))
{
new count1 = 0, count2 = 0;
for(new i; i < USERSLOTS; i++)
{
if(full[i] == 1) count1++;
else if(full[i] == 2) count2++;
format(string, sizeof string, "DM (Pro Weap) №1 (%d чел.)\n", count1);
format(string, sizeof string, "%sDM (Pro Weap) №2 (%d чел.)\n", string, count2);
}
ShowPlayerDialog(playerid, COMMAND_DIALOG, 2, "Список дм зон", string, "Го!", "Отмена");
return true;
}
Скорее всего во всем виновато обнуление переменной. Где она обнуляется?
Re: Баг в команде -
14_KaPaT - 28.09.2012
Исправил, удивительно, но просто поставив обнуление переменной в начало паблика выхода из игры, а было в середине. Всем спасибо
Re: Баг в команде -
stabker - 28.09.2012
Еще немного оптимизации:
pawn Code:
if(Command(cmd,"/дмлист"))
{
new count1 = 0, count2 = 0;
for(new i; i < USERSLOTS; i++)
{
if(full[i] == 1) count1++;
else if(full[i] == 2) count2++;
}
format(string, sizeof string, "DM (Pro Weap) №1 (%d чел.)\n", count1);
format(string, sizeof string, "%sDM (Pro Weap) №2 (%d чел.)\n", string, count2);
ShowPlayerDialog(playerid, COMMAND_DIALOG, 2, "Список дм зон", string, "Го!", "Отмена");
return true;
}
Re: Баг в команде -
9903286 - 02.12.2012
Quote:
Originally Posted by stabker
Еще немного оптимизации:
pawn Code:
if(Command(cmd,"/дмлист")) { new count1 = 0, count2 = 0; for(new i; i < USERSLOTS; i++) { if(full[i] == 1) count1++; else if(full[i] == 2) count2++; } format(string, sizeof string, "DM (Pro Weap) №1 (%d чел.)\n", count1); format(string, sizeof string, "%sDM (Pro Weap) №2 (%d чел.)\n", string, count2); ShowPlayerDialog(playerid, COMMAND_DIALOG, 2, "Список дм зон", string, "Го!", "Отмена"); return true; }
|
Thanks.

+rep