GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: ZyZu. - 2014. február 03. - 02:30:18

Cím: Munka parancsnál frakció lekérdezés
Írta: ZyZu. - 2014. február 03. - 02:30:18
Sziasztok!

Nem nagyon szoktam már írni ide mivel mindent megtalálok az interneten de most valahogy nem tudok rájönni és keresõben is beírtam de nem nagyon jöttem rá, hogy lehetséges megoldani ezt a több frakció lekérdezést. A problémám az lenne, hogy van nekem a szerveren 5 frakció és egy darabb /work parancs. Ha mondjuk beírom pilótaként a /work parancsot akkor elindítja a lekérdezést pilótaként és berakja nekem a CP -ket. De a probléma onnan kezdõdik ha lekérdezem mondjuk a Pilóta munkát ami 1 -es.. és lekérdezem a rendõrt is ami 2 -es frakció és beírom, hogy /work akkor az elsõt indítja el nem a másodikat. Szóval ha rendõr vagyok akkor kiírja az elsõ lekérdezésre, hogy nem vagyok pilóta.. ami nem nagyon jó. Nekem az kéne, hogy tudom lekérdezni az 5 frakciót 1 darabb /work parancsban? vagyis, hogy mindegyik munka a saját CP -jét kapja meg..?


Példa:

 

CMD:work( playerid, params[ ] )
{
         if( GetPVarInt( playerid, \"Frakcio\" ) == 1 )  // PILÓTA
         {
         // CP ELINDITÁS..
         // KOCSI ADÁS MONDJUK..
         } else { SendClientMessage( playerid, -1, \"Nem vagy pilóta.. stb..\" ); }
         if( GetPVarInt( playerid, \"Frakcio\" ) == 2 )  // RENDÕR
         {
         // CP ELINDÍTÁS
         // KOCSI ADÁS MONDJUK..
         } else { SendClientMessage( playerid, -1, \"Nem vagy rendõr.. stb..\" ); } 
         return 1;
}

 
Ha mondjuk így csinálom meg ami logikús, hogy hibás és az elsõnél megakad és kiírja nekem, hogy NEM VAGY PILÓTA de ha rendõr vagyok.. szóval a problémám ez lenne, hogy mindegyik frakció lekérdezésnél a saját munka CP -jét kérdezze le.
Cím: Munka parancsnál frakció lekérdezés
Írta: Dfoglalo - 2014. február 03. - 03:07:53
Majd valaki biztos benyögi a megoldást, de addig is: próbáld meg idegleinesen sima változókkal a dolgot (new Frakcio[MAX_PLAYERS];), és ha azzal jó, akkor a PVarokkal lesz gond, ugyanis a kód rendben van szerintem. Enmyit tudok egyenlõre segíteni, hogy ne csak tétlenül várd a megoldást, hanem próbáld meg ezt :D
Cím: Munka parancsnál frakció lekérdezés
Írta: ZyZu. - 2014. február 03. - 03:27:17

CMD:work( playerid, params[ ] )
{
 if( GetPVarInt( playerid, \"Frakcio\" ) == 2 ) {
 if( GetVehicleModel( GetPlayerVehicleID( playerid ) ) == PILOTA_VEHICLE ) {
 if( GetPVarInt( playerid, \"IsPlayerInMission\" ) == 1 ) return SendClientMessage( playerid, -1, \"{ff0000}Hiba: {ffffff}Már elindítottál egy munkát, elõbb fejezd be!\" );
 SendClientMessage( playerid, -1, \"Pilóta munka elindítva!\" );
 } }
 else if( GetPVarInt( playerid, \"Frakcio\" ) == 3 ) {
 if( GetVehicleModel( GetPlayerVehicleID( playerid ) ) == MENTOS_VEHICLE ) {
                 if( GetPVarInt( playerid, \"IsPlayerInMission\" ) == 1 ) return SendClientMessage( playerid, -1, \"{ff0000}Hiba: {ffffff}Már elindítottál egy munkát, elõbb fejezd be!\" );
 SendClientMessage( playerid, -1, \"Mentõs munka elindítva!\" );
 } }
 return 1;
}

 
Egy kicsit probáltam és sikerült minden! Gondolkoztam egy kicsit..  :D