Kerry_Wilson
Новичок
И так, у меня такая ситуация. Команда /serverbonus выдает не правильный диалог. По коду я не могу выявить ошибку, уже все 10 раз пересмотрел, может кто из вас поможет?
Код команды:
Диалог 5254:
Диалог 5255:
То что вышло в итоге, когда нажимаю на первую строку [4] лицензия на вождение то начинает срабатывать функция [0] Уровень
Код команды:
PHP:
CMD:serverbonus(playerid)
{
if(PTEMP[playerid][pLogin] == 0) return true;
if(PTEMP[playerid][pAdmin] < 10) return true;
new que[2048];
mysql_format(DATABASE, QUERY, sizeof(QUERY), "SELECT COLUMN_NAME,COLUMN_DEFAULT FROM INFORMATION_SCHEMA.columns WHERE `TABLE_name` = 'accounts' AND\
`COLUMN_NAME` IN('pLevel', 'pBank', 'pCash', 'pDirectory', 'pCarLic', 'pFlyLic', 'pBoatLic', 'pFishLic', 'pGunLic', 'pGunSkills')");
mysql_query(DATABASE, QUERY);
new r = cache_num_rows();
que = "Íàçâàíèå\tÇíà÷åíèå ïðè ðåãèñòðàöèè\n";
if(r)
{
for(new i = r/3; i < (r/3)*2; i++)
{
new strin[128], col[32], def[64];
cache_get_field_content(i,"COLUMN_NAME",col,DATABASE,sizeof(col));
cache_get_field_content(i,"COLUMN_DEFAULT",def,DATABASE,sizeof(def));
if(strcmp(col, "pLevel", false) == 0)
{
if(strval(def) == 1) format(strin, sizeof(strin), "{FFFFFF}[0] Уровень\t{FF0000}[%s]\n",def);
else format(strin, sizeof(strin), "{FFFFFF}[0] Уровень\t{00FF00}[%s]\n",def);
}
else if(strcmp(col, "pBank", false) == 0)
{
if(strval(def) == 0) format(strin, sizeof(strin), "{FFFFFF}[1] Äåíüãè â áàíêå\t{FF0000}[%s]\n",def);
else format(strin, sizeof(strin), "{FFFFFF}[1] Äåíüãè â áàíêå\t{00FF00}[%s]\n",def);
}
else if(strcmp(col, "pCash", false) == 0)
{
if(strval(def) == 0) format(strin, sizeof(strin), "{FFFFFF}[2] Деньги в банке\t{FF0000}[%s]\n",def);
else format(strin, sizeof(strin), "{FFFFFF}[2] Деньги в банке\t{00FF00}[%s]\n",def);
}
else if(strcmp(col, "pDirectory", false) == 0)
{
new defaults = strval(def);
if(defaults == 0) strin = "{FFFFFF}[3] Деньги на руках\t{FF0000}[Нет]\n";
else strin = "{FFFFFF}[3] Деньги на руках\t{00FF00}[Есть]\n";
}
else if(strcmp(col, "pCarLic", false) == 0)
{
new defaults = strval(def);
if(defaults == 0) strin = "{FFFFFF}[4] Телефонный справочник\t{FF0000}[Нет]\n";
else strin = "{FFFFFF}[4] Телефонный справочник\t{00FF00}[Есть]\n";
}
else if(strcmp(col, "pFlyLic", false) == 0)
{
new defaults = strval(def);
if(defaults == 0) strin = "{FFFFFF}[5] Лицензия на вождение\t{FF0000}[Нет]\n";
else strin = "{FFFFFF}[5] Лицензия на вождение\t{00FF00}[Есть]\n";
}
else if(strcmp(col, "pBoatLic", false) == 0)
{
new defaults = strval(def);
if(defaults == 0) strin = "{FFFFFF}[6] Ëèöåíçèÿ íà âîäíûé òðàíñïîðò\t{FF0000}[Íåò]\n";
else strin = "{FFFFFF}[6] Ëèöåíçèÿ íà âîäíûé òðàíñïîðò\t{00FF00}[Åñòü]\n";
}
else if(strcmp(col, "pFishLic", false) == 0)
{
new defaults = strval(def);
if(defaults == 0) strin = "{FFFFFF}[7] Ëèöåíçèÿ íà ðûáîëîâëþ\t{FF0000}[Íåò]\n";
else strin = "{FFFFFF}[7] Ëèöåíçèÿ íà ðûáîëîâëþ\t{00FF00}[Åñòü]\n";
}
else if(strcmp(col, "pGunLic", false) == 0)
{
new defaults = strval(def);
if(defaults == 0) strin = "{FFFFFF}[8] Ëèöåíçèÿ íà îðóæèå\t{FF0000}[Íåò]\n";
else strin = "{FFFFFF}[8] Ëèöåíçèÿ íà îðóæèå\t{00FF00}[Åñòü]\n";
}
else if(strcmp(col, "pGunSkills", false) == 0)
{
if(!strcmp(def, "0, 0, 0, 0, 0, 0", false)) strin = "{FFFFFF}[9] Íàâûê ëàäåíèÿ îðóæèåì\t{FF0000}[Íåò]\n";
else strin = "{FFFFFF}[9] Íàâûê âëàäåíèÿ îðóæèåì\t{00FF00}[Åñòü]\n";
}
strcat(que, strin);
}
}
ShowPlayerDialogEx(playerid, 5254, DIALOG_STYLE_TABLIST_HEADERS, "Áîíóñû ñåðâåðà", que, "Âûáîð", "Îòìåíà");
printf("Àäìèíèñòðàòîð %s îòêðûë îêíî áîíóñîâ ñåðâåðà");
return true;
}
PHP:
case 5254:
{
if(!response) return true;
switch(listitem)
{
case 0..2:
{
SetPVarInt(playerid, "serverBonus", listitem);
ShowPlayerDialog(playerid, 5255, DIALOG_STYLE_INPUT, "Ââîä ïàðàìåòðà", "Ââåäèòå çíà÷åíèå", "Äàëåå", "Íàçàä");
return true;
}
case 3: // pDirectory
{
mysql_format(DATABASE, QUERY, sizeof(QUERY), "SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.columns WHERE `TABLE_name` = 'accounts' AND`COLUMN_NAME` = 'pDirectory'");
mysql_query(DATABASE, QUERY);
new r = cache_num_rows();
if(r)
{
new def[64];
cache_get_field_content(1,"COLUMN_DEFAULT",def,DATABASE,sizeof(def));
switch(strval(def))
{
case 0:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pDirectory` SET DEFAULT '1'",false,"","");
SCM(playerid, -1, " Âû âêëþ÷èëè âûäà÷ó òåëåôîííîãî ñïðàâî÷íèêà ïðè ðåãèñòðàöèè");
}
case 1:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pDirectory` SET DEFAULT '0'",false,"","");
SCM(playerid, -1, " Âû îòêëþ÷èëè âûäà÷ó òåëåôîííîãî ñïðàâî÷íèêà ïðè ðåãèñòðàöèè");
}
}
}
}
case 4: // pCarLic
{
mysql_format(DATABASE, QUERY, sizeof(QUERY), "SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.columns WHERE `TABLE_name` = 'accounts' AND\
`COLUMN_NAME` = 'pCarLic'");
mysql_query(DATABASE, QUERY);
new r = cache_num_rows();
if(r)
{
new def[64];
cache_get_field_content(1,"COLUMN_DEFAULT",def,DATABASE,sizeof(def));
switch(strval(def))
{
case 0:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pCarLic` SET DEFAULT '1'",false,"","");
SCM(playerid, -1, " Âû âêëþ÷èëè âûäà÷ó âîäèòåëüñêèõ ïðàâ ïðè ðåãèñòðàöèè");
}
case 1:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pCarLic` SET DEFAULT '0'",false,"","");
SCM(playerid, -1, " Âû îòêëþ÷èëè âûäà÷ó âîäèòåëüñêèõ ïðàâ ïðè ðåãèñòðàöèè");
}
}
}
}
case 5: // pFlyLic
{
mysql_format(DATABASE, QUERY, sizeof(QUERY), "SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.columns WHERE `TABLE_name` = 'accounts' AND\
`COLUMN_NAME` = 'pFlyLic'");
mysql_query(DATABASE, QUERY);
new r = cache_num_rows();
if(r)
{
new def[64];
cache_get_field_content(1,"COLUMN_DEFAULT",def,DATABASE,sizeof(def));
switch(strval(def))
{
case 0:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pFlyLic` SET DEFAULT '1'",false,"","");
SCM(playerid, -1, " Âû âêëþ÷èëè âûäà÷ó ëèöåíçèè íà ïîë¸òû ïðè ðåãèñòðàöèè");
}
case 1:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pFlyLic` SET DEFAULT '0'",false,"","");
SCM(playerid, -1, " Âû îòêëþ÷èëè âûäà÷ó ëèöåíçèè íà ïîë¸òû ïðè ðåãèñòðàöèè");
}
}
}
}
case 6: // pBoatLic
{
mysql_format(DATABASE, QUERY, sizeof(QUERY), "SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.columns WHERE `TABLE_name` = 'accounts' AND\
`COLUMN_NAME` = 'pBoatLic'");
mysql_query(DATABASE, QUERY);
new r = cache_num_rows();
if(r)
{
new def[64];
cache_get_field_content(1,"COLUMN_DEFAULT",def,DATABASE,sizeof(def));
switch(strval(def))
{
case 0:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pBoatLic` SET DEFAULT '1'",false,"","");
SCM(playerid, -1, " Âû âêëþ÷èëè âûäà÷ó ëèöåíçèè íà âîäíûé òðàíñïîðò ïðè ðåãèñòðàöèè");
}
case 1:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pBoatLic` SET DEFAULT '0'",false,"","");
SCM(playerid, -1, " Âû îòêëþ÷èëè âûäà÷ó ëèöåíçèè íà âîäíûé òðàíñïîðò ïðè ðåãèñòðàöèè");
}
}
}
}
case 7: // pFishLic
{
mysql_format(DATABASE, QUERY, sizeof(QUERY), "SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.columns WHERE `TABLE_name` = 'accounts' AND\
`COLUMN_NAME` = 'pFishLic'");
mysql_query(DATABASE, QUERY);
new r = cache_num_rows();
if(r)
{
new def[64];
cache_get_field_content(1,"COLUMN_DEFAULT",def,DATABASE,sizeof(def));
switch(strval(def))
{
case 0:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pFishLic` SET DEFAULT '1'",false,"","");
SCM(playerid, -1, " Âû âêëþ÷èëè âûäà÷ó ëèöåíçèè íà ðûáîëîâëþ ïðè ðåãèñòðàöèè");
}
case 1:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pFishLic` SET DEFAULT '0'",false,"","");
SCM(playerid, -1, " Âû îòêëþ÷èëè âûäà÷ó ëèöåíçèè íà ðûáîëîâëþ ïðè ðåãèñòðàöèè");
}
}
}
}
case 8: // pGunLic
{
mysql_format(DATABASE, QUERY, sizeof(QUERY), "SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.columns WHERE `TABLE_name` = 'accounts' AND\
`COLUMN_NAME` = 'pGunLic'");
mysql_query(DATABASE, QUERY);
new r = cache_num_rows();
if(r)
{
new def[64];
cache_get_field_content(1,"COLUMN_DEFAULT",def,DATABASE,sizeof(def));
switch(strval(def))
{
case 0:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pGunLic` SET DEFAULT '1'",false,"","");
SCM(playerid, -1, " Âû âêëþ÷èëè âûäà÷ó ëèöåíçèè íà îðóæèå ïðè ðåãèñòðàöèè");
}
case 1:
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pGunLic` SET DEFAULT '0'",false,"","");
SCM(playerid, -1, " Âû îòêëþ÷èëè âûäà÷ó ëèöåíçèè íà îðóæèå ïðè ðåãèñòðàöèè");
}
}
}
}
case 9: // pGunSkills
{
mysql_format(DATABASE, QUERY, sizeof(QUERY), "SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.columns WHERE `TABLE_name` = 'accounts' AND\
`COLUMN_NAME` = 'pGunSkills'");
mysql_query(DATABASE, QUERY);
new r = cache_num_rows();
if(r)
{
new def[64];
cache_get_field_content(1,"COLUMN_DEFAULT",def,DATABASE,sizeof(def));
if(!strcmp(def, "0, 0, 0, 0, 0, 0"))
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pGunSkills` SET DEFAULT '100, 100, 100, 100, 100, 100'",false,"","");
SCM(playerid, -1, " Âû âêëþ÷èëè âûäà÷ó íàâûêà âëàäåíèÿ îðóæèåì ïðè ðåãèñòðàöèè");
}
else if(!strcmp(def, "100, 100, 100, 100, 100, 100"))
{
mysql_function_query(DATABASE,"ALTER TABLE `accounts` ALTER COLUMN `pGunSkills` SET DEFAULT '0, 0, 0, 0, 0, 0'",false,"","");
SCM(playerid, -1, " Âû îòêëþ÷èëè âûäà÷ó íàâûêà âëàäåíèÿ îðóæèåì ïðè ðåãèñòðàöèè");
}
}
}
}
SetTimerEx("ServerBonus" , 250, false, "i", playerid);
}
PHP:
case 5255:
{
if(!response) return CallLocalFunction("OnPlayerCommandText", "is", playerid, "/serverbonus");
if(GetPVarInt(playerid, "serverBonus") == 0) // pLevel
{
if(strlen(inputtext) == 0 || strval(inputtext) < 1 || strval(inputtext) > 1000)
{
return ShowPlayerDialog(playerid, 5255, DIALOG_STYLE_INPUT, "Ââîä ïàðàìåòðà", "Ââåäèòå çíà÷åíèå", "Äàëåå", "Íàçàä");
}
mysql_format(DATABASE, QUERY, 128, "ALTER TABLE `accounts` ALTER COLUMN `pLevel` SET DEFAULT '%i'",strval(inputtext));
mysql_function_query(DATABASE,QUERY,false,"","");
SendMes(playerid, -1, " Âû èçìåíèëè íà÷àëüíûé óðîâåíü ïðè ðåãèñòðàöèè íà %i", strval(inputtext));
}
else if(GetPVarInt(playerid, "serverBonus") == 1) // pBank
{
if(strlen(inputtext) == 0 || strval(inputtext) < 0 || strval(inputtext) > 999999999)
{
return ShowPlayerDialog(playerid, 5255, DIALOG_STYLE_INPUT, "Ââîä ïàðàìåòðà", "Ââåäèòå çíà÷åíèå", "Äàëåå", "Íàçàä");
}
mysql_format(DATABASE, QUERY, 128, "ALTER TABLE `accounts` ALTER COLUMN `pBank` SET DEFAULT '%i'",strval(inputtext));
mysql_function_query(DATABASE,QUERY,false,"","");
SendMes(playerid, -1, " Âû èçìåíèëè íà÷àëüíûå äåíüãè â áàíêå ïðè ðåãèñòðàöèè íà %i", strval(inputtext));
}
else if(GetPVarInt(playerid, "serverBonus") == 2) // pCash
{
if(strlen(inputtext) == 0 || strval(inputtext) < 0 || strval(inputtext) > 999999999)
{
return ShowPlayerDialog(playerid, 5255, DIALOG_STYLE_INPUT, "Ââîä ïàðàìåòðà", "Ââåäèòå çíà÷åíèå", "Äàëåå", "Íàçàä");
}
mysql_format(DATABASE, QUERY, 128, "ALTER TABLE `accounts` ALTER COLUMN `pCash` SET DEFAULT '%i'",strval(inputtext));
mysql_function_query(DATABASE,QUERY,false,"","");
SendMes(playerid, -1, " Âû èçìåíèëè íà÷àëüíûå äåíüãè íà ðóêàõ ïðè ðåãèñòðàöèè íà %i", strval(inputtext));
}
SetTimerEx("ServerBonus" , 250, false, "i", playerid);
}
Последнее редактирование:
