Aha, és akkor úgy csináljam hogy
[pawn]if(GetPVarInt(playerid,\"Vehicle\") == 565)
{
SetPVarInt(playerid,\"RearBumper\",1150);
SetPVarInt(playerid,\"FrontBumper\",1153);
}
[/pawn]
Mondjuk igen. A lényeg abban van ha egy adott állítás igaz akkor ha nem szeretnéd hogy utána több vizsgálat legyen az egyszeri meghívás alkalmával ott zárod return utasítással, ami vissza térést jelent természetesen de az adott funkcióban lévõ tovább futást leállítja.
És a másik hogy feleslegesen használsz ennyi PVar-t, és sok helyen sokkal egyszerûbben meg lehet oldani dolgokat például egy switch case párost többszörösen egybe ágyazva is lehet használni és szintén ebben a részben is igaz hogy a ShowPlayerDialog nem fog megjelenni egyszer sem ha a játékosnál a \"Vehicle\" PVar egyenlõ 558, 559, 560, 561, 562, 565-el.
switch(listitem)
{
case 0:
{
if(GetPVarInt(playerid,\"Vehicle\") == 558) return SetPVarInt(playerid,\"Spoiler\",1164); // Uranus
else if(GetPVarInt(playerid,\"Vehicle\") == 559) return SetPVarInt(playerid,\"Spoiler\",1159); // Jester
else if(GetPVarInt(playerid,\"Vehicle\") == 560) return SetPVarInt(playerid,\"Spoiler\",1138); // Sultan
else if(GetPVarInt(playerid,\"Vehicle\") == 561) return SetPVarInt(playerid,\"Spoiler\",1060); // Stratum
else if(GetPVarInt(playerid,\"Vehicle\") == 562) return SetPVarInt(playerid,\"Spoiler\",1047); // Elegy
else if(GetPVarInt(playerid,\"Vehicle\") == 565) return SetPVarInt(playerid,\"Spoiler\",1049); // Flash
ShowPlayerDialog(playerid,DIALOG_BUMPER,DIALOG_STYLE_LIST,\"ArchAngelsVehicle lépés: 4\",\"Alien lökhárítók\\nX-Flow lökhárítók\",\"Kész\",\"Mégsem\");
}
case 1: { /* etc.. */ }
}
Én ezt a részt a következõképpen oldanám meg, ha marad ez a sok PVar dolog mivel én nem így írnám meg de nem ez a lényeg:
[pawn]
switch(listitem)
{
case 0:
{
switch(GetPVarInt(playerid,\"Vehicle\"))
{
case 558: SetPVarInt(playerid,\"Spoiler\",1164); // Uranus
case 559: SetPVarInt(playerid,\"Spoiler\",1159); // Jester
case 560: SetPVarInt(playerid,\"Spoiler\",1138); // Sultan
case 561: SetPVarInt(playerid,\"Spoiler\",1060); // Stratum
case 562: SetPVarInt(playerid,\"Spoiler\",1047); // Elegy
case 565: SetPVarInt(playerid,\"Spoiler\",1049); // Flash
}
ShowPlayerDialog(playerid,DIALOG_BUMPER,DIALOG_STYLE_LIST,\"ArchAngelsVehicle lépés: 4\",\"Alien lökhárítók\\nX-Flow lökhárítók\",\"Kész\",\"Mégsem\");
return 1; // És csak ide tennék egy return utasítást mivel ha kiválasztom ezt a listitemet ( case 0: )
//Akkor az adott PVar értékhez ( \"Vehicle\" ) képest beállítok egy értéket ( \"Spoiler\" )-re, és megjelenítek egy másik dialogot és további lefutás, ellenõrzés nem szükséges addig amíg nem választ valami mást a játékos tehát return 1;
}
case 1: { /* etc.. */ }
}
[/pawn]
Azt hiszem kicsit hosszúra sikeredett de remélem segíteni fog valamit.