Guest Frodo Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 Zdravím, v tomhle tutoriálu si ukážeme jak pracovat s Checkpointy (Dále jen CP). Existují ješte RaceCheckpointy, ale o nich někdy jindy, ted se zamerime na ty "obycejne" x) !!!! PAMATUJTE SI !!!! [*:lddzfok8] CP může být vytvořen VŽDY jen JEDEN !! 1. Část - vysvětlení funkce SetPlayerCheckpoint - Vytvoří CP SetPlayerCheckpoint(playerid,Float:x,Float:y,Float:z,Float:size); playerid - To znáte, určuje komu se funkce vyvolá. Float:x, y, z - Určuje souřadnice, kde se CP vytvoří. Float:size - Určuje velikost CP. DisablePlayerCheckpoint - Zruší hráči CP DisablePlayerCheckpoint(playerid); playerid - To znáte, určuje komu se funkce vyvolá. 2. Část - Vyvolání funkcí, když hráč použije CP Vstupování K tomu nám slouží public OnPlayerEnterCheckpoint - Když Hráč Vstoupí do CP. Vystupování K tomu nám slouží public OnPlayerLeaveCheckpoint - Když Hráč vystoupí z CP. 3. Část - kombinace více CP Pokud chceme kombinovat více CP, třeba při závodě nebo při misi, musíme použít proměnu. Vytvoříme si tedy proměnu pro hráče (dáme nahoru pod definice/includy) new cp[MAX_PLAYERS]; MAX_PLAYERS určuje pro kolik hráčů se tato definice vytvoří, můžete použít vlastní definici (MAX_PLAYERS_EX atd.) Máme tedy proměnou a můžeme začít kombinovat x) Do příkazu, nebo tam kde chceme aby se spustil první CP vložíme tento kod: SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0); cp[playerid] = 0; SetPlayerCheckpoint - Vytvoří CP (viz. 1 část) cp[playerid] = 0; - Nastaví proměnu na 0 aby jsme s ní mohli pracovat později. A přejdeme do našeho publicu OnPlayerEnterCheckpoint public OnPlayerEnterCheckpoint(playerid) { return 1; } Takto nějak ted vypadá náš public, ale my ho upravíme ! x) public OnPlayerEnterCheckpoint(playerid) { switch(cp[playerid]) // "přehazuje" hodnotu proměny, nevím jak nazvat. { case 0: // Když je hodnota cp[playerid] 0 vyvolá se case 0 { DisablePlayerCheckpoint(playerid); // zruší CP cp[playerid]++; // přidáme hodnotu aby se nám furt neopakovalo case 0 SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0); // vytvoříme druhý checkpoint } case 1: // a pokracujeme { DisablePlayerCheckpoint(playerid); cp[playerid]++; SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0); } case 2: // az se dostaneme na konec závodu a tam vložíme { cp[playerid] = 0; // aby hráč mohl znova absolvovat závod DisablePlayerCheckpoint(playerid); // zruší CP SendClientMessage(playerid, BARVA, "Vyhrál si huaaa xD"); } } return 1; } 4. Část - Podmínka Pokud je hráč v Checkpointu - IsPlayerInCheckpoint if(IsPlayerInCheckpoint(playerid)) { } 5. Část - Závěr Wikipedie: http://wiki.sa-mp.com/wiki/SetPlayerCheckpoint http://wiki.sa-mp.com/wiki/DisablePlayerCheckpoint http://wiki.sa-mp.com/wiki/IsPlayerInCheckpoint http://wiki.sa-mp.com/wiki/OnPlayerEnterCheckpoint http://wiki.sa-mp.com/wiki/OnPlayerLeaveCheckpoint Děkuji za přečtení tutoriálu, popřípadné chyby hlašte. Link to comment Share on other sites More sharing options...
Danny 37 Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 pekný tut určite použijem do kúpaliska Link to comment Share on other sites More sharing options...
Vidie 5 Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 celkem super.... Link to comment Share on other sites More sharing options...
Guest Punkevník Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 uz to tu je ale inak 8/10 Link to comment Share on other sites More sharing options...
Danny 37 Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 není... možno ak ano ale pekne vysvetlené je toto Link to comment Share on other sites More sharing options...
Guest [BJ]boban88 Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 lol david vidim ze si sa pekne musel nudit vsetky tie linky atd ale inac super vysvetlene 10/10 :thumbup: :thumbup: Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 Dekuji vsem x) uz to tu je ale inak 8/10 Toto je podle tebe TuT? http://pawno.cz/viewtopic.php?f=8&t=3637&hilit=Checkpoint A ostatni jsou prevazne jen na ridicak. Link to comment Share on other sites More sharing options...
Guest [BJ]boban88 Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 Dekuji vsem x) uz to tu je ale inak 8/10 Toto je podle tebe TuT? http://pawno.cz/viewtopic.php?f=8&t=3637&hilit=Checkpoint nj to je nejaka patlanina a ne TUT toto je TUT z velkym T Link to comment Share on other sites More sharing options...
Guest Conner Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 Výborní TuT. Suprově si to vysvětlil. Začátečníkům určitě pomůže. 10/10 :-) Link to comment Share on other sites More sharing options...
Guest Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 wtf ? public OnPlayerEnterCheckpoint(playerid) { switch(cp[playerid]) // "přehazuje" hodnotu proměny, nevím jak nazvat. { case 0: // Když je hodnota cp[playerid] 0 vyvolá se case 0 { DisablePlayerCheckpoint(playerid); // zruší CP cp[playerid]++; // přidáme hodnotu aby se nám furt neopakovalo case 0 SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0); // vytvoříme druhý checkpoint } case 1: // a pokracujeme { DisablePlayerCheckpoint(playerid); cp[playerid]++; SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0); } case 2: // az se dostaneme na konec závodu a tam vložíme { cp[playerid] = 0; // aby hráč mohl znova absolvovat závod DisablePlayerCheckpoint(playerid); // zruší CP SendClientMessage(playerid, BARVA, "Vyhrál si huaaa xD"); } } return 1; } toto sa používa pri RACE CP a nie pri ako ty hovoríš obyčajných na toto sa "obyčajné" nepoužívajú. je to nepekné ak sa pri race používa obyčajný CP... mohol si tam dať npr. povolanie alebo niečo ale nie Race... Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 Jaj bug xD Tuhle cast sem do toho tutu chtel vlozit jen pro ty co nevi jak se dela takhle tech vic CP za sebou protoze se me na to uz 5 lidi ptalo. Mas pravdu s tim SetPlayerRaceCheckpoint ale me to nedoslo Link to comment Share on other sites More sharing options...
Guest Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 zabudol si napísať jednu dôležitú vec ! dopíš ju Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 zabudol si napísať jednu dôležitú vec ! dopíš ju Doplneno x) Jo a BTW u toho switch - tak to se nemusi pouzivat jen k Race ale treba k misim kdyz ja nevim treba mas cisticku silnic tak das 6 CP za sebou a prece do toho nebudes cpat zavodni CP Link to comment Share on other sites More sharing options...
Danny 37 Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 kam mám vložiť to if(IsPlayerInCheckpoint(playerid)) { } ? Link to comment Share on other sites More sharing options...
Guest Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 prečo nie ? to iba wtsa tam dalo obyčajný ale race ti ukazuje hned kde je další a tak vieš kade máš ísť... to by bolo kebyže svet funguje na tento system by si sa dozvedel kade máš ísť až ked budeš tam (npr. beusáci (MHD xD)) si predstav že ti povedia kde je dalšia zastávka až ked si na tej pred nou xD Dano106 do riti si to strč Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 kam mám vložiť to if(IsPlayerInCheckpoint(playerid)) { } ? To je podmínka PokudJeHráč v CP, takže jak potřebuješ, do timeru atd. do OnPlayerEnterCheckpoint to davat nemusis protoze ten public se spusti JEN kdyz hrac vstoupil do CP. -- 11 říj 2010, 19:57 -- prečo nie ? to iba wtsa tam dalo obyčajný ale race ti ukazuje hned kde je další a tak vieš kade máš ísť... to by bolo kebyže svet funguje na tento system by si sa dozvedel kade máš ísť až ked budeš tam (npr. beusáci (MHD xD)) si predstav že ti povedia kde je dalšia zastávka až ked si na tej pred nou xD Chápu ale ty jsi říkal ŽE SE POUŽÍVÁ JEN RACE CP, tak ti to vyvracim xD Link to comment Share on other sites More sharing options...
Danny 37 Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 mne to nechce najsť public OnPlayerEnterCheckpoint(playerid) { return 1; } Link to comment Share on other sites More sharing options...
Guest Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 klameš ! som napísal že sa nepoužívajú, lebo je to nepekné ! Link to comment Share on other sites More sharing options...
Sweet 7 Odesláno: 11. Říjen, 2010 Share Odesláno: 11. Říjen, 2010 mne to nechce najsť public OnPlayerEnterCheckpoint(playerid) { return 1; } wtf? normalne to zkopiruj do modu a jen to vypln funkcemi...... Link to comment Share on other sites More sharing options...
C3RN3J 0 Odesláno: 15. Říjen, 2010 Share Odesláno: 15. Říjen, 2010 Dobry tut ,ale pro me moc dlouhy sem na to moc liny ted to nepotrebuji mozna dam za mesic Link to comment Share on other sites More sharing options...
Danny 37 Odesláno: 11. Listopad, 2010 Share Odesláno: 11. Listopad, 2010 lidi fakt potrebujem help... mne to nechce nájsť public OnPlayerEnterCheckpoint(playerid) povdstaťe vypíše že sa nenašiel text david helpni Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 11. Listopad, 2010 Share Odesláno: 11. Listopad, 2010 LOL neumis zkopirovat public ? Bud z TuTu nebo z wiki public OnPlayerEnterCheckpoint(playerid) { return 1; } Link to comment Share on other sites More sharing options...
Danny 37 Odesláno: 11. Listopad, 2010 Share Odesláno: 11. Listopad, 2010 a kde mám dať tú podmienku? if(IsPlayerInCheckpoint(playerid)) { } a to ked dám napr takto... public OnPlayerEnterCheckpoint(playerid) { Ban(playerid); DisablePlayerCheckpoint(playerid); return 1; } tak to je čo? to je niečo iné ako tá podminenka? toto nechápem potrebujem help ešte toto bi si my vysvetlil? Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 11. Listopad, 2010 Share Odesláno: 11. Listopad, 2010 if(IsPlayerInCheckpoint(playerid)) Si muzes dat kamkoliv, neni povinna. Je to treba kdyz si das timer kterej zjistuje jestli si v CP tak tam musis dat tuhle podminku, ale do OnPlayerEnterCheckpoint ji davat nemusis protoze public se spusti kdyz do nej vleze, tudiz v tom CP musi bejt Link to comment Share on other sites More sharing options...
Danny 37 Odesláno: 11. Listopad, 2010 Share Odesláno: 11. Listopad, 2010 takze staci OnPlayerEnterCheckpoint ked do nej vojde tak mu to da? Link to comment Share on other sites More sharing options...
Recommended Posts