tbx 7 Odesláno: 25. Listopad, 2009 Share Odesláno: 25. Listopad, 2009 Takže si ukážeme jak udělat admin system rozdělený na levely. Našel sem tady jen od empise a to bylo nejaky divný :-D. takže do newu new alevel[MAX_PLAYERS];//timhle si udelame definici pro admina. dále nejakm do modu (nejlepe nad OnPlayerComand) HLAVNE NE NEKAM DO PUBLICU ! dcmd_alevel(playerid,params[]) { new id=strval(params);//nadefinujeme si ID jako params new alvl = chrfind(' ',params) + 1;//nadefinujeme si admin level jako 2. params(chrvind new alstr[200];//nazev stringu if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Zvolené id není online");//kdyz neni id online if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Nejsi RCON admin.");//kdyz hrac nen ircon admin if(!strlen(params)) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Neudal jsi ID !");//kdyz nevyplni ID hrace if(!strlen(params[alvl])) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Nezvolil jsi admin level!");//kdyz nezadal admin level format(alstr, 200, "Admin %s nastavil hráči %s admin level %d", PlayerName(playerid), PlayerName(id), alvl);//sformatuje zpravu SendClientMessageToAll(COLOR_BILA, alstr);//posle zpravu alevel[id] = alvl;//nastaví admin level. return 1;//navrati hodnotu } dale do public OnPlayerCommandText(playerid, cmdtext[]) dcmd(alevel, 6, cmdtext); podminka pro admin level je if(alevel[playerid] != 2) return SCM(playerid,COLOR_BILA, "Nemáš admin level 2");//pokud nema admin level 2 if(alevel[playerid] !> 0) return SCM(playerid,COLOR_BILA, "Nemáš admin level 2");//pokud nema admin level 1 nebo 2 a ted si jeste stockneme chrfind nekam do modu chrfind(n,h[],s=0) { new l=strlen(h); while(s { if(h[s]==n) return s;s++; } return -1; } tak to by jsme meli :-) a jeste ukládání. pokud máte registraci tady z fora(prez DUDB do /login alevel[playerid] = dUserINT(PlayerName(playerid)).("aLevel "); do disconnectu dUserSetINT(PlayerName(playerid)).("aLevel ",alevel[playerid]); ukladani a nacitani sem psal z hlavy kdyztak si alevel zmente na alvl nwm :-) tak to je vše . a jeste jeste bych se chtel zeptat jak udelam ze kdyz nezada cisla tak mu to napise neco a jak udelam ze kdyz nezada 0/1/2 tak mu to taky neco vypise :-) to je vse :-) admin level si mezete dat klidne az do treba 100 nebo 200 :-D je to jedno Link to comment Share on other sites More sharing options...
Marwin37 5 Odesláno: 25. Listopad, 2009 Share Odesláno: 25. Listopad, 2009 dobrý ale nemáš tam že registrace musí být přes DUDB pak lamy řeknou "HELP mě to hází error" Link to comment Share on other sites More sharing options...
tbx 7 Odesláno: 25. Listopad, 2009 Author Share Odesláno: 25. Listopad, 2009 jj to sem zapomel ale psal sem ze je to prez registraci na fdore ... ale jo editnu to Link to comment Share on other sites More sharing options...
xplosiv 0 Odesláno: 4. Prosinec, 2009 Share Odesláno: 4. Prosinec, 2009 Takže si ukážeme jak udělat admin system rozdělený na levely. Našel sem tady jen od empise a to bylo nejaky divný :-D. takže do newu new alevel[MAX_PLAYERS];//timhle si udelame definici pro admina. dále nejakm do modu (nejlepe nad OnPlayerComand) HLAVNE NE NEKAM DO PUBLICU ! dcmd_alevel(playerid,params[]) { new id=strval(params);//nadefinujeme si ID jako params new alvl = chrfind(' ',params) + 1;//nadefinujeme si admin level jako 2. params(chrvind new alstr[200];//nazev stringu if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Zvolené id není online");//kdyz neni id online if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Nejsi RCON admin.");//kdyz hrac nen ircon admin if(!strlen(params)) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Neudal jsi ID !");//kdyz nevyplni ID hrace if(!strlen(params[alvl])) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Nezvolil jsi admin level!");//kdyz nezadal admin level format(alstr, 200, "Admin %s nastavil hráči %s admin level %d", PlayerName(playerid), PlayerName(id), alvl);//sformatuje zpravu SendClientMessageToAll(COLOR_BILA, alstr);//posle zpravu alevel[id] = alvl;//nastaví admin level. return 1;//navrati hodnotu } dale do public OnPlayerCommandText(playerid, cmdtext[]) dcmd(alevel, 6, cmdtext); podminka pro admin level je if(alevel[playerid] != 2) return SCM(playerid,COLOR_BILA, "Nemáš admin level 2");//pokud nema admin level 2 if(alevel[playerid] !> 0) return SCM(playerid,COLOR_BILA, "Nemáš admin level 2");//pokud nema admin level 1 nebo 2 a ted si jeste stockneme chrfind nekam do modu chrfind(n,h[],s=0) { new l=strlen(h); while(s { if(h[s]==n) return s;s++; } return -1; } tak to by jsme meli :-) a jeste ukládání. pokud máte registraci tady z fora(prez DUDB do /login alevel[playerid] = dUserINT(PlayerName(playerid)).("aLevel "); do disconnectu dUserSetINT(PlayerName(playerid)).("aLevel ",alevel[playerid]); ukladani a nacitani sem psal z hlavy kdyztak si alevel zmente na alvl nwm :-) tak to je vše . a jeste jeste bych se chtel zeptat jak udelam ze kdyz nezada cisla tak mu to napise neco a jak udelam ze kdyz nezada 0/1/2 tak mu to taky neco vypise :-) to je vse :-) admin level si mezete dat klidne az do treba 100 nebo 200 :-D je to jedno Můžu se zeptat na ten první kód.....kam ho mám vložit přesně??? Já koukám k sobě do toho a mám tam 2x NEW #include #define dcmd(%1,%2,%3) if((strcmp((%3)[1],#%1,true,(%2))==0)&&((((%3)[(%2)+1]==0)&&(dcmd_%1(playerid,"")))||(((%3)[(%2)+1]==32)&&(dcmd_%1(playerid,(%3)[(%2)+2]))))) return 1 #pragma tabsize 0 //Definice ------------------------------------------------------------------------------------------ #define CERVENA 0xE10000AA #define ZLUTA 0xFFFF00AA #define ZELENA 0x33AA33AA #define BILA 0xFFFFFFAA #define MODRA 0x0000BBAA #define ZLATA 0xB8860BAA #define ORANZOVA 0xFF9900AA //---------------------------------------------------------------------------------------------------- #define VERZE_SCRIPTU "1.0" #define SPODNI_CARA "|====| AdminScript |====================================| 1.0 |==========|" //---------------------------------------------------------------------------------------------------- stock PlayerName(playerid) { new name[255]; GetPlayerName(playerid, name, 255); return name; } stock PlayerIp(playerid) { new p[16]; GetPlayerIp(playerid,p,16); return p; } stock Hlaska(playerid, CZ[]) { if(IsPlayerConnected(playerid)) { SendClientMessage(playerid, CERVENA , CZ); } return 1; } //Základní publicy ----------------------------------------------------------------------------------- public OnFilterScriptInit() { print("\n--- Adminiscript by pawno.cz startuje... ---\n\n"); return true; } public OnFilterScriptExit() { print("\n--- Adminiscript by pawno.cz se vypina... ---\n\n"); return true; } //Naše příkazy ve tvaru dcmd_příkaz ------------------------------------------------------------------- dcmd_info(playerid, params[]) { //protoze prikaz nema zadne parametry, tak pouzijeme tohle: #pragma unused params SendClientMessage(playerid, CERVENA, "|====| AdminScript |===============| ABOUT |=========================|"); SendClientMessage(playerid, ZELENA, "Adminscript by pawno.cz. info: http://www.adminscript.pawno.cz" onclick="window.open(this.href);return false;"); SendClientMessage(playerid, ZELENA, "Vytvořil -vaše jméno-"); SendClientMessage(playerid, CERVENA, SPODNI_CARA); //spodni cast, kterou jsme si definovali uplne nahore return 1; } //DCMD ------------------------------------------------------------------------------------------------- public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(info, 4,cmdtext); return 0; } Tak kam to teda mám vložit Link to comment Share on other sites More sharing options...
Roox 1 Odesláno: 4. Prosinec, 2009 Share Odesláno: 4. Prosinec, 2009 Achjo tohle je fakt uz hrozny #include #define dcmd(%1,%2,%3) if((strcmp((%3)[1],#%1,true,(%2))==0)&&((((%3)[(%2)+1]==0)&&(dcmd_%1(playerid,"")))||(((%3)[(%2)+1]==32)&&(dcmd_%1(playerid,(%3)[(%2)+2]))))) return 1 #pragma tabsize 0 //Definice ------------------------------------------------------------------------------------------ #define CERVENA 0xE10000AA #define ZLUTA 0xFFFF00AA #define ZELENA 0x33AA33AA #define BILA 0xFFFFFFAA #define MODRA 0x0000BBAA #define ZLATA 0xB8860BAA #define ORANZOVA 0xFF9900AA //---------------------------------------------------------------------------------------------------- #define VERZE_SCRIPTU "1.0" #define SPODNI_CARA "|====| AdminScript |====================================| 1.0 |==========|" //---------------------------------------------------------------------------------------------------- //--- new alevel[MAX_PLAYERS];//timhle si udelame definici pro admina. TREBA //--- stock PlayerName(playerid) { new name[255]; GetPlayerName(playerid, name, 255); return name; } stock PlayerIp(playerid) { new p[16]; GetPlayerIp(playerid,p,16); return p; } stock Hlaska(playerid, CZ[]) { if(IsPlayerConnected(playerid)) { SendClientMessage(playerid, CERVENA , CZ); } return 1; } //Základní publicy ----------------------------------------------------------------------------------- public OnFilterScriptInit() { print("\n--- Adminiscript by pawno.cz startuje... ---\n\n"); return true; } public OnFilterScriptExit() { print("\n--- Adminiscript by pawno.cz se vypina... ---\n\n"); return true; } //Naše příkazy ve tvaru dcmd_příkaz ------------------------------------------------------------------- dcmd_info(playerid, params[]) { //protoze prikaz nema zadne parametry, tak pouzijeme tohle: #pragma unused params SendClientMessage(playerid, CERVENA, "|====| AdminScript |===============| ABOUT |=========================|"); SendClientMessage(playerid, ZELENA, "Adminscript by pawno.cz. info: http://www.adminscript.pawno.cz" onclick="window.open(this.href);return false;"); SendClientMessage(playerid, ZELENA, "Vytvořil -vaše jméno-"); SendClientMessage(playerid, CERVENA, SPODNI_CARA); //spodni cast, kterou jsme si definovali uplne nahore return 1; } dcmd_alevel(playerid,params[]) { new id=strval(params);//nadefinujeme si ID jako params new alvl = chrfind(' ',params) + 1;//nadefinujeme si admin level jako 2. params(chrvind new alstr[200];//nazev stringu if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Zvolené id není online");//kdyz neni id online if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Nejsi RCON admin.");//kdyz hrac nen ircon admin if(!strlen(params)) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Neudal jsi ID !");//kdyz nevyplni ID hrace if(!strlen(params[alvl])) return SendClientMessage(playerid, COLOR_BILA, "[ ! ] Nezvolil jsi admin level!");//kdyz nezadal admin level format(alstr, 200, "Admin %s nastavil hráči %s admin level %d", PlayerName(playerid), PlayerName(id), alvl);//sformatuje zpravu SendClientMessageToAll(COLOR_BILA, alstr);//posle zpravu alevel[id] = alvl;//nastaví admin level. return 1;//navrati hodnotu } //DCMD ------------------------------------------------------------------------------------------------- public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(info, 4,cmdtext); dcmd(alevel, 6,cmdtext); return 0; } Treba takhle...dal uz snad vis ne ? Link to comment Share on other sites More sharing options...
xplosiv 0 Odesláno: 4. Prosinec, 2009 Share Odesláno: 4. Prosinec, 2009 no vim ae stejne je to vsecko knicemu. Ja to nechapu.....ten program PAWNO je pekne nahovno. Kdyz tam neco udelam a dam F5 tak to ukaze takovou tabulku a v ni jsou same ERRORY. Vubec nevim co s tim.....a to je u kazdyho PAWN kodu.....vzdy tam neco pridam a uz to nejde Kdyz tam budou tyhle errory furt tak se nikam dal NEDOSTANU tak mi poradte NEKDO co s tim mam delat. Jinak se budu moct na to vykaslat.... Ja jinak nevim co s tim....sem zacatecnik PAWNU a tezko s tim neco udelam Link to comment Share on other sites More sharing options...
kid_paja 0 Odesláno: 5. Prosinec, 2009 Share Odesláno: 5. Prosinec, 2009 vubec mi to nejde tohle...je moznost ze by ste mi nekdo tento TUT vysvetlil krok po kroku? Link to comment Share on other sites More sharing options...
Veron 0 Odesláno: 5. Prosinec, 2009 Share Odesláno: 5. Prosinec, 2009 xplosiv: A to si myslíš že otočíš kouzelným prstýnkem a tadá, máme tu script přesně ten co chceš? Jestli se nejseš schopný začít sám učit, a opravovat si chyby, říkám ti, že pawno pro tebe není. Nestačí do kodu napsat : registrace a bude tam registrace. Pochop to, že pawno ti nedělá errory naschvál. Za ty errory nemůže pawno, ale ty sám. Bud rád že ti pawno ještě ty errory vypíše páč bez nich by jsi byl pěkně nahranej Link to comment Share on other sites More sharing options...
xplosiv 0 Odesláno: 18. Prosinec, 2009 Share Odesláno: 18. Prosinec, 2009 Zdravím Omlouvám se že opět Spamuju Měl bych vážný problém Vše jsem udělal úplně stejně podle TuTu no jednu chybu sem si dokázal opravit,ale s tim ostatním jsem nějak mimo... mám tam tyto errory C:\Users\Xplosiv\Documents\Xtreme\Pawno\testscr.pwn(198) : error 017: undefined symbol "SCM" C:\Users\Xplosiv\Documents\Xtreme\Pawno\testscr.pwn(200) : error 001: expected token: ")", but found "!" C:\Users\Xplosiv\Documents\Xtreme\Pawno\testscr.pwn(200) : error 029: invalid expression, assumed zero C:\Users\Xplosiv\Documents\Xtreme\Pawno\testscr.pwn(200) : warning 215: expression has no effect C:\Users\Xplosiv\Documents\Xtreme\Pawno\testscr.pwn(200) : error 001: expected token: ";", but found ")" C:\Users\Xplosiv\Documents\Xtreme\Pawno\testscr.pwn(200) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 5 Errors. Moc by mi pomohlo kdyby ste mi pomohli Za každou radu budu moc rááád. Jinak kdyby se někdo ptal co je na řádku 200 tak tam je přesně toto: if(alevel[playerid] !> 0) return SCM(playerid,COLOR_BILA, "Nemáš admin level 2"); Předem moc děkuju Link to comment Share on other sites More sharing options...
AvestX 5 Odesláno: 18. Prosinec, 2009 Share Odesláno: 18. Prosinec, 2009 sry, ale funkci: !> neznam... Link to comment Share on other sites More sharing options...
Roox 1 Odesláno: 18. Prosinec, 2009 Share Odesláno: 18. Prosinec, 2009 SCM je zkratka SendClientMessage takze jsou 2 moznosti... 1. Dej si nahoru do modu ( Filter scriptu ) mezi definice #define SCM SendClientMessage 2. Místo if(alevel[playerid] !> 0) return SCM(playerid,COLOR_BILA, "Nemáš admin level 2"); si dej if(alevel[playerid] !> 0) return SendClientMessage(playerid,COLOR_BILA, "Nemáš admin level 2"); A to je vsechno Souhlasim tohle !> Sem jeste nikdy nevidel Ale jestli to faka tak proc to nepouzivat ? Link to comment Share on other sites More sharing options...
AvestX 5 Odesláno: 18. Prosinec, 2009 Share Odesláno: 18. Prosinec, 2009 To je jako nemá menší ? nebo co ? Link to comment Share on other sites More sharing options...
Roox 1 Odesláno: 18. Prosinec, 2009 Share Odesláno: 18. Prosinec, 2009 To je jako jestli neni vetsi Proste kdyz tam je napr if(ALevel[playerid] !> 3) return ... A to je stejna funkce jako if(ALevel[playerid] < 4) return ... Je to skoro stejny no Link to comment Share on other sites More sharing options...
xplosiv 0 Odesláno: 18. Prosinec, 2009 Share Odesláno: 18. Prosinec, 2009 Moc díky tuhle pomoc jsem moc potřeboval konečně si to zae budu pamatovat Díky moc :thumbup: Link to comment Share on other sites More sharing options...
AvestX 5 Odesláno: 18. Prosinec, 2009 Share Odesláno: 18. Prosinec, 2009 ano pamatovat a pak zas help co ? btw k tematu z !> xD ok ale pro mě je to nemá menší to se hodí do nějákýho obchodu.. btw k tutu: 9-8-1+9/1*2*6+1-5*2 Link to comment Share on other sites More sharing options...
xplosiv 0 Odesláno: 18. Prosinec, 2009 Share Odesláno: 18. Prosinec, 2009 nene ,jen jsem na to nemohl přijít Na definice k barvám už se taky neptám "lol" a ani k tomu kam mám dát kódy Přišel jsem na to jen na nějaký věci který nedokážu vyřešit,tak se ptám chytřejších Link to comment Share on other sites More sharing options...
Guest ucenec Odesláno: 12. Listopad, 2010 Share Odesláno: 12. Listopad, 2010 Sry ze otvírám starej topic ale jak přidám další LVL nějak semito nedaří skoušelsem vše díky. Link to comment Share on other sites More sharing options...
DooM 93 Odesláno: 12. Listopad, 2010 Share Odesláno: 12. Listopad, 2010 Sry ze otvírám starej topic ale jak přidám další LVL nějak semito nedaří skoušelsem vše díky. OMG!Skoro 2 roky starej topic a ty ho otviras. Neumis vubec pawn a uz se chces poustet do adminscriptu Link to comment Share on other sites More sharing options...
Guest Gengsta Odesláno: 12. Listopad, 2010 Share Odesláno: 12. Listopad, 2010 nechi nic rikat ale toto je prehnany skoro 2roky stari topic no proste LOCK Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 12. Listopad, 2010 Share Odesláno: 12. Listopad, 2010 Levelu tam mas treba 1000 new adminlevel[MAX_PLAYERS]; ti neurcuje zadny MAX_Level. Muzes dat klidne adminlevel[playerid] = 400; a hrac bude mit lvl 400 Link to comment Share on other sites More sharing options...
Guest [BJ]boban88 Odesláno: 12. Listopad, 2010 Share Odesláno: 12. Listopad, 2010 nechi nic rikat ale toto je prehnany skoro 2roky stari topic no proste LOCK ty uz prestan chciet lockovat TUTi dobre ?! Link to comment Share on other sites More sharing options...
Duch 0 Odesláno: 25. Únor, 2011 Share Odesláno: 25. Únor, 2011 Sry za otvaranie stareho topicu. Mohol by mi pls niekto vysvetlit k comu je v tom toto chrfind(n,h[],s=0){ new l=strlen(h); while(s { if(h==n) return s;s++; } return -1; } Aku to ma vlastne funkciu Link to comment Share on other sites More sharing options...
Dress 3 Odesláno: 23. Březen, 2011 Share Odesláno: 23. Březen, 2011 sory ze pisem do stareho topicu ale ako nadefinujem adminlevel ako 5 Link to comment Share on other sites More sharing options...
Mattsy 29 Odesláno: 23. Březen, 2011 Share Odesláno: 23. Březen, 2011 adminlevel[playerid] = 5; Len tomu nastavíš hodnotu proste 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