phpadmin
18.07.2017, 22:36
Помогите если не сложно решить проблему. Заранее спасибо.
Например на сервере 2 игрока (я в том числе) Общее кол. игроков на сервере 2.
Есть диалог с двумя выборами "Лист 1" и "Лист 2" , Допусти Я выбрал "Лист 1", Игрок 2 выбирает соответственно "Лист 2".
Дальше есть команда которой вызывает другой диалог, в данном диалоге находиться "Лист 1" и "Лист 2".
*Данным диалогом выбираешь победителя.
Данный диалог определяет победителя. Как мы помним Я выбирал "Лист 1", то есть, если я её выберу то победителем буду Я. И мне дадут 200$
Собственно сама проблема: Если я выберу "Лист 2" (где диалог по выбору победителя) То получается баг, по сути 200$ должны пойти к человеку который выбирал "Лист 2", но пишет "Вы проиграли" но мне дают 200$, а тому челу который выбрал "Лист 2" пишет "Поздравляем ваша ставка выиграла. Ваш приз: 0$.
Если ничего не понятно продемонстрирую на скринах. Вникните в текст сверху. Прошу помочь исправить данный баг.
Сам код:
if(response)
{
switch(listitem)
{
case 0:
{
foreach(new i : Player)
{
if(post[i] == 1)
{
new string[(52+8)+1];
format(string, sizeof(string), "Поздравляем ваша ставка выиграла. Ваш приз {4AD64C}%d$", stav[playerid]*2);
SendClientMessage(i, -1, string);
ac_GivePlayerMoney(playerid, stav[playerid]*2);
stav[i] = 0;
post[i] = 0;
}
}
foreach(new i : Player)
{
if(post[i] == 2)
{
SendClientMessage(i, -1, "Ваша ставка проиграла.");
stav[i] = 0;
post[i] = 0;
}
}
stavki[0] = 0;
}
case 1:
{
foreach(new i : Player)
{
if(post[i] == 1)
{
SendClientMessage(i, -1, "Ваша ставка проиграла.");
stav[i] = 0;
post[i] = 0;
}
}
foreach(new i : Player)
{
if(post[i] == 2)
{
new string[(52+8)+1];
format(string, sizeof(string), "Поздравляем ваша ставка выиграла. Ваш приз {4AD64C}%d$", stav[playerid]*2);
SendClientMessage(i, -1, string);
ac_GivePlayerMoney(playerid, stav[playerid]*2);
stav[i] = 0;
post[i] = 0;
}
}
stavki[0] = 0;
stavki[1] = 0;
stavki[2] = 0;
}
}
OnPlayerUpdate(playerid);
}
Например на сервере 2 игрока (я в том числе) Общее кол. игроков на сервере 2.
Есть диалог с двумя выборами "Лист 1" и "Лист 2" , Допусти Я выбрал "Лист 1", Игрок 2 выбирает соответственно "Лист 2".
Дальше есть команда которой вызывает другой диалог, в данном диалоге находиться "Лист 1" и "Лист 2".
*Данным диалогом выбираешь победителя.
Данный диалог определяет победителя. Как мы помним Я выбирал "Лист 1", то есть, если я её выберу то победителем буду Я. И мне дадут 200$
Собственно сама проблема: Если я выберу "Лист 2" (где диалог по выбору победителя) То получается баг, по сути 200$ должны пойти к человеку который выбирал "Лист 2", но пишет "Вы проиграли" но мне дают 200$, а тому челу который выбрал "Лист 2" пишет "Поздравляем ваша ставка выиграла. Ваш приз: 0$.
Если ничего не понятно продемонстрирую на скринах. Вникните в текст сверху. Прошу помочь исправить данный баг.
Сам код:
if(response)
{
switch(listitem)
{
case 0:
{
foreach(new i : Player)
{
if(post[i] == 1)
{
new string[(52+8)+1];
format(string, sizeof(string), "Поздравляем ваша ставка выиграла. Ваш приз {4AD64C}%d$", stav[playerid]*2);
SendClientMessage(i, -1, string);
ac_GivePlayerMoney(playerid, stav[playerid]*2);
stav[i] = 0;
post[i] = 0;
}
}
foreach(new i : Player)
{
if(post[i] == 2)
{
SendClientMessage(i, -1, "Ваша ставка проиграла.");
stav[i] = 0;
post[i] = 0;
}
}
stavki[0] = 0;
}
case 1:
{
foreach(new i : Player)
{
if(post[i] == 1)
{
SendClientMessage(i, -1, "Ваша ставка проиграла.");
stav[i] = 0;
post[i] = 0;
}
}
foreach(new i : Player)
{
if(post[i] == 2)
{
new string[(52+8)+1];
format(string, sizeof(string), "Поздравляем ваша ставка выиграла. Ваш приз {4AD64C}%d$", stav[playerid]*2);
SendClientMessage(i, -1, string);
ac_GivePlayerMoney(playerid, stav[playerid]*2);
stav[i] = 0;
post[i] = 0;
}
}
stavki[0] = 0;
stavki[1] = 0;
stavki[2] = 0;
}
}
OnPlayerUpdate(playerid);
}