Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: YumikoJR poslato Januar 19, 2019, 09:58:33 PRE PODNE

Naslov: Simple Admin System Tut
Poruka od: YumikoJR poslato Januar 19, 2019, 09:58:33 PRE PODNE
(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.
Naslov: Odg: Simple Admin System Tut
Poruka od: Deken poslato Januar 19, 2019, 10:44:14 PRE PODNE
6/10 zbog truda
[pawn]
SavePlayer( id );
[/pawn]
gde ti je stock SavePlayer?
Naslov: Odg: Simple Admin System Tut
Poruka od: ShomY071 poslato Januar 19, 2019, 10:49:57 PRE PODNE
Samo si jos trebao da objasnis oko cuvanja i ucitavanja :), inace dobar tut .
Naslov: Odg: Simple Admin System Tut
Poruka od: YumikoJR poslato Januar 19, 2019, 11:03:44 PRE PODNE
Citat: ShomY071 poslato Januar 19, 2019, 10:49:57 PRE PODNE
Samo si jos trebao da objasnis oko cuvanja i ucitavanja :), inace dobar tut .
Hvala ali rekao sam gore dva puta da se mora imati reg / log system :P, a kad radis reg / log system, potrebno je odraditi i cuvanje acc-a valjda ali ajde.. Hvala
Naslov: Odg: Simple Admin System Tut
Poruka od: YumikoJR poslato Januar 19, 2019, 11:04:30 PRE PODNE
Citat: Deken poslato Januar 19, 2019, 10:44:14 PRE PODNE
6/10 zbog truda
[pawn]
SavePlayer( id );
[/pawn]
gde ti je stock SavePlayer?
● POTREBNO ●
- Register & Login System (Y_INI) -
Valjda je logicno da kad radis register i login system moras odraditi i cuvanje acc-a igraca.. ?
Naslov: Odg: Simple Admin System Tut
Poruka od: Deken poslato Januar 19, 2019, 11:17:48 PRE PODNE
Citat: Ксалази. poslato Januar 19, 2019, 11:04:30 PRE PODNE
● POTREBNO ●
- Register & Login System (Y_INI) -
Valjda je logicno da kad radis register i login system moras odraditi i cuvanje acc-a igraca.. ?
pa jeste sto se tice malo iskusnijih
ali oko pocetnika vec druga prica :D
Naslov: Odg: Simple Admin System Tut
Poruka od: Purdinho poslato Januar 19, 2019, 11:47:44 PRE PODNE
Not bad :D