Hello.
Ez az elsõ \"scriptem\" és kéne benne egy kis segítség. Úgyanis elvan csúszva, ezt arra értem, ha a Desert-re kattintok nem csinál semmit, de ha az MP5-re akkor adja a Desertet, ha Ak-47-re akkor az MP5-öt...És Így tovább.
if (strcmp(\"/fegyverek\", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, DIALOG_1, DIALOG_STYLE_LIST, \"Fegyverek\", \"\\nDesert Eagle 2000$\\nMP5 2500$\\nAK-47 3000$\\nM4 4000$\\nTec-9 3500$\\nMicro SMG 3500$\", \"Rendben\", \"Kilép\");
return 1;
}
if(dialogid == DIALOG_1)
{
if(response)
{
if(listitem == 1) //ha rákattintasz az 1. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 2000)
{
GivePlayerMoney(playerid, -2000);
GivePlayerWeapon(playerid, 24, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
if(listitem == 2) //ha rákattintasz az 2. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 2500)
{
GivePlayerMoney(playerid, -2500);
GivePlayerWeapon(playerid, 29, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
if(listitem == 3) //ha rákattintasz az 2. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 3000)
{
GivePlayerMoney(playerid, -3000);
GivePlayerWeapon(playerid, 30, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
if(listitem == 4) //ha rákattintasz az 4. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 4000)
{
GivePlayerMoney(playerid, -4000);
GivePlayerWeapon(playerid, 31, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
if(listitem == 5) //ha rákattintasz az 5. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 3500)
{
GivePlayerMoney(playerid, -3500);
GivePlayerWeapon(playerid, 32, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
if(listitem == 6) //ha rákattintasz az 6. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 3500)
{
GivePlayerMoney(playerid, -3500);
GivePlayerWeapon(playerid, 28, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
}
}else{//ellentétben
SendClientMessage(playerid, 0x400000FF, \"Kiléptél a dialogból\");
}
Igen mivel,az elsõ listitem az 0.
if(dialogid == DIALOG_1)
{
if(response)
{
if(listitem == 0) //ha rákattintasz az 1. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 2000)
{
GivePlayerMoney(playerid, -2000);
GivePlayerWeapon(playerid, 24, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
if(listitem == 1) //ha rákattintasz az 2. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 2500)
{
GivePlayerMoney(playerid, -2500);
GivePlayerWeapon(playerid, 29, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
if(listitem == 2) //ha rákattintasz az 2. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 3000)
{
GivePlayerMoney(playerid, -3000);
GivePlayerWeapon(playerid, 30, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
if(listitem == 3) //ha rákattintasz az 4. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 4000)
{
GivePlayerMoney(playerid, -4000);
GivePlayerWeapon(playerid, 31, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
if(listitem == 4) //ha rákattintasz az 5. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 3500)
{
GivePlayerMoney(playerid, -3500);
GivePlayerWeapon(playerid, 32, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
if(listitem == 5) //ha rákattintasz az 6. gombra mi történjen....
{
if(GetPlayerMoney(playerid) >= 3500)
{
GivePlayerMoney(playerid, -3500);
GivePlayerWeapon(playerid, 28, 2000);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, \"Nincs ennyi pénzed!\");
}
}
}
}else{//ellentétben
SendClientMessage(playerid, 0x400000FF, \"Kiléptél a dialogból\");
}
Szerintem jobb megoldás a switch.
Példa:
switch(listitem)
{
case 0:
{
// Mi történjen ha az elsõre kattint.
}
case 1:
{
//mi történjen ha a másodikra... etc
}
}