Baseball 2 Odesláno: 23. Květen, 2015 Share Odesláno: 23. Květen, 2015 Prošel jsem snad všechny TuT a polovinu HELP a nikde jsem nenašel jak udělat když dám třeba /zab [id_hráče] aby to dalo jemu.. (ten příkaz je jen výmysl co mě teď napadl) aby to zabylo jeho a né mě.. Děkuji Link to comment Share on other sites More sharing options...
0 The hidden face 77 Odesláno: 23. Květen, 2015 Share Odesláno: 23. Květen, 2015 (upraveno) Příkaz // tu si vytvoř příkaz nevím, co používáš jestli zcmd nebo dcmd... { if(IsPlayerConnected(playerid)) //podmínka, zda je hráč připojený { new id = strval(params); //nová proměnná, která se rovná hodnotě, kterou zadáš za příkaz, jednoduší pro tebe bude asi použít sscanf if(!strlen(params) || strlen(params)>3) return SendClientMessage(playerid,-1,"Použití: /zab [ ID ]"); //pokud nic nezadá za příkaz nebo pokud je text, který zadal delší než 3 --> v samp můžeš mít myslím 500 slotů --> takže délka 3 else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"Hráč se zadaným ID není na serveru !"); //pokud není hráč (id) připojený else{ SetPlayerHeal(id, 0.0) // hráči nastavíš život na 0 } } return 1; } Edited 23. Květen, 2015 by D@ndys Link to comment Share on other sites More sharing options...
0 Baseball 2 Odesláno: 23. Květen, 2015 Author Share Odesláno: 23. Květen, 2015 (upraveno) Dík moc //edit: Tak teď jsem to chtěl dát na nastevní a. levelu ale nefunguje.. (OnPlayerCommandText) if(strcmp(cmdtext,"/setadmin",true,5) == 0) { new id = strval(cmdtext); new string[256]; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "Nedostatečné oprávnění!"); if(IsPlayerConnected(playerid)) { if(!strlen(cmdtext)) return SendClientMessage(playerid, 0xFF0000AA, "Napiš /SetAdmin [id_hráče]"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"Hráč se zadaným ID není on-line"); else { format(string, 200, "Administrátor {FFFFFF}%s {FF0000}dal administrační level hráči {FFFFFF}%s{FF0000}. ",Meno(playerid), Meno(id)); SendClientMessageToAll(0xff0000AA, string); AdminLevel[id] = 1; } } return 1; } Kdyžtak bych byl rád i za nějaké ty rady ohledně celého toho nastavování. Edited 24. Květen, 2015 by Baseball Link to comment Share on other sites More sharing options...
0 LukasB 0 Odesláno: 24. Květen, 2015 Share Odesláno: 24. Květen, 2015 daj si to do ZCMD - pojde to rychlejšie Link to comment Share on other sites More sharing options...
0 Baseball 2 Odesláno: 24. Květen, 2015 Author Share Odesláno: 24. Květen, 2015 se ZCMD nepracuji, čím méně includů tím lepší pro mód. Link to comment Share on other sites More sharing options...
0 The hidden face 77 Odesláno: 24. Květen, 2015 Share Odesláno: 24. Květen, 2015 Zkus tohle, já jsem ti poslal variantu pro dcmd, zde máš i pro strcmp. http://wiki.sa-mp.com/wiki/Fast_Commands Link to comment Share on other sites More sharing options...
0 Administrátor Ewwe 434 Odesláno: 24. Květen, 2015 Administrátor Share Odesláno: 24. Květen, 2015 se ZCMD nepracuji, čím méně includů tím lepší pro mód. :D Né sorry... Ale je to kravina... Link to comment Share on other sites More sharing options...
0 Kubko 22 Odesláno: 24. Květen, 2015 Share Odesláno: 24. Květen, 2015 (upraveno) Includ sa vkompiluje do módu, takže keď nejaký máš tak to je "súčasť tvojho módu" Druhá vec je ako je ten includ napisaný a aké má použitie. V tomto prípade je ZCMD lepšie a rýchlejšie ako kontrolovať príkazy pomocou strcmp, pretože používa while a veľmi jednoducho odfiltruje params pomocou premennej. Takže tu sa zcmd určite oplatí. Lenže: Ked si zoberieš includy ako dini a pod. sú určené na zjednodušenie tvojej práce, ale zároveň používajú všetky funkcie ktore môžeš použiť aj sám. To znamená, že dini využíva len tie funkcie ktoré ti SA:MP dal, napr tiež musí použiť fopen aby dini otvoril súbor. Aby si pochopil: Ja nepotrebujem mať spravený zápis v INI štýle, mne stačí klasický súbor ale ak ti nejaký includ na súbory uľahčí pracu tak ho kludne použi, tých pár ms je zanedbateľné číslo.. Edited 24. Květen, 2015 by Sanios Link to comment Share on other sites More sharing options...
0 ATomas 291 Odesláno: 25. Květen, 2015 Share Odesláno: 25. Květen, 2015 (upraveno) if(strcmp(cmdtext,"/setadmin",true,9) == 0) { new id = strval(cmdtext[9]); if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Nedostatečné oprávnění!"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"Hráč se zadaným ID není on-line"); else { new string[144]; format(string,sizeof(string),"Administrátor {FFFFFF}%s {FF0000}dal administrační level hráči {FFFFFF}%s{FF0000}.",Meno(playerid),Meno(id)); SendClientMessageToAll(0xff0000AA,string); AdminLevel[id] = 1; } return 1; } tých pár ms je zanedbateľné číslo.. V online hrach nelze zanedbavat zadne ms. Asi uznas jestli je rozdil mit ping 25 a 100 Ked si zoberieš includy ako dini a pod. sú určené na zjednodušenie tvojej práce, ale zároveň používajú všetky funkcie ktore môžeš použiť aj sám. To znamená, že dini využíva len tie funkcie ktoré ti SA:MP dal, napr tiež musí použiť fopen aby dini otvoril súbor. Aby si pochopil: ZCMD je take postavene pouze na sa-mp funkcich, stejne jako dini Edited 25. Květen, 2015 by ATomas Link to comment Share on other sites More sharing options...
0 Kubko 22 Odesláno: 25. Květen, 2015 Share Odesláno: 25. Květen, 2015 (upraveno) Čo má ping spoločné s dĺžkou zápisu súboru? Hráč niečo spraví spustí nejaký zápis a potom to už je všetko len o scripte. Ping je len odozva medzi clientom a serverom. Povecme že hráč vyvolá zápis pomocou nejakého príkazu /zapis a ping zohrá rolu v MS len medzi obdobím OD zadania prikazu dokym to server zanamena takže čas koľko trvá vykonať script a ping je dosť rozdiel. Áno ZCMD je tiež postavené na SA:MP funkciách konkrétne sa jedná cyklus while ktorý vyvolá požadovaný callback (Čo je vlastne ten COMMAND:prikaz) takže vo výsledku je to omnoho rýchlejšie ako stovky strcmp v OnPlayerCommandText. Edited 25. Květen, 2015 by Sanios Link to comment Share on other sites More sharing options...
0 Baseball 2 Odesláno: 26. Květen, 2015 Author Share Odesláno: 26. Květen, 2015 ATome, díky zámek Link to comment Share on other sites More sharing options...
Dotaz
Baseball 2
Prošel jsem snad všechny TuT a polovinu HELP a nikde jsem nenašel jak udělat když dám třeba /zab [id_hráče] aby to dalo jemu.. (ten příkaz je jen výmysl co mě teď napadl) aby to zabylo jeho a né mě..
Děkuji
Link to comment
Share on other sites
10 odpovědí na tuto otázku
Recommended Posts