(http://noobot.info/uploader/image.php?di=K5IH)
â— INFORMACIJE O TUTORIJALU â—
â— U ovom tutorijalu cu vam pokazati kako da napravite Admin System za Vas samp server. â—
â— POTREBNO â—
- Y_INI Includes -
- Sscanf Include -
- Register & Login System (Y_INI) -
➦ Za pocetak cemo na vrhu skripte dodati odredjene includove.
[pawn]#include < a_samp >
#include < sscanf2 >
#include < YSI\y_INI >
#include < YSI\y_commands >
[/pawn]
➦ Ukoliko imate register system & login (obavezno je imati), pod vas enum dodate ovako:
[pawn]enum pInfo {
xAdmin
}
[/pawn]
To bi izgledalo ovako: *PRIMER*
[pawn]enum pInfo {
xPassword,
xAdmin, //ovo
xNovac,
xZlato
..........
}
[/pawn]
➦ Zatim, ukoliko nemate definisan stock GetName vec, dodacemo ga radi lakseg prepoznavanja imena..
[pawn]
stock GetName(playerid) {
new name[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, name, sizeof( name ));
return name;
}
[/pawn]
➦ Sada mozemo preci na komandu /makeadmin (postavljanje admina)
➦ Za komande ce nam trebati include sscanf2 i y_commands include, koji smo prethodno definisali na vrhu skripte.
(http://noobot.info/uploader/image.php?di=8WHT)
[pawn]
YCMD:makeadmin( playerid, params[], help ) {
return true;
}
[/pawn]
➦ Napravili smo osnovu komande, sada dodajemo proveru, ukoliko je igrac Admin, moze da koristi komandu ukoliko ne, ne moze.
[pawn]
YCMD:makeadmin( playerid, params[], help ) {
if( PlayerInfo[ playerid ][ xAdmin ] < 6 && !IsPlayerAdmin( playerid )) return SendClientMessage( playerid, -1, "Niste Admin Level 6 ili RCON Admin." );
return true;
}
[/pawn]
➦ Napravili smo proveru, ukoliko igrac nije admin level 6 ili ulogovan na rcon (/rcon login pass), nece moci da koristi komandu.
➦ Idemo dalje.. Definisacemo sve sto nam je potrebno za ovu komandu.
[pawn]
YCMD:makeadmin( playerid, params[], help ) {
if( PlayerInfo[ playerid ][ xAdmin ] < 6 && !IsPlayerAdmin( playerid )) return SendClientMessage( playerid, -1, "Niste Admin Level 6 ili RCON Admin." );
new id, level, string[ 128 ];
return true;
}
[/pawn]
➦ new id -> Igrac kome postavljamo admina, level -> level koji postavljamo igracu (level admina), string[ 128 ] -> trebace nam za formatiranje poruke.
[pawn]
YCMD:makeadmin( playerid, params[], help ) {
if( PlayerInfo[ playerid ][ xAdmin ] < 6 && !IsPlayerAdmin( playerid )) return SendClientMessage( playerid, -1, "Niste Admin Level 6 ili RCON Admin." );
new id, level, string[ 128 ];
if( sscanf( params, "ui", id, level )) return SendClientMessage( playerid, -1, "{0070D0}* Koristi: {FFFFFF}/makeadmin [id] [level(0-6)]" );
return true;
}
[/pawn]
➦ Uradili smo sada ako igrac ukuca pogresno komandu (/makeadmin pa ne unese id i level nego nesto drugo), izbacice mu poruku kako treba ukucati pravilno komandu.
➦ Idemo da zavrsimo komandu formatiranjem poruke, slanjem svim igracima, postavljanjem admina igracu.
[pawn]
YCMD:makeadmin( playerid, params[], help ) {
if( PlayerInfo[ playerid ][ xAdmin ] < 6 && !IsPlayerAdmin( playerid )) return SendClientMessage( playerid, -1, "Niste Admin Level 6 ili RCON Admin." );
new id, level, string[ 128 ];
if( sscanf( params, "ui", id, level )) return SendClientMessage( playerid, -1, "{0070D0}* Koristi: {FFFFFF}/makeadmin [id] [level(0-6)]" );
if( level < 0 || level > 6 ) return SendClientMessage( playerid, -1, "{0070D0}* Error: {FFFFFF}Level ne moze biti manji od 0 i veci od 6." ); //proverava da li dajete odgovarajuci level, ne mozete dati admina ispod 0 i iznad 6.
PlayerInfo[ id ][ xAdmin ] = level; //[ id ] = igrac kome dajete admina, = level; = level koji ste odabrali..
//dodajemo format
format( string, sizeof( string ), "[Make Admin]: Admin %s je postavio Admina igracu %s | Level: %d", GetName( playerid ), GetName( id ), level );
SendClientMessageToAll( -1, string ); //GetName( playerid ) = prikazuje Vase ime, GetName( id ) = prikazuje ime igraca kome dajete admina, level = prikazuje level admina koji ste dali igracu.
SavePlayer( id ); //cuvanje igraca (kada radite reg/log system ovo morate imati obavezno !)
return true;
}
[/pawn]
➦ Komanda /makeadmin je spremna za rad, sada cemo dati primer neke komande za admine..
[pawn]
YCMD:oruzije( playerid, params[], help ) {
if( PlayerInfo[ playerid ][ xAdmin ] < 1 && !IsPlayerAdmin( playerid )) return SendClientMessage( playerid, -1, "Niste Admin Level 1 ili RCON Admin." );
GivePlayerWeapon( playerid, 24, cellmax );
return true;
}
[/pawn]
➦ Ovo je najjednostavnije sto mi je palo na pamet..
https://pastebin.com/f2pK1M7k
PS. Ovo je moj prvi tutorijal, nadam se da ce nekima pocetnicima pomoci ovo.. Potrudio sam se, nije da nisam, sledeci put cu jos vise, aBd <3 ;)
AKO SAM NESTO ZABORAVIO/IZOSTAVIO, NAPISITE U KOMENTAR, DODACU.
Samo si jos trebao da objasnis oko cuvanja i ucitavanja :), inace dobar tut .