12.04.2014, 02:05
Привет форумчане,есть такой cleo скрипт DIALOG HIDER с помощью него можно скрывать и открывать диалоги,но и флудить последним Id'ом диалога,тобишь багоюзить им
написал защиту НО,она не работает,приходится после каждой функции ставить
естественно присутствует переменная
теперь подробнее о проблеме,пробовал обнулять переменную в конце паблика - при 2 диалоге обнуляется переменная и не срабатывает,работает только так
написал защиту НО,она не работает,приходится после каждой функции ставить
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogids[playerid] == dialogid)
{
// диалоги
}
return true;
}
PHP код:
stock MyDialog(playerid, dialogid, style, caption[], info[], button1[], button2[])
{
dialogids[playerid] = dialogid;
ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);
return 1;
}
PHP код:
new dialogids[MAX_PLAYERS];
PHP код:
case 10:
{
if(response)
{
if(account[playerid][pMuteTime] > 0) return SendClientMessage(playerid, TEAM_CYAN_COLOR, "У Вас бан чата!");
if(!strlen(inputtext))return ShowPlayerDialog(playerid,10,DIALOG_STYLE_INPUT, "Жалоба администрации", "Вы собираетесь отправить администрации сообщение с жалобой\nОтпровляйте по форме [ID/ник нарушитиля] [Текст жалобы]", "Отправить", "Назад");
format(string, sizeof(string), "%s[%d]:{EEEE00} %s",account[playerid][pName], playerid, (inputtext));
SendClientMessage(playerid,0xFFA500AA, string);
SendClientMessage(playerid, COLOR_GREEN, "Ожидайте! админстрация ответит вам в течении минуты.");
format(string, sizeof(string), "%s[%d]:{EEEE00} %s",account[playerid][pName], playerid, (inputtext));
SendAdminMessage(0xFFA500AA,string);
dialogids[playerid] = 0;
return true;
}