PR0T0TYP3 0 Odesláno: 20. Únor, 2012 Share Odesláno: 20. Únor, 2012 Čaute. Dnes som sa rozhodol napawnit si carspawner, ale vyskytla sa menšia chyba: Pawn code: new Float:x, Float:y, Float:z; new vz0; OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/landstalker", true)) { GetPlayerPos(playerid, x, y, z); vz0 = CreateVehicle(400, x+2, y+1, z, 0, 0, 0, 9999999999999999999); //9999999999999 len aby nemizlo PutPlayerInVehicle(playerid, vz0, 0); SendClientMessage(playerid, 0xFF0000FF, "Spawnol si vozidlo: Landstalker, jeho id je 400, tuninguje sa v Transfenderi"); return 1; } return 0; } OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/znicauta", true)) { DestroyVehicle(vz0); SendClientMessage(playerid, 0xFF0000FF, "Zničil si všetky spawnuté autá"); return 1; } Na tomto nieje asi nič zlé, ale keď idem do hry, napíšem /landstalker tak mi ho spawne, keď dam /znicauta, tak ho zničí, problém je až vtedy, keď napíšem /landstalker viac krát, zmaže iba naposledy vytvorené auto, mohli by ste mi s tým pomôčť? Ďakujem Link to comment Share on other sites More sharing options...
0 Hovnocuc 2 Odesláno: 20. Únor, 2012 Share Odesláno: 20. Únor, 2012 if(!strcmp(cmdtext, "/landstalker", true)) { if(vz0 != 0) return SendClientMessage(playerid, -1, "Máš už vytvořené jedno auto.."); GetPlayerPos(playerid, x, y, z); vz0 = CreateVehicle(400, x+2, y+1, z, 0, 0, 0, -1); PutPlayerInVehicle(playerid, vz0, 0); SendClientMessage(playerid, 0xFF0000FF, "Spawnol si vozidlo: Landstalker, jeho id je 400, tuninguje sa v Transfenderi"); return 1; } return 0; } if(!strcmp(cmdtext, "/znicauta", true)) { DestroyVehicle(vz0); vz0 = 0; SendClientMessage(playerid, 0xFF0000FF, "Zničil si všetky spawnuté autá"); return 1; } Link to comment Share on other sites More sharing options...
0 KarTooN 1 Odesláno: 20. Únor, 2012 Share Odesláno: 20. Únor, 2012 new vz0; to je účel, aby to bylo globální? //9999999999999 len aby nemizlo http://wiki.sa-mp.com/wiki/AddStaticVehicle Link to comment Share on other sites More sharing options...
0 matthewmatt 0 Odesláno: 20. Únor, 2012 Share Odesláno: 20. Únor, 2012 if(!strcmp(cmdtext, "/landstalker", true)) { if(vz0 != 0) return SendClientMessage(playerid, -1, "Máš už vytvořené jedno auto.."); GetPlayerPos(playerid, x, y, z); vz0 = CreateVehicle(400, x+2, y+1, z, 0, 0, 0, -1); PutPlayerInVehicle(playerid, vz0, 0); SendClientMessage(playerid, 0xFF0000FF, "Spawnol si vozidlo: Landstalker, jeho id je 400, tuninguje sa v Transfenderi"); return 1; } return 0; } if(!strcmp(cmdtext, "/znicauta", true)) { DestroyVehicle(vz0); vz0 = 0; SendClientMessage(playerid, 0xFF0000FF, "Zničil si všetky spawnuté autá"); return 1; } lenze on to chce mat na viac aut nie na jedno... Link to comment Share on other sites More sharing options...
0 KarTooN 1 Odesláno: 20. Únor, 2012 Share Odesláno: 20. Únor, 2012 Píše, že mu to zničí jen poslední vozidlo... udělej si podmínku na maximum aut a potom je tvoř do maxima... a zničíš je cyklusem Link to comment Share on other sites More sharing options...
0 duffman123 0 Odesláno: 20. Únor, 2012 Share Odesláno: 20. Únor, 2012 Píše, že mu to zničí jen poslední vozidlo... udělej si podmínku na maximum aut a potom je tvoř do maxima... a zničíš je cyklusem Nápad je to super, ale tvorca scriptu nieje dobrý pawner (poznám osobne), mohol by si sem tú podmienku dať? Link to comment Share on other sites More sharing options...
0 matthewmatt 0 Odesláno: 20. Únor, 2012 Share Odesláno: 20. Únor, 2012 alebo to sprav tak, ze ak v nom nikto nesedi uz nejaky cas tak sa samo vymaze.. Link to comment Share on other sites More sharing options...
0 Hovnocuc 2 Odesláno: 20. Únor, 2012 Share Odesláno: 20. Únor, 2012 if(!strcmp(cmdtext, "/landstalker", true)) { if(vz0 != 0) return SendClientMessage(playerid, -1, "Máš už vytvořené jedno auto.."); GetPlayerPos(playerid, x, y, z); vz0 = CreateVehicle(400, x+2, y+1, z, 0, 0, 0, -1); PutPlayerInVehicle(playerid, vz0, 0); SendClientMessage(playerid, 0xFF0000FF, "Spawnol si vozidlo: Landstalker, jeho id je 400, tuninguje sa v Transfenderi"); return 1; } return 0; } if(!strcmp(cmdtext, "/znicauta", true)) { DestroyVehicle(vz0); vz0 = 0; SendClientMessage(playerid, 0xFF0000FF, "Zničil si všetky spawnuté autá"); return 1; } lenze on to chce mat na viac aut nie na jedno... Tak musí nastavit tu proměnnou všem těm spawnutém autům a při zničení vytvořit cyklus kterej zničí všechny promenné. new auto[50]; new pocet; if(..prikaz na vytvoreni..) { auto[pocet] = CreateVehicle(..); pocet ++ } if(..prikaz na zniceni..) { for(new i=0;i<50;i++) if(auto[i]) DestroyVehicle(auto[i]); pocet=0; } Melo by to byt spravne. Pokuď chceš podmínku třeba na max. 50 aut tak if(pocet == 50) return SCM(pid, -1, "Je vytvořeno 50 aut, musís je smazat."); Link to comment Share on other sites More sharing options...
0 Guest Odesláno: 20. Únor, 2012 Share Odesláno: 20. Únor, 2012 new vz0; to je účel, aby to bylo globální? //9999999999999 len aby nemizlo http://wiki.sa-mp.com/wiki/AddStaticVehicle :thumbup: to je v skutku geniálny nápad by to bol, kebyže sa dá statický objekt zničiť Je tu viac variácii.... ukážem pár #define MAX_MOJICH_VOZIDIEL 500 new Auto[MAX_MOJICH_VOZIDIEL] = {-1,...}; //vytvoríme pole premien a každej nastavíme hodnotu "-1" stock GetFreeVehicleSlot(){ for(new i; i < MAX_MOJICH_VOZIDIEL+1;i++){ if(Auto[i] == -1) return i; } return -1; // žiadne auto není volné = treba najprv zmazať } if(!strcmp(cmdtext, "/landstalker", true)) { GetPlayerPos(playerid, x, y, z); new slot = GetFreeVehicleSlot(); if(slot == -1) return SendClientMessage(playerid, 0xFF0000FF, "Uz mas spawnutých vela áut, musíš ich zničiť"); Auta[slot] = CreateVehicle(400, x+2, y+1, z, 0, 0, 0, -1); PutPlayerInVehicle(playerid, vz0, 0); SendClientMessage(playerid, 0xFF0000FF, "Spawnol si vozidlo: Landstalker, jeho id je 400, tuninguje sa v Transfenderi"); return 1; } if(!strcmp(cmdtext, "/znicauta", true)) { for(new i; i < MAX_MOJICH_VOZIDIEL+1;i++){ if(Auto[i] == -1) break; DestroyVehicle(Auto[i]); } SendClientMessage(playerid, 0xFF0000FF, "Zničil si všetky spawnuté autá"); return 1; } return 0; } Alebo si spraviť aj premenu... ale to, ako vidím, ma už predbehol čokoládový brat... Link to comment Share on other sites More sharing options...
0 PR0T0TYP3 0 Odesláno: 21. Únor, 2012 Author Share Odesláno: 21. Únor, 2012 Vsem dakujem za pomoc . Link to comment Share on other sites More sharing options...
Dotaz
PR0T0TYP3 0
Čaute.
Dnes som sa rozhodol napawnit si carspawner, ale vyskytla sa menšia chyba:
Pawn code:
Na tomto nieje asi nič zlé, ale keď idem do hry, napíšem /landstalker tak mi ho spawne, keď dam /znicauta,
tak ho zničí, problém je až vtedy, keď napíšem /landstalker viac krát, zmaže iba naposledy vytvorené auto,
mohli by ste mi s tým pomôčť? Ďakujem
Link to comment
Share on other sites
9 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now