McFree
Ученик
Вопрос такой, как исправить ошибки:
Которые показываются в каждом кейсе
Команда открытия Диалога:
Переход к другим диалогам смотря от выбора :
Заранее благодарю за помощь! "+" кину сразу же как заработает
PHP:
D:\Samp\***\***\gamemodes\test.pwn(13162) : error 017: undefined symbol "i"
D:\Samp\***\***\gamemodes\test.pwn(13162) : error 006: must be assigned to an array
Команда открытия Диалога:
PHP:
if(!strcmp(cmd, "/setstat", true))
{
if(pData[playerid][pAdmin] < 6) return SendClientMessage(playerid,CGRAY,"Ваш уровень администратора не достаточен");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, CGRAY, "/setstat [ID игрока]");
return true;
}
new i = strval(tmp);
if(!IsPlayerConnected(i)) return SendClientMessage(playerid, CGRAY, "Указанный игрок не найден");
new listitems[] = "[1] Пол\n[2] Возраст\n[3] Работу\n[4] Одежду(скин)\n[5] Деньги\n[6] Сумму в банке\n[7] Уровень\n[8] Опыт(EXP)\n[9] Номер телефона\n[10] Наркотики\n[11] Патроны\n[12] Материалы";
ShowPlayerDialog(playerid,dSetstat,DIALOG_STYLE_LIST,"Что вы хотите изменить?",listitems,"Выбрать","Закрыть");
return true;
}
Переход к другим диалогам смотря от выбора :
PHP:
case dSetstat:
{
if(!response) return true;
switch(listitem)
{
case 0:
{
new listitems[] = "Мужской \nЖенский";
ShowPlayerDialog(playerid,dSetstat1,DIALOG_STYLE_LIST,"Изменить пол:",listitems,"Выбрать","Закрыть");
}
case 1:
{
new zStr[100];
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid,dSetstat2,DIALOG_STYLE_INPUT,"Изменить возраст:","Возраст от 16 до 110","Выбрать","Закрыть");
return 1;
}
pData[i][pAge] = inputtext;
UpdatePlayerData(i,"age",pData[i][pAge]);
format(zStr, 100, "Вы успешно изменили возраст %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 2:
{
new listitems[] = "[1] Водитель автобуса\n[2] Дальнобойщик\n[3] Таксист\n[4] Механик\n[5] Развозчик товаров";
ShowPlayerDialog(playerid,dSetstat3,DIALOG_STYLE_LIST,"Изменить место работы:",listitems,"Выбрать","Закрыть");
}
case 3:
{
new zStr[100];
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid,dSetstat4,DIALOG_STYLE_INPUT,"Изменить скин:","От 1 до 299","Выбрать","Закрыть");
return 1;
}
pData[i][pSkin] = inputtext;
UpdatePlayerData(i,"skin",pData[i][pSkin]);
format(zStr, 100, "Вы успешно изменили скин игроку %s", Name2(i));
if(!pData[i][pFraction]) SetPlayerSkin(i, value);
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 4:
{
new zStr[100];
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid,dSetstat5,DIALOG_STYLE_INPUT,"Изменить деньги:","Введите сумму","Выбрать","Закрыть");
return 1;
}
format(zStr, 100, "Вы успешно изменили количество денег %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
pData[i][pMoney] = inputtext;
ResetPlayerMoney(i); GivePlayerMoney(i,pData[i][pMoney]);
UpdatePlayerData(i,"money",pData[i][pMoney]);
}
case 5:
{
new zStr[100];
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid,dSetstat6,DIALOG_STYLE_INPUT,"Изменить деньги в банке:","Введите сумму","Выбрать","Закрыть");
return 1;
}
pData[i][pBank] = inputtext;
UpdatePlayerData(i,"bank",pData[i][pBank]);
format(zStr, 100, "Вы успешно изменили количество денег в банке %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 6:
{
new zStr[100];
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid,dSetstat7,DIALOG_STYLE_INPUT,"Изменить уровень:","Введите число","Выбрать","Закрыть");
return 1;
}
pData[i][pLevel] = inputtext;
SetPlayerScore(i, inputtext);
UpdatePlayerData(i,"level",pData[i][pLevel]);
format(zStr, 100, "Вы успешно изменили уровень игрока %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 7:
{
new zStr[100];
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid,dSetstat8,DIALOG_STYLE_INPUT,"Изменить опыт(EXP):","Введите число","Выбрать","Закрыть");
return 1;
}
pData[i][pExp] = inputtext;
UpdatePlayerData(i,"exp",pData[i][pExp]);
format(zStr, 100, "Вы успешно изменили EXP игрока %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 8:
{
new zStr[100];
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid,dSetstat9,DIALOG_STYLE_INPUT,"Изменить номер телефона:","Введите номер","Выбрать","Закрыть");
return 1;
}
pData[i][pPhone] = inputtext;
UpdatePlayerData(i,"phone",pData[i][pPhone]);
format(zStr, 100, "Вы успешно изменили номер телефона %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 9:
{
new zStr[100];
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid,dSetstat10,DIALOG_STYLE_INPUT,"Изменить количество нарко:","Введите количество","Выбрать","Закрыть");
return 1;
}
pData[i][pDrugs] = inputtext;
UpdatePlayerData(i,"drugs",pData[i][pDrugs]);
format(zStr, 100, "Вы успешно изменили количество наркотиков у %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 10:
{
new zStr[100];
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid,dSetstat11,DIALOG_STYLE_INPUT,"Изменить количество патрон:","Введите количество","Выбрать","Закрыть");
return 1;
}
pData[i][pAmmo] = inputtext;
UpdatePlayerData(i,"ammo",pData[i][pAmmo]);
format(zStr, 100, "Вы успешно изменили количество патрон у %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 11:
{
new zStr[100];
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid,dSetstat11,DIALOG_STYLE_INPUT,"Изменить количество металла:","Введите количество","Выбрать","Закрыть");
return 1;
}
pData[i][pGunAmount] = inputtext;
UpdatePlayerData(i,"gunamount",pData[i][pGunAmount]);
format(zStr, 100, "Вы успешно изменили количество металла у %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
}
return true;
}
case dSetstat1:
{
if(!response) return true;
switch(listitem)
{
case 0:
{
new zStr[100];
pData[i][pSex] = 1;
UpdatePlayerData(i,"sex",pData[i][pSex]);
format(zStr, 100, "Вы успешно изменили пол %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 1:
{
new zStr[100];
pData[i][pSex] = 2;
UpdatePlayerData(i,"sex",pData[i][pSex]);
format(zStr, 100, "Вы успешно изменили пол %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
}
return true;
}
case dSetstat3:
{
if(!response) return true;
switch(listitem)
{
case 0:
{
pData[i][pJob] = 1;
UpdatePlayerData(i,"job",pData[i][pJob]);
format(zStr, 100, "Вы успешно изменили место работы %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 1:
{
pData[i][pJob] = 2;
UpdatePlayerData(i,"job",pData[i][pJob]);
format(zStr, 100, "Вы успешно изменили место работы %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 2:
{
pData[i][pJob] = 3;
UpdatePlayerData(i,"job",pData[i][pJob]);
format(zStr, 100, "Вы успешно изменили место работы %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 3:
{
pData[i][pJob] = 4;
UpdatePlayerData(i,"job",pData[i][pJob]);
format(zStr, 100, "Вы успешно изменили место работы %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
case 4:
{
pData[i][pJob] = 5;
UpdatePlayerData(i,"job",pData[i][pJob]);
format(zStr, 100, "Вы успешно изменили место работы %s", Name2(i));
SendClientMessage(playerid, COLOR_LIGHTRED, zStr);
}
}
return true;
}
