ChimozuFu 0 Odesláno: 30. Květen, 2020 Share Odesláno: 30. Květen, 2020 Zdravím, mohl by mi někdo pomoct s /me a /do systémem? Nevím co mám dělat, nikde jsem nenašel dobrý tutoriál. Děkuji za odpověď Link to comment Share on other sites More sharing options...
1 Scydo 397 Odesláno: 2. Červen, 2020 Share Odesláno: 2. Červen, 2020 před 40 minutami, Janik22 said: #include <a_samp> #include <izcmd> #include <sscanf2> CMD:me(playerid, params[]) { new string[128], msg[128]; if(sscanf(params, "sz", msg)) return SendClientMessage(playerid,COLOR_RED, "[ ! ]: /me <text>"); format(string, sizeof(string), "*%s %s", GetName(playerid), msg); SendClientMessageToAll(COLOR_WHITE, string); return 1; } Takto to asi myslí Přidal jsi pro sscanf 2 části pole, které má fce rozdělit. Když potřebuji jen jeden parametr, tak pracuju s jediným parametrem: CMD:me(playerid, params[]) { if (isnull(params)) return SendClientMessage(playerid, 0xFF000000, "[ ! ]: /me <text>"); new result[144]; format(result, sizeof result, "*%s %s", GetName(playerid), msg); return SendClientMessageToAll(-1, result), CMD_SUCCESS; } Link to comment Share on other sites More sharing options...
1 DNLS 31 Odesláno: 5. Červen, 2020 Share Odesláno: 5. Červen, 2020 CMD:do(playerid, params[]) { new string[300], action[300]; if(sscanf(params, "s[300]", action)) { SendClientMessage(playerid, -1, "USAGE: /do [akce]"); return 1; } else { format(string, sizeof(string), "* %s (( %s ))",action,GetName(playerid)); ProxDetector(20, playerid, string, COLOR_PURPLE); } return 1; } stock ProxDetector(Float:radi, playerid, string[],color) { new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerInRangeOfPoint(i,radi,x,y,z)) { SendClientMessage(i,color,string); } } } stock GetName(playerid); { new szName[MAX_PLAYER_NAME]; GetPlayerName(playerid, szName, sizeof(szName)); return szName; } CMD:ooc(playerid, params[]) { new string[128],shout[100]; if(Server[sOOC] == false && PlayerInfo[playerid][pAdmin] == 0) return SRPE(playerid,-1,"OOC chat je vypnutý !"); //tady si to nahradíš svojí podmínkou { if(sscanf(params, "s[100]", shout)) { SendClientMessage(playerid, -1, "USAGE: /(o)oc [ TEXT ]"); return 1; } else { format(string, sizeof(string), "[OOC] %s (( %s ))",GetName(playerid),shout); ProxDetector(20.0, playerid, string, 0xC6BF71FF); } } return 1; } Tady ze starších kódů, nezapomeň na include sscanf2. Nicméně doporučuju hodně googlit, když si zadáš třeba něco jako "samp roleplay commands" určitě ti vyjede hodně výsledků. Link to comment Share on other sites More sharing options...
0 Globální moderátor Hip 191 Odesláno: 30. Květen, 2020 Globální moderátor Share Odesláno: 30. Květen, 2020 Prosímtě aspoň popiš co ten systém má dělat. /me a /do jsou předpokládám příkazy, nepíšeš ale co chceš. Link to comment Share on other sites More sharing options...
0 Scydo 397 Odesláno: 30. Květen, 2020 Share Odesláno: 30. Květen, 2020 Hádám, že /me stojí za message, takže jinak řečeno buď PM a nebo /say pro VIP... #include <i-zcmd> // !!! #include <sscanf2> // !!! CMD:me(playerid, params[]) { new id, msg[120]; if (sscanf(params, "us", id, msg)) return SCM(...) /* Špatně napsaný příkaz ! */ if (id == INVALID_PLAYER_ID) return SCM(...) /* Špatně napsané ID/Jméno hráče ! */ if (strlen(msg) >= 120) return SCM(...) /* Moc velká délka zprávy ! */ if (id == playerid) return SCM(...) /* Píšeš zprávu sám sobě ! */ new result[144 + 1], nick[MAX_PLAYER_NAME + 1]; GetPlayerName(playerid, nick, sizeof nick); format(result, sizeof result, "[MSG] Od %s(%i): %s", nick, playerid, msg);SendClientMessage(id, 0xFFFF0000, result); GetPlayerName(id, nick, sizeof nick); format(result, sizeof result, "[MSG] Pro %s(%i): %s", nick, id, msg);SendClientMessage(playerid, 0xFFFF0000, result); return CMD_SUCCESS; } //Ve tmavém režimu ten kus kódu vypadá dobře Ale co má dělat /do to nevím. Hádám že nějakou akci, když je hráč poblíž nějaké lokace, například /do pro natankování. Popiš to víc... Link to comment Share on other sites More sharing options...
0 ChimozuFu 0 Odesláno: 31. Květen, 2020 Author Share Odesláno: 31. Květen, 2020 před 12 hodinami, Hip said: Prosímtě aspoň popiš co ten systém má dělat. /me a /do jsou předpokládám příkazy, nepíšeš ale co chceš. Omlouvám se. Chtěl bych to na rp server, takže /Me a /do by viděli hráči v okruhu toho daného hráče. Kdyby někdo byl ještě zkušený tak bych byl rád kdyby jste přidali ooc chat. /o /Me bude dělat danou akci která se nedá vyjádřit v animaci, př. /me bere sodovku ze stolu a podává pánovy. /do Sodovka je chlazená Doufám že vám to pomohlo, a ještě jednou díky. Link to comment Share on other sites More sharing options...
0 Scydo 397 Odesláno: 31. Květen, 2020 Share Odesláno: 31. Květen, 2020 před 2 hodinami, ChimozuFu said: by viděli hráči v okruhu toho daného hráče new Float:ppos[3]; GetPlayerPos(playerid, ppos[0], ppos[1], ppos[2]); for (new i; i < MAX_PLAYERS; i++) { if (IsPlayerInRangeOfPoint(i, 5.0, ppos[0], ppos[1], ppos[2])) { SendClientMessage(i, ...); } } Link to comment Share on other sites More sharing options...
0 Globální moderátor Hip 191 Odesláno: 31. Květen, 2020 Globální moderátor Share Odesláno: 31. Květen, 2020 před 14 hodinami, ChimozuFu said: Omlouvám se. Chtěl bych to na rp server, takže /Me a /do by viděli hráči v okruhu toho daného hráče. Kdyby někdo byl ještě zkušený tak bych byl rád kdyby jste přidali ooc chat. /o /Me bude dělat danou akci která se nedá vyjádřit v animaci, př. /me bere sodovku ze stolu a podává pánovy. /do Sodovka je chlazená Doufám že vám to pomohlo, a ještě jednou díky. jo takhle, prostě reálné role play příkazy (tady každý bere rp jako něco kde se člověk zaměstná a automaticky je to rp mod... 😄 ) IC, OOC, ME, EXAM(ination) (chápu dobře, že tohle bereš jako /do?) IC jak píše Scydo, OOC je v sampu defacto nativně, nebo bys chtěl nějakou změnu? Link to comment Share on other sites More sharing options...
0 Janik22 4 Odesláno: 2. Červen, 2020 Share Odesláno: 2. Červen, 2020 #include <a_samp> #include <izcmd> #include <sscanf2> CMD:me(playerid, params[]) { new string[128], msg[128]; if(sscanf(params, "sz", msg)) return SendClientMessage(playerid,COLOR_RED, "[ ! ]: /me <text>"); format(string, sizeof(string), "*%s %s", GetName(playerid), msg); SendClientMessageToAll(COLOR_WHITE, string); return 1; } Takto to asi myslí Link to comment Share on other sites More sharing options...
0 ChimozuFu 0 Odesláno: 5. Červen, 2020 Author Share Odesláno: 5. Červen, 2020 Myslím to takhle: Ofiko chat by byl jako ic chat, př. "Čau johne, jak se vede?" Ooc chat by byl třeba /o, tam by se psalo co chcou hráči vyjádřit ooc, př. "Kámo tohle je totální fail rp ..." /do, věc co potřebuješ k rp a potřebuješ k tomu i /me, dodávám zase př. "/do silně krvácí" /me, co dělá to už nemusím vysvětlovat. Byl ybhc rád za plný code, díky 😄 Link to comment Share on other sites More sharing options...
0 ChimozuFu 0 Odesláno: 7. Červen, 2020 Author Share Odesláno: 7. Červen, 2020 (upraveno) hází mi to pořád errory, nevím proč Edited 7. Červen, 2020 by ChimozuFu Link to comment Share on other sites More sharing options...
0 ChimozuFu 0 Odesláno: 7. Červen, 2020 Author Share Odesláno: 7. Červen, 2020 (upraveno) On 2. 6. 2020 at 13:34, Scydo said: Přidal jsi pro sscanf 2 části pole, které má fce rozdělit. Když potřebuji jen jeden parametr, tak pracuju s jediným parametrem: CMD:me(playerid, params[]) { if (isnull(params)) return SendClientMessage(playerid, 0xFF000000, "[ ! ]: /me <text>"); new result[144]; format(result, sizeof result, "*%s %s", GetName(playerid), msg); return SendClientMessageToAll(-1, result), CMD_SUCCESS; } Hází mi to stále tento error: gamemodes\gamemode.pwn(382) : error 017: undefined symbol "GetName" Edited 7. Červen, 2020 by ChimozuFu Link to comment Share on other sites More sharing options...
0 Guest Odesláno: 7. Červen, 2020 Share Odesláno: 7. Červen, 2020 před 6 hodinami, ChimozuFu said: Hází mi to stále tento error: gamemodes\gamemode.pwn(382) : error 017: undefined symbol "GetName" GetPlayerName Link to comment Share on other sites More sharing options...
0 Globální moderátor Hip 191 Odesláno: 9. Červen, 2020 Globální moderátor Share Odesláno: 9. Červen, 2020 přidej se metodu na získání nicku hráče private GetName(playerid) { new name[24]; GetPlayerName(playerid, name, 24); return name; } Link to comment Share on other sites More sharing options...
0 Honles 0 Odesláno: 10. Červen, 2020 Share Odesláno: 10. Červen, 2020 (upraveno) stock GetName(playerid) { new name[24]; GetPlayerName(playerid, name, 24); return name; } Edited 10. Červen, 2020 by Honles Link to comment Share on other sites More sharing options...
0 _viTo_ 8 Odesláno: 14. Červen, 2020 Share Odesláno: 14. Červen, 2020 On 10. 6. 2020 at 14:08, Honles said: stock GetName(playerid) { new name[24]; GetPlayerName(playerid, name, 24); return name; } Mám takový pocit, že toto si buď vyhledal někde na internetu, nebo druhá varianta zní že nevíš absolutně co danná osoba požaduje. Proč nenapíšeš kompletně kód celého systému ?. Link to comment Share on other sites More sharing options...
Dotaz
ChimozuFu 0
Zdravím, mohl by mi někdo pomoct s /me a /do systémem? Nevím co mám dělat, nikde jsem nenašel dobrý tutoriál. Děkuji za odpověď
Link to comment
Share on other sites
15 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