PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_DICE_GAME_OFFER:
{
new opponentid = GetPVarInt(playerid, !"dice_game_opponent");
if(!response)
{
SendClientMessage(opponentid, HEX_COLOR_ERROR,
!"Соперник отказался сыграть с Вами!");
SendClientMessage(opponentid, HEX_COLOR_NOTE,
!"Поиск нового соперника...");
SearchDiceGameOpponent(opponentid);
player_dice_game_status{playerid} =
PLAYER_DICE_GAME_STATUS_NONE;
DeletePVar(playerid, !"dice_game_opponent");
return SendClientMessage(playerid, HEX_COLOR_NOTE,
!"Вы покинули поиск игры!");
}
else
{
SetPVarInt(opponentid, !"dice_game_opponent", playerid);
ShowPlayerDialog(playerid, DIALOG_DICE_GAME_SLOT,
DIALOG_STYLE_LIST, !COLOR_TITLE"Выберите слот",
!COLOR_TEXT"Выбрать "COLOR_ERROR"слот №1\n\
"COLOR_TEXT"Выбрать "COLOR_SUCCESS"слот №2",
!"Выбрать", !"Покинуть");
ShowPlayerDialog(opponentid, DIALOG_DICE_GAME_SLOT,
DIALOG_STYLE_LIST, !COLOR_TITLE"Выберите слот",
!COLOR_TEXT"Выбрать "COLOR_ERROR"слот №1\n\
"COLOR_TEXT"Выбрать "COLOR_SUCCESS"слот №2",
!"Выбрать", !"Покинуть");
}
}
case DIALOG_DICE_GAME_SLOT:
{
new opponentid = GetPVarInt(playerid, !"dice_game_opponent");
if(!response)
{
SendClientMessage(opponentid, HEX_COLOR_NOTE,
!"Соперник покинул игру!");
SendClientMessage(opponentid, HEX_COLOR_SUCCESS,
!"Вы победили!");
player_dice_game_status{playerid} =
player_dice_game_status{opponentid} =
PLAYER_DICE_GAME_STATUS_NONE;
DeletePVar(playerid, !"dice_game_opponent");
return DeletePVar(opponentid, !"dice_game_opponent");
}
else
{
if(listitem + 1 != player_dice_slot{opponentid})
{
player_dice_slot{playerid} = listitem + 1;
if(0 == player_dice_slot{opponentid})
{
SendClientMessage(playerid, HEX_COLOR_SUCCESS,
!"Ставка принята, ожидайте соперника!");
SendClientMessage(opponentid, HEX_COLOR_NOTE,
!"Ваш соперник сделал свой выбор, ожидание \
Вашего хода...");
}
else
{
SendClientMessage(opponentid, HEX_COLOR_NOTE,
!"Ваш соперник сделал свой выбор!");
SendClientMessage(playerid, HEX_COLOR_SUCCESS,
!"Ставки приняты, ожидайте результата...");
SendClientMessage(opponentid, HEX_COLOR_SUCCESS,
!"Ставки приняты, ожидайте результата...");
SetTimerEx("OutputDiceGameResult",
DICE_GAME_RESULT_INTERVAL,
0, "ii", playerid, opponentid);
DeletePVar(playerid, !"dice_game_opponent");
DeletePVar(opponentid, !"dice_game_opponent");
}
}
else
{
SendClientMessage(opponentid, HEX_COLOR_ERROR,
!"Этот слот уже выбрал ваш соперник,\
Выберите другую!");
return ShowPlayerDialog(opponentid, DIALOG_DICE_GAME_SLOT,
DIALOG_STYLE_LIST, !COLOR_TITLE"Выберите слот",
!COLOR_TEXT"Выбрать "COLOR_ERROR"слот №1\n\
"COLOR_TEXT"Выбрать "COLOR_SUCCESS"слот №2",
!"Выбрать", !"Покинуть");
}
}
}
}
return 1;
}