Mr.K0zak 0 Odesláno: 23. Květen, 2014 Share Odesláno: 23. Květen, 2014 Ahoj potřebuju pomoct mám mod a tam je mute a je tam jenom kdo ho dostal od koho a na kolik sekund a když tam chci dodat Důvod jak to udělám? Neni tu nějakej pawner co by mi pomohl? Skype: paja.kozina dcmd_mute(playerid, params[]) { if(IsPlayerConnected(playerid)) { new id = strval(params); new find = chrfind(' ', params); new time = strval(params[find + 1]); if(Player[playerid][AdminLevel]==0) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Nejsi Administrátor !"); else if(Player[playerid][AdminLevel]==1) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Na použitie tohto príkazu potrebuješ aspoň Admin Level 2 !"); else if(!strlen(params) || (find == -1)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Použi: /mute [ ID ] [ SECONDS ]"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Hráč zo zadaným ID nieje na serveri !"); else if(IsPlayerNPC(id)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ]{ffffff} Tohle je NPC !"); else if(time < 10 || time > 3600) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Použi: /mute [ ID ] [ 10-3600 ]"); else { new Name[26]; new Name2[26]; GetPlayerName(playerid,Name,26); GetPlayerName(id,Name2,26); new string[128]; format(string, 128, "Hráč %s byl umlčený Administrátorem %s na %d sekund!", Name2,Name,time); SendClientMessageToAll(COLOR_ADMIN,string); Player[id][Mute]=true; Player[id][ToMuteTime] = gettime() + time; } } return 1; } jak to má být? Link to comment Share on other sites More sharing options...
0 Uživatel 0 Odesláno: 23. Květen, 2014 Share Odesláno: 23. Květen, 2014 <-> Máš v tom dodální zmatek. I přesto, že gettimer je taková lepší volba, tak bych doporučula přece jen pro začátečníky SetTimer aspoň. Hádám, že tenhle jsi někde našel .<-> Taky by nebylo na škodu si stáhnout 2 includy a to sscanf a zcmd. sscanf je lepší a snadnější na parametry. A zcmd je skoro stejný jak dcmd. Jen tu je ten rozdíl, že nemusíš zbytečně zapisovat do returnu 0 v OnPlayerCommandText, jako to máš často u dcmd. Navíc se proslíchá, že strval(ID hráče) u dcmd dostahuje jen do ID 13... #include a_samp #include sscanf2 #include zcmd #define p playerid #define SCM SendClientMessage new fscmta[144], bool:Mute[MAX_PLAYERS]; #define SCMTAF(%1,%2,%3) format(fscmta, sizeof(fscmta), %2, %3); SendClientMessageToAll(%1, fscmta); stock PlayerName(p) { new name[MAX_PLAYER_NAME]; GetPlayerName(p,name,MAX_PLAYER_NAME); return name; } command(mute, p, params[]) { if(!IsPlayerAdmin(p)) return SCM(p,-1,"[ ! ] Nejsi Rcon Administrátor !"); //Nebo si tu dej svojí kontrolu new id,cas,duvod[114]; if(sscanf( params,"uis[144]",id,cas,duvod )) return SCM(p,-1,"[ ! ] Použití: /mute [ID/Jméno hráče] [Čas v minutách] [Důvod] !"); if(id == INVALID_PLAYER_ID) return SCM(p,-1,"[ ! ] Hráč není připojený !"); if(Mute[id]) return SCM(p,-1,"[ ! ] Hráč již je umlčen !"); if(cas < 1 || cas > 99999) return SCM(p,-1,"[ ! ] Můžete umlčet hráče maximálně na 1 až 99999 minut!"); SCMTAF(-1,"{FF0000}Administrátor %s umlčel hráče %s na %i min. [Důvod: %s]",PlayerName(p),PlayerName(id),cas,duvod) SetTimer("Muted",1000*60*cas, false); Mute[id] = true; return 1; } public OnPlayerText(p, text[]) { if(Mute[p]) { SCM(p,-1,"[ ! ] Jste umlčen! Nemůžete mluvit !"); return 0; } return 1; } forward Muted(p); public Muted(p) { SCM(p,-1,"[ ! ] Čas vypršel! Už můžeš opět mluvit !"); return 1; } public OnPlayerDisconnect(p, reason) { if(Mute[p]) Mute[p] = false; return 1; } Link to comment Share on other sites More sharing options...
0 Mr.K0zak 0 Odesláno: 23. Květen, 2014 Author Share Odesláno: 23. Květen, 2014 Dobrý den,promin te ale moc tomu nerozumím,prosím vás nepomohla byste mi s tím? Byl bych moc rád Děkuji Mr.K0zak (přidejte si mě na Skype: paja.kozina ) Prosím někoho kdo tomu rozumí/umí pawno aby mě informoval na Skype: paja.kozina | Děkuji Mr.k0zak Link to comment Share on other sites More sharing options...
0 Uživatel 0 Odesláno: 23. Květen, 2014 Share Odesláno: 23. Květen, 2014 Dobrý den,promin te ale moc tomu nerozumím,prosím vás nepomohla byste mi s tím? Byl bych moc rád Děkuji Mr.K0zak (přidejte si mě na Skype: paja.kozina ) Co jsi nepochopil? Ráda ti to vysvětlím . Link to comment Share on other sites More sharing options...
0 Mr.K0zak 0 Odesláno: 23. Květen, 2014 Author Share Odesláno: 23. Květen, 2014 Tak to nemyslím vysvětlujete to dobře akorát že já moc Pawnu nerozumím teprve se učím Proto vás prosím jestli byste mi s tím pomohla Promin te nerozumím tomu Pomůžete? Link to comment Share on other sites More sharing options...
0 Uživatel 0 Odesláno: 23. Květen, 2014 Share Odesláno: 23. Květen, 2014 <->Tak jsem přidala takový "dysletický" návod pro začátečníky. Snad to pochopíš lépe : #include a_samp //Nahrání includu a_samp ze serverfile/pawno/include #include sscanf2 //Nahrání includu sscanf #include zcmd //Nahrání includu zcmd #define p playerid //Def. zkratka. Nyní mohu místo playerid napsat jen p #define SCM SendClientMessage //Def. zkratka. Stejný efekt jako u p a playerid new fscmta[144], bool:Mute[MAX_PLAYERS]; #define SCMTAF(%1,%2,%3) format(fscmta, sizeof(fscmta), %2, %3); SendClientMessageToAll(%1, fscmta); //Že nyní new string, format string a SendClientMessage je v jednom stock //Snadnější stock pro Jméno hráče (Abychom nemusely neustále všude new a GetPlayerName) PlayerName(p) { new name[MAX_PLAYER_NAME]; GetPlayerName(p,name,MAX_PLAYER_NAME); return name; } command(mute, p, params[]) //Pokud napíše příkaz /mute a...: { if(!IsPlayerAdmin(p)) return SCM(p,-1,"[ ! ] Nejsi RCOm Administrátor !"); //Pokud není rcon administrátor, odešle se mu zpráva new id,cas,duvod[114]; //Newnuté parametry, Co chceme, aby dosadil za pamaremty if(sscanf( params,"uis[144]",id,cas,duvod )) return SCM(p,-1,"[ ! ] Použití: /mute [ID/Jméno hráče] [Čas v mitách] [Důvod] !"); //Pokud napíše špatně příkaz nebo mu něco chybý if(id == INVALID_PLAYER_ID) return SCM(p,-1,"[ ! ] Hráč není připojený !"); //Pokud napíše ID hráče, který není na serveru, napíše se mu zpráva if(Mute[id]) return SCM(p,-1,"[ ! ] Hráč již je umlčen !"); //Pokud už hráč je umlčen (if(Mute[p] == true)) if(cas < 1 || cas > 99999) return SCM(p,-1,"[ ! ] Můžete umlčet hráče maximálně na 1 až 99999 vteřin !"); //Pokud v druhém udají zadá 0 nebo číslo větší než 99999 -> Zpráva SCMTAF(-1,"{FF0000}Administrátor %s umlčel hráče %s na %i min. [Důvod: %s]",PlayerName(p),PlayerName(id),cas,duvod) //Format zpravy SetTimer("Muted",1000*60*cas, false); //Začne čas Mute[id] = true; //Hodnosta je true (Hráč je umlčen) return 1; } public OnPlayerText(p, text[]) { if(Mute[p]) //Pokud hráč napsal do chatu a je umlčen: { SCM(p,-1,"[ ! ] Jste umlčen! Nemůžete mluvit !"); //tak se mu napíše <- return 0; } return 1; //Pokud ne, všechno bude pokračovat. } forward Muted(p); //Pro public Muted public Muted(p) //Pokud vyprší nastavený čas { SCM(p,-1,"[ ! ] Čas vypršel! Už můžeš opět mluvit !"); return 1; } public OnPlayerDisconnect(p, reason) //Pokud hráč odejde ze serveru { if(Mute[p]) Mute[p] = false; //Pokud hráč je umlčen, tak již nebude (pro jistotu) return 1; } Link to comment Share on other sites More sharing options...
0 Mr.K0zak 0 Odesláno: 23. Květen, 2014 Author Share Odesláno: 23. Květen, 2014 No tohle předěláte mi to v tom modu prosím? Budete tak hodná? Paní Adriano pomůžete mi prosím? Link to comment Share on other sites More sharing options...
Dotaz
Mr.K0zak 0
Ahoj potřebuju pomoct mám mod a tam je mute a je tam jenom kdo ho dostal od koho a na kolik sekund a když tam chci dodat Důvod jak to udělám? Neni tu nějakej pawner co by mi pomohl? Skype: paja.kozina
dcmd_mute(playerid, params[])
Link to comment
Share on other sites
6 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