Fr0st 23 Odesláno: 25. Srpen, 2012 Share Odesláno: 25. Srpen, 2012 Zdravím , všimol som si že veľa uživateľov chce mať na servery warpy ale nevedia ako na to ,tak som sa rozhodol spraviť na to TuT.. Začneme s DIALÓGMI : public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(warpy,5,cmdtext); return 0; } ======================================== Vysvetlenie dcmd(warpy,5,cmdtext); :: warpy - Názov príkazu 5 - Počet písmen ktorý ma príkaz cmdtext - znamená že je to cmd ... ======================================== Potom pôjdeme na príkaz takže : dcmd_warpy(playerid,params[]) { #pragma unused params ShowPlayerDialog(playerid,ID DIALÓGU,STYLE,"Nadpis","Položka 1\nPoložka 2\nPoložka 3","Response 1","Response 2"); return 1; } ======================================== Vysvetlenie #pragma unused params a ShowPlayerDialog(playerid,ID DIALÓGU,STYLE,"Nadpis","Položka 1\nPoložka 2\nPoložka 3","Response 1","Response 2"); :: #pragma unused params - zruší params takže nebude to príkaz /warpy ID ale len /warpy playerid - Hráč ktorému ukáže dialóg(hráč ktorý napíše /warpy) ID DIALÓGU - Môže by hocijaká číslica (Ale pozor nemôžu byť 2 čisla také isté napr.ShowPlayerDialog(playerid,250,.......) toto je prvý dialóg ShowPlayerDialog(playerid,250,.......) druhý dialóg .. takto to nemôže byť pretože by sa zjednocovali napr . klikneš na warpy a otvorí car systém .. STYLE - poznáme 4 štýly (DIALOG_STYLE_LIST,DIALOG_STYLE_MSGBOX,DIALOG_STYLE_INPUT,DIALOG_STYLE_PASSWORD), my budeme používať DIALOG_STYLE_LIST "Nadpis" - je to čo je úplne hore v dialógu "Položka 1-3" - Sú položky .. Napr . San Fierro\nLos Santos\nLas Venturas "Response 1" - Tlačidlo 1 "Response 2" - Tlačidlo 2 ======================================== Teraz pôjdeme na najhlavnejšiu časť OnDialogResponse : public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == ID DIALÓGU) { if(response == 1) { if(listitem == 0) { new string[128]; format(string,sizeof(string),"Hráč %s sa odwarpoval na Položku 1 !",PlayerName(playerid)); SetPlayerPos(playerid,X,Y,Z); SendClientMessage(playerid,FARBA,"Odwarpoval si sa na coordináty X,Y,Z"); SendClientMessageToAll(FARBA,string); } else if(listitem == 1) { new string[128]; format(string,sizeof(string),"Hráč %s sa odwarpoval na Položku 2 !",PlayerName(playerid)); SetPlayerPos(playerid,X,Y,Z); SendClientMessage(playerid,FARBA,"Odwarpoval si sa na coordináty X,Y,Z"); SendClientMessageToAll(FARBA,string); } else if(listitem == 2) { new string[128]; format(string,sizeof(string),"Hráč %s sa odwarpoval na Položku 3 !",PlayerName(playerid)); SetPlayerPos(playerid,X,Y,Z); SendClientMessage(playerid,FARBA,"Odwarpoval si sa na coordináty X,Y,Z"); SendClientMessageToAll(FARBA,string); } } } return 1; } ======================================== Vysvetlenie OnDialogResponse... :: if(dialogid == ID DIALÓGU) - Sem dáme ID dialógu ktorý sme si dali v ShowPlayerDialog... if(response == 1) - znamená že keď stlačíme Tlačítko 1 tak urobí akciu ak chcete tlačítko 2 (pravé) tak if(response == 2) if(listitem == 0) - toto je úplne prvý listitem v našom prípade Položka 1 new string[128]; - nanewujeme string format(string,sizeof(string),"Hráč %s sa odwarpoval na Položku 1 !",PlayerName(playerid)); - Naformatujeme správu (Namiesto PlayerName(playerid) si dajte svoje .. Napr Jmeno(playerid),Meno(playerid)) SetPlayerPos(playerid,X,Y,Z); - toto znamená že dá hráča na miesto (X,Y,Z zistíme v hre zadaním príkazu /save niečo , potom to nájdete v san andreas userfiles v savedposition.txt) SendClientMessage(playerid,FARBA,"Odwarpoval si sa na coordináty X,Y,Z"); -odošle správu tomu kto sa odwarpoval SendClientMessageToAll(FARBA,string); - Odošle naformatovanú správu string if(listitem == 1) - toto je druhý listitem v našom prípade Položka 2 // Na listitem 1 je to tak isto ako na listitem 0 if(listitem == 2) - toto je tretí listitem v našom prípade Položka 3 // Na listitem 2 je to tak isto ako na listitem 0 ======================================== To je všetko z dialógmi teraz na príkazy Príkazy : public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(sf,2,cmdtext); return 0; } ======================================== Vysvetlenie dcmd(sf,5,cmdtext); :: sf - Názov príkazu 2 - Počet písmen ktorý ma príkaz cmdtext - znamená že je to cmd ... ======================================== Potom pôjdeme na príkaz takže : dcmd_sf(playerid,params[]) { #pragma unused params new string[128]; format(string,sizeof(string),"Hráč %s sa odwarpoval Do SF !",PlayerName(playerid)); SetPlayerPos(playerid,X,Y,Z); SendClientMessage(playerid,FARBA,"Odwarpoval si sa na coordináty X,Y,Z"); SendClientMessageToAll(FARBA,string); return 1; } ======================================== Vysvetlenie príkazu dcmd_sf(playerid,params[]) #pragma unused params - zruší params takže nebude to príkaz /warpy ID ale len /warpy new string[128]; - nanewujeme string format(string,sizeof(string),"Hráč %s sa odwarpoval na Položku 1 !",PlayerName(playerid)); - Naformatujeme správu (Namiesto PlayerName(playerid) si dajte svoje .. Napr Jmeno(playerid),Meno(playerid)) SetPlayerPos(playerid,X,Y,Z); - toto znamená že dá hráča na miesto (X,Y,Z zistíme v hre zadaním príkazu /save niečo , potom to nájdete v san andreas userfiles v savedposition.txt) SendClientMessage(playerid,FARBA,"Odwarpoval si sa na coordináty X,Y,Z"); -odošle správu tomu kto sa odwarpoval SendClientMessageToAll(FARBA,string); - Odošle naformatovanú správu string ======================================== To je všetko dúfam že sa Mini & easy TuT páči PS : Možno tam bude nejaká chyba .. Link to comment Share on other sites More sharing options...
Guest Odesláno: 25. Srpen, 2012 Share Odesláno: 25. Srpen, 2012 naco dcmd Link to comment Share on other sites More sharing options...
Fr0st 23 Odesláno: 25. Srpen, 2012 Author Share Odesláno: 25. Srpen, 2012 naco dcmd Podľa mňa je to lepšie a hlavne prehladnejšie .. Link to comment Share on other sites More sharing options...
SirFisher 1 Odesláno: 25. Srpen, 2012 Share Odesláno: 25. Srpen, 2012 Niceone btw. DCMD je pro mě nejlepší Link to comment Share on other sites More sharing options...
Fr0st 23 Odesláno: 25. Srpen, 2012 Author Share Odesláno: 25. Srpen, 2012 Niceone btw. DCMD je pro mě nejlepší dík aj podľa mňa Link to comment Share on other sites More sharing options...
MartinHavo 14 Odesláno: 25. Srpen, 2012 Share Odesláno: 25. Srpen, 2012 ono je zbytočné robiť takto warpy, stráta času a veľa miesta to zaberá, ono by bolo lepšie spraviť rovno warp systém ako takto sa s týmto srať inak tutu je pekný ale zbvytočný pre mňa, možno to niekomu pomôže Link to comment Share on other sites More sharing options...
Fr0st 23 Odesláno: 25. Srpen, 2012 Author Share Odesláno: 25. Srpen, 2012 ono je zbytočné robiť takto warpy, stráta času a veľa miesta to zaberá, ono by bolo lepšie spraviť rovno warp systém ako takto sa s týmto srať inak tutu je pekný ale zbvytočný pre mňa, možno to niekomu pomôže jj warp systém je naj ale nováčikovia ešte také veci nevedia oni robia len takto .. a toto je tiež 100 % funkčné .. Link to comment Share on other sites More sharing options...
samko46 0 Odesláno: 15. Září, 2012 Share Odesláno: 15. Září, 2012 [chatimg][/chatimg super navod velmi mi pomohol Link to comment Share on other sites More sharing options...
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