Jump to content

WiDuAlK

V.I.P
  • Posts

    1,338
  • Joined

  • Last visited

  • Days Won

    94

Posts posted by WiDuAlK

  1. ok , ai cateva chesti care ar putea fi imbunatatite , ai o gramada de new uri cu string , si cu pName... era mai usor daca foloseai un new global , si comenzile erau mai frumoase pe zcmd, din cate am inteles  zcmd ,  nu numai ca e mai rapid(in scris ) dar in include  "se intampla ceva mai complex" , si face ca sa mai elimini lagul de pe server , adica daca ai 100 de comenzi pe strcmp ti se mareste lagul cu n% ei pe zcmd ti se mareste lagul cu z% , dar lagul z% este mai mic decat lagul n% , deci nu numai ca e mai complex pe zcmd si mai usor , dar este mult mai eficient si mai bun(explicatie pt cei care nu stiu)

  2. Problemă întâlnită (descriere):Salutare , am o problema cu Mysql r33 al lui WopsS , am vazut , ca daca imi dau bani folosind o comanda serverul automat imi reseteaza suma pe care am avuto recent , adica mi se pare ca e un anti moneyhack, deci daca puteti sa imi spuneti , unde l-as gasi , sau anula pentru ca eu l-as modifica ca pentru admin >= 6 sa nu iti reseteze bani
    Ero(area / rile) / warning-(ul / urile):-
    Liniile de cod / sursa / script-ul:[post='
    Imagini / Video (optional):-
    Aţi încercat să rezolvaţi singur?:Am cautat , dar nu am gasit , deoarece la alte GM-uri money hack se gaseste la include!

  3. :)) ba da ce idiot is ma , mersi noroc ca m-ai intrebat ca de altfel, nu imi dadeam seama:)) , comenzile le-am pus la [pawn]public OnPlayerCommandText(playerid, cmdtext[])[/pawn] toamne ce idiot is , si nu mi-am dat seama:)) thoamne:)) mersi mult , acu le-am pus separat de vr-un public , iar acum merge totul cum trebuie :P

     

    Topic Rezolvat :D

  4. Problemă întâlnită (descriere): Am bagat include zcmd, lam pus in scriptul lui WopsS , dar mia dat eroare...

    Ero(area / rile) / warning-(ul / urile):[pawn]D:aDSDgamemodesw3op.pwn(1147) : error 029: invalid expression, assumed zero

    D:aDSDgamemodesw3op.pwn(1147) : error 017: undefined symbol "cmd_bani"

    D:aDSDgamemodesw3op.pwn(1147) : error 029: invalid expression, assumed zero

    D:aDSDgamemodesw3op.pwn(1147) : fatal error 107: too many error messages on one line[/pawn]

     

    Liniile de cod / sursa / script-ul:

    [pawn]CMD:bani( playerid,params[ ] )

    {

    GivePlayerMoney(playerid, 6000);

    return 1;

    }

    CMD:scoatebani( playerid,params[ ] )

    {

    GivePlayerMoney(playerid, -6000);

    return 1;

    }[/pawn]

    Imagini / Video (optional):

    Aţi încercat să rezolvaţi singur?: oare...:|

  5. Descriere tutorial:Salutare , as dori sa imi spuneti si mie cum pun o imagine ca Textdraw in  sa-mp, folosind texdraw edition by ipleomax

    dar as vrea explicit in detaliu, adica din cate am inteles, trb sa iau imaginea sa o pun in un folder din san andreas , dar de acolo ceata...

  6. da pai noroc de MINE ca i-am spus , ca altfel saracia nu posta =]]

    EDIT

    Ba esti prost:))))))))) =]]] tu ai scris

    "Parolă a fost mascată în MD5, pentru a nu o vedea şi alţii."

    iar eu nu am vazut:))) ce saracie is si eu:)) si am mai facut si topic:))

    • Upvote 1
  7. toti putem face edituri, dar nu multi pot face cv de la 0... oricum ma bucur ca am(noi) trecut pe mysql deoarece  nu tot copilul stie sa deschida baza de date , asta insemnand ca nu il poate folosi :D

  8. Problemă întâlnită (descriere): Buna ziua , am venit cu o problema lagata de criptarea de parola , as vrea sa o decriptez , dar vad ca nu e prin whirlpool ca sa o pot decripta , iar formatul criptului mie total necunoscut folosesc scriptul lui WopsS (nu stiu ce metoda de criptare a folosit dar ma dat gata)
    Ero(area / rile) / warning-(ul / urile):-
    Liniile de cod / sursa / script-ul:http://forum.sa-mp.com/showthread.php?t=463354
    Imagini / Video (optional):
    Aţi încercat să rezolvaţi singur?:da pai am schimbat in loc de tmppass > string , dar la fel...

  9. Problemă întâlnită (descriere): Salutare , dupa cum bine stiti , am incercat sa fac un mic script pe mysql pentru a incepe un proiect singur(miam pus ambitia la incercare pentru a imi crea propriul GM pe placul meu). Am incercat cateva tutoriale de regiter/login dar am esuat in a le crea , deoarece aveau tot timpul cate o problema , asa ca din plictiseala , am cautat la filescripturi noi creatii ale voastre pana am dat de ceva ce mar interesa, rAdminul lui TheRow , am citit descriarea si mi sa parut bun , lam descarcat si prima data m-am uitat in pawn sa vad ce contine , la prima vedere parea bun , si mam decis sa il testez si m-am dus la linia "public OnFileScriptIntInit" si la "OnFileScriptExit" si leam modificat cu "OnGameModeInit" si cu "OnGameModeExit" , am pus tot ce tine de script(pawn , plugins , basedate , si libmysql) cum trebuie , am pus scriptul in folderul cu gamemode , cand am intrat in el nu mia aparut dialogul de register... si nu stiu cum il fac sa mearga...
    Ero(area / rile) / warning-(ul / urile):-
    Liniile de cod / sursa / script-ul:

    [pawn]#if defined Credits
    ( "Credits" )
    ("Y_Less") : ("sscanf2 | foreach | whirlpool")
    ("ZeeX") : ("zcmd")
    ("BlueG") : ("a_mysql")
    ("TheRoW") : ("Script")

    Acest script este public, daca cineva incearca sa il vanda contacteazal pe
    TheRoW la Y!M: [email protected] .
    Acest script este unul avansat nu este recomandat incepatorilor( Celor ce nu stiu sa porneasca MySQL )
    #endif
    /* ___________________________________________
    | Include's |
    |___________________________________________| */

    #include " a_samp "
    #include " sscanf2 "
    #include " foreach "
    #include " zcmd "
    #include " a_mysql "

    /* ___________________________________________
    | Define's |
    |___________________________________________| */


    // |_________________Settings_________________|

    #define MAX_WARNS ( 3 ) //Maximul de warnuri
    #define MAX_A_LEVEL ( 5 ) //Nivelul maxim de Admin
    #define MAX_V_LEVEL ( 3 ) //Nivelul maxim de VIP
    #define MAX_LOGIN_ATTEMPS ( 3 ) //Numarul maxim de incercari de a te loga.
    #define DeathMessage ( 1 ) //Mesajul pe care il arata cand mori 1-ON/0-OFF

    #define SEVER_URL "www.gta-mp.ro" //Situl serverului
    #define SEVER_RCON "1234" //Rcon-ul serverului
    #define SERVER_HOSTNAME "Serverul meu de sa-mp" //Numele serverului
    #define SEVER_MAPNAME "SanAndreas" //Situl serverului

    #define MySql_Host "localhost" //IP-ul de conectare cu MySQL
    #define MySql_User "root" //Username-ul de conectare cu MySQL
    #define MySql_Database "testradm" //Numele bazei de date.
    #define MySql_Password "" //Parola de conectare cu MySQL

    #define BVLVL1 (10) // Ore pentru vip level 1.
    #define BVLVL2 (20) // Ore pentru vip level 2.
    #define BVLVL3 (30) // Ore pentru vip level 3.

    #define ADMIN_SPEC_TYPE_NONE ( 0 ) // Nu schimba
    #define ADMIN_SPEC_TYPE_PLAYER ( 1 ) // Nu schimba
    #define ADMIN_SPEC_TYPE_VEHICLE ( 2 ) // Nu schimba

    // |_________________Colors_________________|

    #define R "{FF0000}"
    #define G "{C0FF00}"
    #define W "{FFFFFF}"

    // |_________________Functions_________________|

    #define Function::%0(%1) forward%0(%1); public%0(%1)

    stock bool:False = false;
    native WP_Hash( buffer [ ], len, const str [ ] );

    #define AC(%0,%1)
    do{
    if( P_DATA[ ( %0 ) ][ aLevel ] < ( %1 ) ){
    gString[ 0 ] = EOS;
    format( gString , 144 , "~r~~h~ERROR~n~~w~Tu nu ai admin level~y~~h~%d ~w~pentru a folosi comanda !", ( %1 ) );
    return GameTextForPlayer( ( %0 ) , gString , 2000 , 4 );
    }
    }
    while( False )

    #define VC(%0,%1)
    do{
    if( P_DATA[ ( %0 ) ][ vLevel ] < ( %1 ) ){
    gString[ 0 ] = EOS;
    format( gString , 144 , "~r~~h~ERROR~n~~w~Tu nu ai V.I.P level ~y~~h~%d ~w~pentru a folosi comanda !", ( %1 ) );
    return GameTextForPlayer( ( %0 ) , gString , 2000 , 4 );
    }
    }
    while( False )

    #define SCMF(%0,%1,%2,%3)
    do{
    gString[ 0 ] = EOS;
    format( gString , 256 , ( %2 ) , %3 );
    SendClientMessage( ( %0 ) , ( %1 ) , gString );
    }
    while( False )

    #define SCMTAF(%0,%1,%2)
    do{
    gString[ 0 ] = EOS;
    format( gString , 256 , ( %1 ) , %2 );
    SendClientMessageToAll( ( %0 ) , gString );
    }
    while( False )

    #define TDString(%0,%1,%2,%3)
    do{
    gString[ 0 ] = EOS;
    format( gString , 256 , ( %2 ) , %3 );
    TextDrawSetString((%1), gString);
    TextDrawShowForPlayer(( %0 ), (%1) );
    }
    while( False )

    /* ___________________________________________
    | New and Enum |
    |___________________________________________| */

    enum pInf
    {
    Password[ 129 ] , Kills , Deaths ,
    aLevel , vLevel , Money ,
    Score , Coins , pCount ,
    bool:Freeze , Warns , SpecID ,
    SpecType , Jailed , JailTimer ,
    JailTime , pIp[ 16 ] , Banned ,
    bReason[ 30 ] , BannedBy[ 25 ] , BanIP[ 16 ] ,
    iGoto , LoginTrs , Ore ,
    Minute , Secunde , ConnTime ,
    AllTime , SkinPreferat
    }

    enum
    {
    D_Register,
    D_Login,
    D_bVip,
    D_Info
    };

    new P_DATA[ MAX_PLAYERS ][ pInf ] ,
    gString[ 1000 ] = " ",
    player = 0,
    gQuery[ 1000 ] = " ",
    Text: BoX,
    Text: TDBannedBy,
    Text: TDBanReason,
    Text: BanDet1,
    Text: BanDet2,
    Text: BanDet3,
    Text: BanDet4,
    Text: BanDet5,
    Float: X = 0.0,
    Float: Y = 0.0,
    Float: Z = 0.0,
    rHandle = -1;

    main()
    {
    print(" BlackFlash") ;

    }

    public OnGameModeInit()
    {
    UsePlayerPedAnims();
    EnableStuntBonusForAll(0); // pentru a nu mai iti da bani la triks cu masini
    DisableInteriorEnterExits(); // sa nu mai apara usi la case
    SetGameModeText( "GM" ) ;

    rHandle = mysql_connect( MySql_Host , MySql_User , MySql_Database , MySql_Password );
    mysql_log ( LOG_ERROR | LOG_WARNING | LOG_DEBUG , LOG_TYPE_HTML );

    if( rHandle )
    printf( "[ > rAdmin < ]: Conexiunea la baza de date [%s] a avut succes!" , MySql_Database );
    else printf( "[ > rAdmin < ]: Conexiunea la baza de date [%s] nu a avut succes!", MySql_Database );

    gString[ 0 ] = EOS;
    format( gString, 128, "weburl %s", SEVER_URL );
    SendRconCommand( gString );

    format( gString, 128, "rcon_password %s", SEVER_RCON );
    SendRconCommand( gString );

    format( gString, 128, "hostname %s", SERVER_HOSTNAME );
    SendRconCommand( gString );

    format( gString, 128, "mapname %s", SEVER_MAPNAME );
    SendRconCommand( gString );

    //Ban Detalies
    BoX = TextDrawCreate(38.000000, 150.000000, "__");
    TextDrawBackgroundColor(BoX, 255);
    TextDrawFont(BoX, 1);
    TextDrawLetterSize(BoX, 1.200000, 11.499990);
    TextDrawColor(BoX, -1);
    TextDrawSetOutline(BoX, 1);
    TextDrawSetProportional(BoX, 1);
    TextDrawUseBox(BoX, 1);
    TextDrawBoxColor(BoX, 849);
    TextDrawTextSize(BoX, 311.000000, 31.000000);

    TDBannedBy = TextDrawCreate(40.000000, 152.000000, "Banned-By: %s");
    TextDrawBackgroundColor(TDBannedBy, 255);
    TextDrawFont(TDBannedBy, 1);
    TextDrawLetterSize(TDBannedBy, 0.360000, 1.300000);
    TextDrawColor(TDBannedBy, -1);
    TextDrawSetOutline(TDBannedBy, 0);
    TextDrawSetProportional(TDBannedBy, 1);
    TextDrawSetShadow(TDBannedBy, 1);

    TDBanReason = TextDrawCreate(40.000000, 180.000000, "Ban-Reason: %s");
    TextDrawBackgroundColor(TDBanReason, 255);
    TextDrawFont(TDBanReason, 1);
    TextDrawLetterSize(TDBanReason, 0.360000, 1.300000);
    TextDrawColor(TDBanReason, -1);
    TextDrawSetOutline(TDBanReason, 0);
    TextDrawSetProportional(TDBanReason, 1);
    TextDrawSetShadow(TDBanReason, 1);

    gString[ 0 ] = EOS;
    format( gString, 256, "~r~D~w~aca crezi ca ai luat ban pe nedrept ~n~ fa o cerere de unban pe ~g~%s", SEVER_URL );
    BanDet1 = TextDrawCreate(40.000000, 205.000000, gString );
    TextDrawBackgroundColor(BanDet1, 255);
    TextDrawFont(BanDet1, 1);
    TextDrawLetterSize(BanDet1, 0.360000, 1.300000);
    TextDrawColor(BanDet1, -1);
    TextDrawSetOutline(BanDet1, 0);
    TextDrawSetProportional(BanDet1, 1);
    TextDrawSetShadow(BanDet1, 1);

    BanDet2 = TextDrawCreate(40.000000, 169.000000, "||||||||||||||||||||||||||||");
    TextDrawBackgroundColor(BanDet2, 255);
    TextDrawFont(BanDet2, 1);
    TextDrawLetterSize(BanDet2, 0.360000, 1.300000);
    TextDrawColor(BanDet2, -1);
    TextDrawSetOutline(BanDet2, 0);
    TextDrawSetProportional(BanDet2, 1);
    TextDrawSetShadow(BanDet2, 1);

    BanDet3 = TextDrawCreate(40.000000, 196.000000, "||||||||||||||||||||||||||||");
    TextDrawBackgroundColor(BanDet3, 255);
    TextDrawFont(BanDet3, 1);
    TextDrawLetterSize(BanDet3, 0.360000, 1.300000);
    TextDrawColor(BanDet3, -1);
    TextDrawSetOutline(BanDet3, 0);
    TextDrawSetProportional(BanDet3, 1);
    TextDrawSetShadow(BanDet3, 1);

    BanDet4 = TextDrawCreate(35.000000, 141.000000, "||||||||~r~Ban~w~-~g~Detalies~w~||||||||");
    TextDrawBackgroundColor(BanDet4, 255);
    TextDrawFont(BanDet4, 2);
    TextDrawLetterSize(BanDet4, 0.360000, 1.300000);
    TextDrawColor(BanDet4, -1);
    TextDrawSetOutline(BanDet4, 0);
    TextDrawSetProportional(BanDet4, 1);
    TextDrawSetShadow(BanDet4, 1);

    BanDet5 = TextDrawCreate(40.000000, 230.000000, "~r~D~w~ar fa screen apasand ~g~F8 ~w~ca dovada !");
    TextDrawBackgroundColor(BanDet5, 255);
    TextDrawFont(BanDet5, 1);
    TextDrawLetterSize(BanDet5, 0.360000, 1.300000);
    TextDrawColor(BanDet5, -1);
    TextDrawSetOutline(BanDet5, 0);
    TextDrawSetProportional(BanDet5, 1);
    TextDrawSetShadow(BanDet5, 1);

    return ( 1 );
    }

    public OnFilterScriptExit( )
    {
    mysql_close( rHandle );
    return ( 1 );
    }

    public OnPlayerConnect( playerid )
    {
    for( new pInf:PlayerData; PlayerData < pInf; PlayerData++ )
    P_DATA[ playerid ][ PlayerData ] = 0;

    P_DATA[ playerid ][ ConnTime ] = gettime( );
    gQuery[ 0 ] = EOS;

    mysql_format( rHandle, gQuery , 256 , "SELECT * FROM `banlist` WHERE `Name` = '%e' OR `IP` = '%s' LIMIT 1;" , GetName( playerid ) , GetIP( playerid ) );
    mysql_tquery( rHandle , gQuery , "CheckBan" , "d" , playerid );

    return ( 1 );
    }

    public OnPlayerSpawn( playerid )
    {
    if( P_DATA[ playerid ][ SkinPreferat ] == -1 )
    return SetPlayerSkin( playerid , P_DATA[ playerid ][ SkinPreferat ] ) , SendClientMessage( playerid , -1 , "[ > "R"rVip "W"< ]: Daca nu mai folosesti acest skin scrie /skinout !" );

    return ( 1 );
    }

    public OnPlayerUpdate( playerid )
    {
    if( GetPlayerMoney( playerid ) != rGetPlayerMoney( playerid ) )
    {
    gString[ 0 ] = EOS;
    format( gString, 128, "[ > "R"AdmWarn"W" < ]: Playerul %s foloseste hack de bani.", GetName( playerid ) );
    MessageToAdmins( gString );
    rGivePlayerMoney( playerid, rGetPlayerMoney( playerid ) );
    }
    return ( 1 );
    }

    public OnPlayerDisconnect( playerid, reason )
    {
    SavePlayerData( playerid );
    return ( 1 );
    }

    public OnPlayerCommandPerformed( playerid, cmdtext [ ], success )
    {
    if( !success )
    { SCMF( playerid, -1 , ""R"Error"W": Comanda '"G"%s"W"' nu exista" , cmdtext ); }

    return ( 1 );
    }

    public OnPlayerCommandReceived( playerid, cmdtext[] )
    {
    if( P_DATA[ playerid ][ Jailed ] == 1 )
    {
    SendClientMessage( playerid , -1 ,""R"Error"W": "G"N"W"u poti folosi comenzi in "R"Puscarie"W"!" );
    return 0;
    }

    if( !IsPlayerConnected( playerid ) )
    return 0;


    return ( 1 );
    }

    public OnPlayerDeath(playerid, killerid, reason)
    {
    #if DeathMessage == 1
    SendDeathMessage( killerid , playerid , reason );
    #endif

    if( killerid != INVALID_PLAYER_ID )
    {
    P_DATA[ killerid ][ Kills ] += 1;
    P_DATA[ playerid ][ Deaths ] += 1;
    }

    return ( 1 );
    }

    public OnDialogResponse( playerid, dialogid, response, listitem, inputtext [ ] )
    {
    switch( dialogid )
    {
    case D_Register:
    {
    if( !response )
    return KickEx( playerid );

    new string[256], liPass[ 129 ];

    gQuery[ 0 ] = EOS;
    format(string, 256, "{FFFFFF}Nu ai introdus nici o parola!n{FFFFFF}Te rugam introdu parola cu care vrei sa te inregistrezi!");

    if(!strlen(inputtext))
    return ShowPlayerDialog( playerid, D_Register, DIALOG_STYLE_PASSWORD, "{C0FF00}Inregistrare", gQuery, "Register", "Kick" );

    WP_Hash( liPass, sizeof( liPass ), inputtext );
    mysql_format( rHandle, gQuery, sizeof(gQuery),"INSERT INTO `users`( Name, Password, IP, Kills, Deaths, Money, AdminLevel ) VALUES( '%e', '%e', '%s', 0, 0, 0, 0 )", GetName( playerid ), liPass, GetIP( playerid ) );
    mysql_tquery( rHandle , gQuery , "" , "" );
    mysql_tquery( rHandle, "SELECT * FROM `users`", "RegisterdPlayers", "d", playerid );
    }

    case D_Login:
    {
    if(!response)
    return KickEx( playerid );

    new liPass[ 129 ];
    gQuery[ 0 ] = EOS;
    WP_Hash( liPass, sizeof( liPass ), inputtext );
    mysql_format( rHandle, gQuery, 256 , "SELECT `Name` FROM `users` WHERE `Name` = '%e' AND `Password` = '%e' LIMIT 1;", GetName( playerid ), liPass );
    mysql_tquery( rHandle, gQuery, "Query_LoadP_DATA", "d", playerid );
    }

    case D_bVip:
    {
    if( !response )
    return SendClientMessage( playerid , -1 , "Deci nu cumperi nimic !" );

    switch( listitem )
    {
    case 0:
    {
    if( P_DATA[ playerid ][ vLevel ] == 1 || P_DATA[ playerid ][ vLevel ] > 1 )
    return SendClientMessage( playerid, -1, ""R"Error"W": Tu ai deja acest level de V.I.P" );

    if( P_DATA[ playerid ][ Ore ] <= BVLVL1 )
    return SendClientMessage( playerid, -1 , ""R"Error"W": Tu nu ai suficiente ore" );

    P_DATA[ playerid ][ vLevel ] = 1;
    P_DATA[ playerid ][ Ore ] -= BVLVL1;

    SendClientMessage( playerid, -1, "Ai cumparat V.I.P Level 1( Silver V.I.P )" );

    }

    case 1:
    {
    if( P_DATA[ playerid ][ vLevel ] == 2 || P_DATA[ playerid ][ vLevel ] > 2 )
    return SendClientMessage( playerid, -1, ""R"Error"W": Tu ai deja acest level de V.I.P" );

    if( P_DATA[ playerid ][ Ore ] <= BVLVL2 )
    return SendClientMessage( playerid, -1, ""R"Error"W": Tu nu ai suficiente ore" );

    P_DATA[ playerid ][ vLevel ] = 2;
    P_DATA[ playerid ][ Ore ] -= BVLVL2;

    SendClientMessage( playerid, -1, "Ai cumparat V.I.P Level 2( Bronze V.I.P )" );

    }

    case 2:
    {
    if( P_DATA[ playerid ][ vLevel ] == 3 || P_DATA[ playerid ][ vLevel ] > 3 )
    return SendClientMessage( playerid, -1 , ""R"Error"W": Tu ai deja acest level de V.I.P" );

    if( P_DATA[ playerid ][ Ore ] <= BVLVL3 )
    return SendClientMessage( playerid, -1, ""R"Error"W": Tu nu ai suficiente ore" );

    P_DATA[ playerid ][ vLevel ] = 3;
    P_DATA[ playerid ][ Ore ] -= BVLVL3;

    SendClientMessage( playerid, -1, "Ai cumparat V.I.P Level 3( Gold V.I.P )" );

    }

    }
    }
    }
    return ( 1 );
    }

    public OnPlayerText( playerid, text [ ] )
    {
    if( IsPlayerConnected( playerid ) )
    {
    gString[ 0 ] = EOS;
    if( text[ 0 ] == '@' )
    {
    if( P_DATA[ playerid ][ aLevel ] > 0 )
    {
    format( gString, 256, ""R"%s"W"(%d)["G"Admin"W"]: "R"%s", GetName( playerid ), playerid, text[ 1 ] );
    MessageToAdmins( gString );
    return 0;
    }
    }

    if( text[ 0 ] == '!' )
    {
    if( P_DATA[ playerid ][ vLevel ] > 0 )
    {
    format( gString, 256, ""R"%s"W"(%d)["G"V.I.P"W"]: "R"%s", GetName( playerid ), playerid, text[ 1 ] );
    MessageToVips( gString );
    return 0;
    }
    }

    format( gString, 256, "(%d): %s", playerid, text );
    SendPlayerMessageToAll( playerid, gString );
    return 0;
    }
    return ( 0 );
    }

    /* ___________________________________________
    | Level 1 |
    |___________________________________________| */

    CMD:acmds( playerid, params [ ] )
    {
    AC( playerid , 1 );

    gString[ 0 ] = EOS;
    strcat( gString, "n{FF0000}Level {C0FF00}1{FFFFFF}: /asay, /settime, /setalltime, /slap, /akill", sizeof( gString ) );
    strcat( gString, "n{FF0000}Level {C0FF00}2{FFFFFF}: /jail, /unjail, /spec, /warn, /unwarn, /miniguns, /freeze, /unfreeze, /freezeall, /unfreezeall", sizeof( gString ) );
    strcat( gString, "n{FF0000}Level {C0FF00}3{FFFFFF}: /healall, /armourall, /get, /kick, /giveweapon, /setskin", sizeof( gString ) );
    strcat( gString, "n{FF0000}Level {C0FF00}4{FFFFFF}: /setallskin, /goto, /destroy, /fuckoff, /ban, /killall", sizeof( gString ) );
    strcat( gString, "n{FF0000}Level {C0FF00}5{FFFFFF}: /announce, /giveallweapon, /unban, /fakechat, /fakecmd, /setcoins, /setph", sizeof( gString ) );
    strcat( gString, "nnPentru a vorbi in chat-ul adminilor foloseste '{C0FF00}@{FFFFFF}' inainte de propozitie", sizeof( gString ) );
    ShowPlayerDialog( playerid, D_Info, DIALOG_STYLE_MSGBOX, "{C0FF00}Admin{FFFFFF}-{FF0000}Commands", gString, "Ok", "" );

    return ( 1 );
    }

    CMD:asay( playerid , params [ ] )
    {
    AC( playerid , 1 );

    new
    message[ 128 ] ;

    if(sscanf( params, "s[128]", message ) )
    return SendClientMessage( playerid, -1 , ""R"Foloseste"W": /asay "W"< "G"message "W">" );

    foreach(new i: Player)SCMF( i, -1, "[ "R"%s "W"|| "G"%s"W" ]: %s ", GetAdminRank( P_DATA[ playerid ][ aLevel ] ), GetName( playerid ), message );

    return ( 1 );
    }

    CMD:settime( playerid , params [ ] )
    {
    AC( playerid , 1 );

    new
    Time ;

    if( sscanf( params, "ud", player, Time ) )
    return SendClientMessage( playerid, -1, ""R"Foloseste"W": /settime < "G"Player "W"|| "G"Time "W">" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid, 1 );

    if( P_DATA[ player ][ aLevel ] == MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL )
    return SendError( playerid, 2 );

    if( Time < 0 || Time > 24 )
    return SendClientMessage( playerid, -1, ""R"Error"W": O ora intre 0 si 24" );

    SetPlayerTime( player , Time , 00 );

    return ( 1 );
    }

    CMD:setalltime( playerid , params [ ] )
    {
    AC( playerid , 1 );

    new
    Time ;

    if( sscanf( params , "d" , Time ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /settime < Time >" );

    if( Time < 0 || Time > 24 )
    return SendClientMessage( playerid , -1 , ""R"Error"W": O ora intre 0 si 24" );

    SetWorldTime( Time );

    return ( 1 );
    }

    CMD:slap( playerid , params [ ] )
    {
    AC( playerid , 1 );

    new
    Float:Pos[ 3 ];

    if( sscanf( params , "u" , player ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /slap < Player >" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( P_DATA[ player ][ aLevel ] == MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL )
    return SendError( playerid , 2 );

    GetPlayerPos( player , Pos[ 0 ] , Pos[ 1 ] , Pos[ 2 ] );
    SetPlayerPos( player , Pos[ 0 ] , Pos[ 1 ] , Pos[ 2 ] + 5 );

    SCMF( player , -1 , "[ > "R"rAdmin "W"< ]:Ai primit slap de la "G"%s" , GetName( playerid ) );
    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]:I-ai dat lui "G"%s "W"slap" , GetName( player ) );

    return ( 1 );
    }

    CMD:akill( playerid , params [ ] )
    {
    AC( playerid , 1 );
    new
    reason[ 25 ];

    if( sscanf( params , "us[25]" , player , reason ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /akill < "G"Player "W"|| "G"Reason "W">");

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( P_DATA[ player ][ aLevel ] == MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL )
    return SendError( playerid , 2 );

    if( strlen( reason ) < 5 )
    return SendError( playerid , 3 );

    SetPlayerHealth( player , 0.0 );

    SCMF( player , -1 , "[ > "R"rAdmin "W"< ]: Ai primit Kill de la adminul "G"%s"W" < "R"Reason"W": "G"%s "W">" , GetName( playerid ) , reason );
    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: I-ai dat Kill lui "G"%s "W"< "R"Reason"W": "G"%s "W">" , GetName( player ) , reason );

    return ( 1 );
    }

    /* ___________________________________________
    | Level 2 |
    |___________________________________________| */

    CMD:jail( playerid , params[ ] )
    {
    AC( playerid , 2 );

    new
    time ,
    reason[ 128 ] ;

    if( sscanf( params , "uds[128]" , player , time , reason ) )
    return SendClientMessage(playerid,1,""R"Foloseste"W": /jail < "G"Player "W"|| "G"Minutes "W"|| "G"Reason "W">");

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if(P_DATA[ player ][Jailed] != 0)
    return SendClientMessage( playerid , -1 , ""R"Error"W": Playerul este deja in jail !" );

    P_DATA[ player ][ JailTime ] = time * 1000 * 60;

    SetTimerEx("JailPlayer", 5000, 0, "d", player);
    SetTimerEx("Jail1", 1000, 0, "d", player);

    P_DATA[player][Jailed] = 1;

    SCMTAF(-1 , ""G"%s"W" a primit jail pentru "R"%d"W" minute de la adminul "G"%s"W" < "R"R"W"eason: "G"%s "W">", GetName(player), time, GetName(playerid), reason);

    return ( 1 );
    }

    CMD:unjail( playerid , params[ ] )
    {
    AC( playerid , 2 );

    if( sscanf( params , "u" , player ) )
    return SendClientMessage( playerid , 1 , ""R"Foloseste"W": /unjail < Player >" );

    if( P_DATA[player][aLevel] == MAX_A_LEVEL && P_DATA[playerid][aLevel] != MAX_A_LEVEL && player == INVALID_PLAYER_ID )
    return SendClientMessage(playerid, 1, ""R"Error"W": Playerul nu este conectat ori are level de admin prea mare !");

    if(P_DATA[player][Jailed] != 1)
    return SendClientMessage( playerid , -1 , "Playerul nu este in jail" );

    SCMF( player , -1 , "[ > Jail News < ]:Administratorul %s te-a scos din inchisoare !" , GetName( playerid ) );
    SCMTAF(1 , "[ > Jail News < ]: %s a iesit din puscarie !" , GetName( player ) );

    UnjailPlayer( player );

    return ( 1 );
    }

    CMD:spec( playerid , params[ ] )
    {
    AC( playerid , 2 );

    new
    Float:Pos[ MAX_PLAYERS ][ 4 ];

    if( sscanf ( params , "u" , player ) )
    return SendClientMessage(playerid,-1,""R"Foloseste"W": /spec < Player >");

    if(!IsPlayerConnected( player ) && player == INVALID_PLAYER_ID && player == playerid )
    return SendError( playerid , 1 );

    if( GetPlayerState( player ) == PLAYER_STATE_SPECTATING && P_DATA[ player ][ SpecID ] != INVALID_PLAYER_ID )
    return SendClientMessage(playerid, -1, "< "R"Spectate "W">: "G"P"W"layerul este spec pe alcineva !");

    if( GetPlayerState( player ) != 1 && GetPlayerState( player ) != 2 && GetPlayerState( player ) != 3 )
    return SendClientMessage(playerid, -1, "< "R"Spectate "W">: "G"P"W"layerul nu este spawnat !" );

    if( ( P_DATA[ player ][ aLevel ] != MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL ) )
    return SendError( playerid , 2 );

    StartSpectate( playerid , player );
    GetPlayerPos( playerid , Pos[ playerid ][ 0 ] , Pos[ playerid ][ 1 ] , Pos[ playerid ][ 2 ] );
    GetPlayerFacingAngle( playerid , Pos[ playerid ][ 3 ] );

    return ( 1 );
    }

    CMD:warn( playerid , params [ ] )
    {
    AC( playerid , 2 );

    new reason[ 128 ];

    if( sscanf( params , "us[128]" , player , reason ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /warn < Player || reason >" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( ( P_DATA[ player ][ aLevel ] != MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL ) )
    return SendError( playerid , 2 );

    if( strlen( reason ) < 5 )
    return SendError( playerid , 3 );

    P_DATA[ player ][ Warns ] ++;

    SCMTAF( -1 , "[ > "R"rAdmin "W"< ]%s a primit warn de la adminul %s < Reason: %s || %d/%d >" , GetName( player ) , GetName( playerid ) , reason , P_DATA[ player ][ Warns ] , MAX_WARNS );

    if( P_DATA[ player ][ Warns ] >= MAX_WARNS )
    {
    SCMTAF( -1 , "[ > "R"rAdmin "W"< ]%s a primit kick ! Reason: %d/%d Warns" , GetName( playerid ) , P_DATA[ player ][ Warns ], MAX_WARNS );
    KickEx( player );
    }

    return ( 1 );
    }

    CMD:unwarn( playerid , params [ ] )
    {
    AC( playerid , 2 );

    if( sscanf( params , "u" , player ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /unwarn < Player >" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( ( P_DATA[ player ][ aLevel ] != MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL ) )
    return SendError( playerid , 2 );

    if( P_DATA[ player ][ Warns ] == 0 )
    {
    SCMTAF( -1 , "[ > "R"rAdmin "W"< ]%s are deja 0 warnuri" , GetName( player ) );
    }

    P_DATA[ player ][ Warns ] --;

    SCMTAF( -1 , "[ > "R"rAdmin "W"< ]%s a primit unwarn de la adminul %s < %d/%d >" , GetName( player ) , GetName( playerid ) , P_DATA[ player ][ Warns ] , MAX_WARNS );

    return ( 1 );
    }

    CMD:miniguns( playerid , params [ ] )
    {
    AC( playerid , 2 );

    new
    bool:First2233 = false,
    Count ,
    string[ 128 ],
    slot ,
    weap ,
    ammos ;

    foreach(new i: Player)
    {
    if( IsPlayerConnected( i ) )
    {
    for( slot = 0; slot < 14; slot++ )
    {
    GetPlayerWeaponData( i , slot , weap , ammos );
    if( ammos != 0 && weap == 38 )
    {
    Count++;
    if( !First2233 )
    {
    SCMF( playerid , -1 , ""R"Minigun"W": "W"( %d )%s ( ammo %d )" , i , GetName( i ) , ammos );
    First2233 = true;
    }
    else SCMF( playerid , -1 , ""R"%s "W", "W"( %d ) %s ( ammo%d ) " , string , i , GetName( i ) , ammos );
    }
    }
    }
    }

    if( Count == 0 )
    return SendClientMessage( playerid , -1 , ""R"N"W"ici un player nu are minigun !" );

    return ( 1 );
    }

    CMD:freeze( playerid , params [ ] )
    {
    AC( playerid , 2 );

    new
    reason[ 128 ] ;

    if( sscanf ( params , "us[128]" , player , reason ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /freeze < Player || reason >" );

    if( ( P_DATA[ player ][ aLevel ] != MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL ) )
    return SendError( playerid , 2 );

    if( strlen( reason ) < 5 )
    return SendError( playerid , 3 );

    P_DATA[ player ][ Freeze ] = true;
    TogglePlayerControllable( player , false );

    SCMF( playerid , -1 , ""W"A"W"i primit Freeze de la adminul "G"%s"W"." ,GetName( playerid ) );

    return ( 1 );
    }

    CMD:unfreeze( playerid , params [ ] )
    {
    AC( playerid , 2 );

    if( sscanf ( params , "u" , player ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /unfreeze < "G"playerid "W">" );

    if( ( P_DATA[ player ][ aLevel ] != MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL ) )
    return SendError( playerid , 2 );

    P_DATA[ player ][ Freeze ] = false;
    TogglePlayerControllable( player , true );
    SCMF( playerid , -1 , ""R"A"W"i primit UnFreeze de la adminul "G"%s"W"." ,GetName( playerid ) );

    return ( 1 );
    }

    CMD:freezeall( playerid , params [ ] )
    {
    AC( playerid , 2 );

    foreach(new i: Player)
    {
    P_DATA[ i ][ Freeze ] = true;
    TogglePlayerControllable( i , false );

    SCMF( i , -1 , ""R"A"W"minul "G"%s "W"a dat tuturor freeze"W"." ,GetName( playerid ) );
    }

    return ( 1 );
    }

    CMD:unfreezeall( playerid , params [ ] )
    {
    AC( playerid , 2 );

    foreach(new i: Player)
    {
    P_DATA[ i ][ Freeze ] = false;
    TogglePlayerControllable( i , true );

    SCMF( i , -1 , ""R"A"W"minul "G"%s "W"a dat tuturor unfreeze"W"." ,GetName( playerid ) );
    }

    return ( 1 );
    }

    /* ___________________________________________
    | Level 3 |
    |___________________________________________| */

    CMD:healall( playerid , params [ ] )
    {
    AC( playerid , 3 );

    foreach(new i: Player)
    {
    SetPlayerHealth( i , 100.0 );
    SCMF( i , -1 , ""R"A"W"dminul < "G"%s "W"> a dat la toti "R"viata" , GetName( playerid ) );
    }

    return ( 1 );
    }

    CMD:armourall( playerid , params [ ] )
    {
    AC( playerid , 3 );

    foreach(new i: Player)
    {
    SetPlayerArmour( i , 100.0 );
    SCMF( i , -1 , ""R"A"W"dminul < "G"%s "W"> a dat la toti "R"armura" , GetName( playerid ) );
    }

    return ( 1 );

    }

    CMD:giveweapon( playerid , params [ ] )
    {
    new
    WeapID ,
    Bullets ;

    if( sscanf( params , "udd" , player , WeapID , Bullets ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /giveweapon < Player || WeapID || Bullets >" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( WeapID == 38 )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Nu poti da nimanui Minigun" );

    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: I-ai dat lui %s un < %s || %d gloante >" , GetName( player ) , GetwName( WeapID ) , Bullets );
    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: Adminul %s ti-a dat un < %s || %d gloante >" , GetName( playerid ) , GetwName( WeapID ) , Bullets );

    GivePlayerWeapon( player , WeapID , Bullets );

    return ( 1 );
    }

    CMD:get( playerid , params [ ] )
    {
    AC( playerid , 3 );

    if( sscanf( params , "u" , player ) )
    return SendClientMessage(playerid,-1,""R"Foloseste"W": /get < "G"playerid "W">");

    if( P_DATA[ playerid ][ aLevel ] < P_DATA[ player ][ aLevel ] )
    return SendError( playerid , 2 );

    if( !IsPlayerConnected( player ) && player == INVALID_PLAYER_ID && player == playerid )
    return SendError( playerid , 1 );

    new
    Float:Pos[ 3 ] ;

    GetPlayerPos( playerid , Pos[ 0 ] , Pos[ 1 ] , Pos[ 2 ] );
    SetPlayerInterior( player , GetPlayerInterior( playerid ) );
    SetPlayerVirtualWorld( player , GetPlayerVirtualWorld( playerid ) );

    if( GetPlayerState( player ) == 2 )
    {
    SetVehiclePos( GetPlayerVehicleID( player ) , Pos[ 0 ] + 3 , Pos[ 1 ] , Pos[ 2 ] );
    LinkVehicleToInterior( GetPlayerVehicleID( player ) , GetPlayerInterior( playerid ) );
    SetVehicleVirtualWorld( GetPlayerVehicleID( player ) , GetPlayerVirtualWorld( playerid ) );
    }
    else SetPlayerPos( player , Pos[ 0 ] + 3 , Pos[ 1 ] , Pos[ 2 ] );

    SCMF( player , -1 , ""R"T"W"u ai fost teleportat la adminul "G"%s" , GetName( playerid ) );
    SCMF( playerid , -1 , ""R"T"W"u ai teleportat pe "G"%s "W"la loctia ta." , GetName( player ) );

    return ( 1 );
    }

    CMD:kick( playerid , params [ ] )
    {
    AC( playerid , 3 );

    new
    reason[ 128 ] ;

    if( sscanf( params , "us[128]" , player , reason ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /kick < "G"playerid "W"|| "G"reason "W">" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( P_DATA[ playerid ][ aLevel ] < P_DATA[ player ][ aLevel ] )
    return SendError( playerid , 2 );

    if( strlen( reason ) < 5 )
    return SendError( playerid , 3 );

    SCMTAF( -1 , "Adminul %s i-a dat kick lui %s < Reason: %s >" , GetName( playerid ) , GetName( player ) , reason );

    KickEx( player );

    return ( 1 );
    }

    CMD:setskin( playerid , params [ ] )
    {
    AC( playerid , 3 );

    new
    SkinID ;

    if( sscanf( params , "ud" , player , SkinID ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /setskin < Player || skinid >" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( SkinID < 0 || SkinID > 300 )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Alege un skin intre 0 si 299" );

    if( P_DATA[ player ][ aLevel ] == MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL )
    return SendError( playerid , 2 );

    SetPlayerSkin( player , SkinID );
    SCMTAF( -1 , "[ > "R"rAdmin "W"< ]: %s a setat skinul lui %s la %d" , GetName( playerid ) , GetName( player ) , SkinID );

    return ( 1 );
    }

    /* ___________________________________________
    | Level 4 |
    |___________________________________________| */

    CMD:setallskin( playerid , params [ ] )
    {
    AC( playerid , 3 );

    new
    SkinID ;

    if( sscanf( params , "d" , SkinID ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /setskin < skinid >" );


    if( SkinID < 0 || SkinID > 300 )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Alege un skin intre 0 si 299" );

    foreach(new i: Player)
    {
    SetPlayerSkin( i , SkinID );
    SCMF( i , -1 , "[ > "R"rAdmin "W"< ]: %s a setat skinul tuturor la %d" , GetName( playerid ) , SkinID );
    }

    return ( 1 );
    }

    CMD:goto( playerid , params [ ] )
    {
    AC( playerid , 4 );

    if( sscanf( params , "u" , player ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /goto < Player >" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( P_DATA[ player ][ iGoto ] == 1 )
    return SendClientMessage( playerid , -1 , "Playerul are /igoto activ !" );

    PTP( playerid , player );

    return ( 1 );
    }

    CMD:destroy( playerid , params [ ] )
    {

    AC( playerid , 4 );

    new
    reason[ 128 ] ;

    if( sscanf( params , "us[128]" , player , reason ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /destroy < "G"playerid "W"|| "G"reason "W">" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( P_DATA[ playerid ][ aLevel ] < P_DATA[ player ][ aLevel ] )
    return SendError( playerid , 2 );

    if( strlen( reason ) < 5 )
    return SendError( playerid , 3 );

    SCMTAF( -1 , "%s a fost distrus de adminul %s < Reason: %s >" , GetName( player ) , GetName( playerid ) , reason );

    Destroy( player );

    return ( 1 );
    }

    CMD:fuckoff( playerid , params [ ] )
    {

    AC( playerid , 4 );

    new
    reason[ 128 ] ,
    did ;

    if( sscanf( params , "us[128]" , player , reason , did ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /fuckoff < "G"playerid "W"|| "G"reason "W"|| "G"DickID "W">" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( P_DATA[ playerid ][ aLevel ] < P_DATA[ player ][ aLevel ] )
    return SendError( playerid , 2 );

    if( strlen( reason ) < 5 )
    return SendError( playerid , 3 );

    switch( did )
    {
    case 0: SetPlayerAttachedObject( player , 0 , 19086 , 1 , -0.138168 , -0.810472 , 0.105041 , 83.253662 , 96.355049 , 0.000000 , 1.000000 , 1.000000 , 1.000000 );
    case 1: SetPlayerAttachedObject( player , 0 , 321 , 1 , -0.250703 , -0.391544 , -0.033222 , 83.325088 , 194.782318 , 355.200500 , 1.000000 , 1.000000 , 1.000000 );
    case 2: SetPlayerAttachedObject( player , 0 , 322 , 1 , -0.322230 , -0.068632 , -0.103511 , 270.941406 , 4.288497 , 237.309173 , 1.000000 , 1.000000 , 1.000000 );
    }

    Destroy( player );

    SCMTAF( -1 , "[ > "R"rAdmin "W"< ]%s a luat mu*e de adminul %s < Reason: %s >" , GetName( player ) , GetName( playerid ) , reason );

    return ( 1 );
    }

    CMD:ban( playerid , params [ ] )
    {
    AC( playerid , 4 );

    new
    reason[ 128 ] ;

    if( sscanf( params , "us[128]" , player , reason ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /ban < "G"playerid "W"|| "G"reason "W">" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( P_DATA[ playerid ][ aLevel ] < P_DATA[ player ][ aLevel ] )
    return SendError( playerid , 2 );

    if( strlen( reason ) < 5 )
    return SendError( playerid , 3 );

    gQuery[ 0 ] = EOS;

    mysql_format( rHandle, gQuery , 500 , "UPDATE `banlist` SET IP = '%s' , Banned = 1 , Reason = '%s' , BannedBy = '%s' WHERE `Name` = '%s' LIMIT 1;" , GetIP( player ) , reason , GetName( playerid ), GetName( player ) );
    mysql_tquery( rHandle , gQuery , "" , "" );

    TextDrawShowForPlayer( player , BoX );
    TextDrawShowForPlayer( player , BanDet1 );
    TextDrawShowForPlayer( player , BanDet2 );
    TextDrawShowForPlayer( player , BanDet3 );
    TextDrawShowForPlayer( player , BanDet4 );
    TextDrawShowForPlayer( player , BanDet5 );

    TDString( player , TDBannedBy , "~r~B~w~anned-By: ~g~%s" , GetName( playerid ) );
    TDString( player , TDBanReason , "~r~B~w~an-Reason: ~g~%s" , reason );

    KickEx( player );

    return ( 1 );
    }

    CMD:killall( playerid , params [ ] )
    {
    AC( playerid , 4 );

    foreach(new i: Player) SetPlayerHealth( i , 0.0 );

    SCMTAF( -1 , "[ > "R"rAdmin "W"< ]: %s a omorat pe toata lumea !" , GetName( playerid ) );

    return ( 1 );
    }

    /* ___________________________________________
    | Level 5 |
    |___________________________________________| */

    CMD:announce( playerid , params [ ] )
    {
    AC( playerid , 5 );

    new
    msg[128];

    if( sscanf ( params , "s[128]" , msg ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /announce < "G"text "W">" );

    foreach(new i: Player)
    return GameTextForPlayer( i , msg , 2000 , 4 );

    return ( 1 );
    }

    CMD:giveallweapon( playerid , params [ ] )
    {
    new
    WeapID ,
    Bullets ;

    if( sscanf( params , "dd" , WeapID , Bullets ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /giveallweapon < WeapID || Bullets >" );

    if( WeapID == 38 )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Nu poti da nimanui Minigun" );

    SCMTAF( -1 , "[ > "R"rAdmin "W"< ]: Adminul %s a dat tuturor un < %s || %d gloante >" , GetName( playerid ) , GetwName( WeapID ) , Bullets );

    foreach(new i: Player) GivePlayerWeapon( i , WeapID , Bullets );

    return ( 1 );
    }

    CMD:unban( playerid , params [ ] )
    {
    AC( playerid , 5 );

    new
    uName[ 25 ] ;

    if( sscanf( params , "s[25]" , uName ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /unban < nume player >" );

    gQuery[ 0 ] = EOS;
    mysql_format( rHandle, gQuery , 500 , "SELECT * FROM `banlist` WHERE `Name` = '%e' LIMIT 1;" , uName );
    mysql_tquery( rHandle , gQuery , "CheckUnbanName" , "ds", playerid, uName );

    return ( 1 );
    }

    CMD:fakechat( playerid , params [ ] )
    {
    AC( playerid , 5 );

    new
    text[ 256 ] ;

    if( sscanf( params , "us[256]" , player , text ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /fakechat < Player || text >" );

    if( P_DATA[ playerid ][ aLevel ] < P_DATA[ player ][ aLevel ] )
    return SendError( playerid , 2 );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    OnPlayerText( player , text );

    return ( 1 );
    }

    CMD:fakecmd( playerid , params [ ] )
    {
    AC( playerid , 5 );

    new
    Command[ 30 ] ;

    if( sscanf( params , "us[30]" , player , Command ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /fakecmd < Player || Command >");

    CallRemoteFunction( "OnPlayerCommandText", "is", player, Command );
    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: Ai folosit %s pe %s" , Command , GetName( player ) );

    return ( 1 );
    }

    CMD:setcoins( playerid , params [ ] )
    {
    AC( playerid , 5 );

    new
    Amount ;

    if( sscanf( params , "ud" , player , Amount ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /givecoins < Player || Amount >" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( playerid == player )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Nu iti poti da tie insuti coins !" );

    if( Amount == 999999999999 )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Nu poti da atata coins !" );

    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: Tu iai setat coinsul lui %s la < %d Coins > " , GetName( player ) , Amount );
    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: Adminul %s ti-a setat coinsul la < %d Coins > " , GetName( playerid ) , Amount );

    gQuery[ 0 ] = EOS;

    mysql_format( rHandle, gQuery , 256 , "UPDATE `users` SET `Coins`= %d WHERE `Name` = '%e' LIMIT 1;" , Amount , GetName( player ) );
    mysql_tquery( rHandle , gQuery , "" , "" );

    P_DATA[ player ][ Coins ] = Amount;

    return ( 1 );
    }

    CMD:setph( playerid , params [ ] )
    {
    AC( playerid , 5 );

    new
    amount ;

    if( sscanf( params , "ud" , player , amount ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /setph < Player || Amount >" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: Tu iai setat orele lui %s la < %d Ore > " , GetName( player ) , amount );
    SCMF( player , -1 , "[ > "R"rAdmin "W"< ]: Adminul %s ti-a setat orele la < %d Ore > " , GetName( playerid ) , amount );

    gQuery[ 0 ] = EOS;

    mysql_format( rHandle, gQuery , 256 , "UPDATE `users` SET `Ore` = %d WHERE `Name` = '%e' LIMIT 1;" , amount , GetName( player ) );
    mysql_tquery( rHandle , gQuery , "" , "" );

    P_DATA[ player ][ Ore ] = amount;

    return ( 1 );
    }

    /* ___________________________________________
    | Player Commands |
    |___________________________________________| */


    CMD:givecoins( playerid , params [ ] )
    {
    new
    Amount ;

    if( sscanf( params , "ud" , player , Amount ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /givecoins < Player || Amount >" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( playerid == player )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Nu iti poti da tie insuti coins !" );

    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: "G"T"W"u iai dat lui "G"%s "W"< "R"%d "W"Coins > " , GetName( player ) , Amount );
    SCMF( player , -1 , "[ > "R"rAdmin "W"< ]: "G"A"W"i primit de la "G"%s "W"< "R"%d "W"Coins > " , GetName( playerid ) , Amount );

    gQuery[ 0 ] = EOS;

    mysql_format( rHandle, gQuery , 256 , "UPDATE `users` SET `Coins`= %d WHERE `Name` = '%e' LIMIT 1;" , Amount , GetName( player ) );
    mysql_tquery( rHandle , gQuery , "" , "" );

    P_DATA[ playerid ][ Coins ] -= Amount;
    P_DATA[ player ][ Coins ] += Amount;

    return ( 1 );
    }

    CMD:igoto( playerid , params [ ] )
    {
    if( P_DATA[ playerid ][ iGoto ] == 0 )
    SendClientMessage( playerid , -1 , "Ai activat /igoto" ) , P_DATA[ playerid ][ iGoto ] = 1;
    else
    SendClientMessage( playerid , -1 , "Ai dezactivat /igoto" ) , P_DATA[ playerid ][ iGoto ] = 0;

    return ( 1 );
    }

    CMD:buyvip( playerid , params [ ] )
    return ( ShowPlayerDialog( playerid , D_bVip , DIALOG_STYLE_LIST , "Buy-Vip" , "Level 1 < Bronze V.I.P || 10 Ore >nLevel 2 < Silver V.I.P || 20 Ore >nLevel 3 < Gold V.I.P || 30 Ore >" , "Cumpara" , "Exit" ) );

    CMD:stats( playerid, params [ ] )
    {
    gString[ 0 ] = EOS;

    new h, m, s;

    TotalGameTime( playerid, h, m, s );

    format( gString, sizeof( gString ), ""G"%s"W" Stat'snn{FF0000}TimeOnLine{FFFFFF}: [{C0FF00}%02d:%02d:%02d{FFFFFF}]n{FF0000}Kills{FFFFFF}: {C0FF00}%dn{FF0000}Deaths{FFFFFF}: {C0FF00}%d{FFFFFF}", GetName( playerid ), h, m, s, P_DATA[ playerid ][ Kills ], P_DATA[ playerid ][ Deaths ] );
    format( gString, sizeof( gString ), "%s"W"n{FF0000}AdminLevel{FFFFFF}: {C0FF00}%sn{FF0000}V.I.P Level{FFFFFF}: {C0FF00}%s", gString, GetAdminRank( P_DATA[ playerid ][ aLevel ] ), GetVipRank( P_DATA[ playerid ][ vLevel ] ) );
    ShowPlayerDialog( playerid, D_Info, DIALOG_STYLE_MSGBOX, ""G"My Stats", gString, "Ok", "" );
    return ( 1 );
    }

    /* ___________________________________________
    | V.I.P Commands |
    |___________________________________________| */

    CMD:vcmds( playerid , params [ ] )
    {
    VC( playerid , 1 );

    gString[ 0 ] = EOS;

    strcat( gString , "n{FFFFFF}[ > "R"V.I.P Level "G"1 {FFFFFF} < ]n" );
    strcat( gString , "/vsay, /mytime, /myweather, /respawnmenn" );
    strcat( gString , "{FFFFFF}[ > "R"V.I.P Level "G"2 {FFFFFF}< ]n" );
    strcat( gString , "/ww, /rw, /saveskin, /outskinnn" );
    strcat( gString , "{FFFFFF}[ > "R"V.I.P Level "G"3 {FFFFFF}< ]n" );
    strcat( gString , "/vkick, /vwarn, /vunwarn, /maxammonn" );
    strcat( gString , "{FFFFFF}Pentru a vorbi in chatul vipilor scrie "G"! {FFFFFF}in fata primului cuvant !" );
    ShowPlayerDialog( playerid , D_Info , DIALOG_STYLE_MSGBOX , ""G"V.I.P "W"Commands" , gString , "Ok" , "" );

    return ( 1 );
    }

    /* ___________________________________________
    | Level 1 |
    |___________________________________________| */

    CMD:vsay( playerid , params [ ] )
    {
    VC( playerid , 1 );

    new
    message[ 128 ] ;

    if(sscanf( params , "s[128]" , message ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /"G"vsay "W"< "R"Message "W">" );

    foreach(new i: Player) SCMF( i , -1 , "[ "R"%s "W"|| "G"%s"W" ]: %s " , GetVipRank( P_DATA[ playerid ][ vLevel ] ) , GetName( playerid ) , message );

    return ( 1 );
    }

    CMD:mytime( playerid , params [ ] )
    {
    VC( playerid , 1 );

    new
    Time ;

    if( sscanf( params , "d" , Time ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /mytime < "G"TimeID "W">" );

    if( Time < 0 || Time > 24 )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Alege o ora intre 0 - 24 !" );

    SetPlayerTime( playerid , Time , 00 );

    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: Ti-ai setat Ora la "G"%d.00"W" !" , Time );

    return ( 1 );
    }

    CMD:myweather( playerid , params [ ] )
    {
    VC( playerid , 1 );

    new
    Weather ;

    if( sscanf( params , "d" , Weather ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /mytime < "G"TimeID "W">" );

    if( Weather < 0 || Weather > 100 )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Alege o ora intre 0 - 100 !" );

    SetPlayerWeather( playerid , Weather );

    SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: Ti-ai setat Weather la "G"%d"W" !" , Weather );

    return ( 1 );
    }

    CMD:respawnme( playerid , params [ ] )
    {
    AC( playerid , 1 );

    SpawnPlayer( playerid );

    SendClientMessage( playerid , -1 , "[ > "R"rAdmin "W"< ]: Ai fost respawnat cu succes !" );

    return ( 1 );

    }
    /* ___________________________________________
    | Level 2 |
    |___________________________________________| */

    CMD:ww( playerid , params [ ] )
    {
    VC( playerid , 2 );
    ResetPlayerWeapons( playerid );

    GivePlayerWeapon( playerid, 24, 9999 );
    GivePlayerWeapon( playerid, 25, 9999 );
    GivePlayerWeapon( playerid, 28, 9999 );
    GivePlayerWeapon( playerid, 31, 9999 );
    GivePlayerWeapon( playerid, 33, 9999 );

    SendClientMessage( playerid , -1 , "[ > "R"rVip "W"< ]: Ai primit un set de arme tip ( Walking Weapons ) !" );

    return ( 1 );
    }

    CMD:rw( playerid , params [ ] )
    {
    VC( playerid , 2 );
    ResetPlayerWeapons( playerid );

    GivePlayerWeapon( playerid, 24, 9999 );
    GivePlayerWeapon( playerid, 26, 9999 );
    GivePlayerWeapon( playerid, 29, 9999 );
    GivePlayerWeapon( playerid, 31, 9999 );
    GivePlayerWeapon( playerid, 34, 9999 );

    SendClientMessage( playerid , -1 , "[ > "R"rVip "W"< ]: Ai primit un set de arme ( Running Weapons ) !" );

    return ( 1 );
    }

    CMD:saveskin( playerid , params [ ] )
    {
    VC( playerid , 2 );

    new
    SkinID;

    if( sscanf( params , "d" , SkinID ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /saveskin < "G"SkinID "W">" );

    if(SkinID < 0 || SkinID > 299 )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Skin invalid 0 - 299 !" );

    SetPlayerSkin( playerid , SkinID );
    P_DATA[ playerid ][ SkinPreferat ] = SkinID;

    gQuery[ 0 ] = EOS;

    mysql_format( rHandle, gQuery , 128 , "UPDATE `users` SET `SkinPreferat` = %d WHERE `Name` = '%e' LIMIT 1;" , SkinID , GetName( playerid ) );
    mysql_tquery( rHandle , gQuery , "" , "" );

    SCMF( playerid , -1 , "[ > "R"rVip "W"< ]: Deci noul tau skin preferat este "G"%d"W" !" , SkinID );

    return ( 1 );
    }

    CMD:skinout( playerid , params [ ] )
    {
    VC( playerid , 2 );

    P_DATA[ playerid ][ SkinPreferat ] = -1;

    gQuery[ 0 ] = EOS;

    mysql_format( rHandle, gQuery , 128 , "UPDATE `users` SET `SkinPreferat` = -1 WHERE `Name` = '%e' LIMIT 1;" , GetName( playerid ) );
    mysql_tquery( rHandle , gQuery , "" , "" );

    SendClientMessage( playerid , -1 , "[ > "R"rVip "W"< ]: Deci nu iti mai place nici un skin !" );

    return ( 1 );
    }

    /* ___________________________________________
    | Level 3 |
    |___________________________________________| */

    CMD:vkick( playerid , params [ ] )
    {
    VC( playerid , 3 );

    new
    reason[ 128 ] ;

    if( sscanf( params , "us[128]" , player , reason ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /vkick < "G"Player "W"|| "G"Reason "W">" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( P_DATA[ player ][ aLevel ] == MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL )
    return SendError( playerid , 2 );

    if( strlen( reason ) < 5 )
    return SendError( playerid , 3 );

    SCMTAF( -1 , "V.I.P-ul %s i-a dat kick lui %s < Reason: %s >" , GetName( playerid ) , GetName( player ) , reason );

    KickEx( player );

    return ( 1 );
    }

    CMD:vwarn( playerid , params [ ] )
    {
    VC( playerid , 3 );

    new reason[ 128 ];

    if( sscanf( params , "us[128]" , player , reason ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /vwarn < "G"Player "W"|| "G"Reason "W">" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( ( P_DATA[ player ][ aLevel ] != MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL ) )
    return SendError( playerid , 2 );

    if( strlen( reason ) < 5 )
    return SendError( playerid , 3 );

    P_DATA[ player ][ Warns ] ++;

    SCMTAF( -1 , "[ > "R"rVip "W"< ]: %s a primit warn de la V.I.P-ul %s < Reason: %s || %d/%d >" , GetName( player ) , GetName( playerid ) , reason , P_DATA[ playerid ][ Warns ] , MAX_WARNS );

    if( P_DATA[ playerid ][ Warns ] == MAX_WARNS )
    {
    SCMTAF( -1 , "[ > "R"rVip "W"< ]: %s a primit kick ! Reason: 3/%d Warns" , GetName( playerid ) , MAX_WARNS );
    KickEx( player );
    }

    return ( 1 );
    }

    CMD:vunwarn( playerid , params [ ] )
    {
    VC( playerid , 3 );

    if( sscanf( params , "u" , player ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /vunwarn < "G"Player "W">" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( ( P_DATA[ player ][ aLevel ] != MAX_A_LEVEL && P_DATA[ playerid ][ aLevel ] != MAX_A_LEVEL ) )
    return SendError( playerid , 2 );

    if( P_DATA[ playerid ][ Warns ] == 0 )
    {
    SCMF( playerid, -1 , "[ > "R"rVip "W"< ]: %s are deja 0 warnuri", GetName( player ) );
    }

    P_DATA[ player ][ Warns ] --;

    SCMTAF( -1 , "[ > "R"rVip "W"< ]: %s a primit unwarn de la V.I.P-ul %s < %d/%d >" , GetName( player ) , GetName( playerid ) , P_DATA[ playerid ][ Warns ] , MAX_WARNS );

    return ( 1 );
    }

    CMD:maxammo( playerid , params [ ] )
    {
    VC( playerid , 3 );

    MaxAmmo( playerid );

    SendClientMessage( playerid , -1 , "[ > "R"rVip "W"< ]: Toate armele tale au fost incarcate la maxim !" );

    return ( 1 );
    }

    /* ___________________________________________
    | Rcon Commands |
    |___________________________________________| */


    CMD:setlevel( playerid , params [ ] )
    {
    if( !IsPlayerAdmin( playerid ) )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Tu nu esti admin Rcon" );

    new
    level ;

    if( sscanf( params , "ud" , player , level ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /setlevel < "G"playerid "W"|| "G"level "W">" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( level == P_DATA[ player ][ aLevel ] )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Playerul are deja acest level" );

    if( level > MAX_A_LEVEL )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Serverul are maxim 5 levele de Admin !" );

    GameTextForPlayer( player , ( level > P_DATA[ player ][ aLevel ] ) ? ( "~r~P~w~romovat" ) : ( "~g~R~w~etrogradat" ) , 3000 , 4 );

    SCMTAF( -1 , "[ > "R"Rcon News"W" < ]: "G"%s "W"a primit admin level "R"%d"W"!" , GetName( player ) , level );

    P_DATA[ player ][ aLevel ] = level;

    return ( 1 );
    }

    CMD:setvip( playerid , params [ ] )
    {
    if( !IsPlayerAdmin( playerid ) )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Tu nu esti admin Rcon" );

    new
    level ;

    if( sscanf( params , "ud" , player , level ) )
    return SendClientMessage( playerid , -1 , ""R"Foloseste"W": /setvip < "G"playerid "W"|| "G"level "W">" );

    if( player == INVALID_PLAYER_ID )
    return SendError( playerid , 1 );

    if( level == P_DATA[ player ][ vLevel ] )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Playerul are deja acest level" );

    if( level > MAX_V_LEVEL )
    return SendClientMessage( playerid , -1 , ""R"Error"W": Serverul are maxim 3 levele de V.I.P !" );

    GameTextForPlayer( player , ( level > P_DATA[ player ][ vLevel ] ) ? ( "~r~P~w~romovat" ) : ( "~g~R~w~etrogradat" ) , 3000 , 4 );

    SCMTAF( -1 , "[ > "R"Rcon News"W" < ]: "G"%s "W"a primit vip level "R"%d"W"!" , GetName( player ) , level );

    P_DATA[ player ][ vLevel ] = level;

    return ( 1 );
    }

    Function:: Query_LoadP_DATA( playerid )
    {
    new Get[ 2 ];

    cache_get_data( Get[ 0 ] , Get[ 1 ] , rHandle );

    gQuery[ 0 ] = EOS;
    gString[ 0 ] = EOS;
    cache_get_field_content( 0, "BannedBy" , P_DATA[ playerid ][ BannedBy ] , rHandle , 25 );
    if( !Get[ 0 ] )
    {
    format( gString, 256, "{FFFFFF}Hey %s !nAi introdus parola gresitanTe rugam rescrieti parola mai jos pentru a te loga .", GetName( playerid ) );
    ShowPlayerDialog( playerid, D_Login, DIALOG_STYLE_PASSWORD, ""G"Login", gString, "Login", "" );

    P_DATA[ playerid ][ LoginTrs ] += 1;
    if( P_DATA[ playerid ][ LoginTrs ] == MAX_LOGIN_ATTEMPS )
    { SCMF( playerid , -1 , "[ > "R"rAdmin "W"< ]: Ai primit kick < Reason: %d/%d >" , MAX_LOGIN_ATTEMPS , MAX_LOGIN_ATTEMPS ); KickEx( playerid ); }

    }
    else
    {
    mysql_format( rHandle, gQuery , 256 , "SELECT * FROM `users` WHERE Name = '%e' LIMIT 1;" , GetName( playerid ) );
    mysql_tquery( rHandle , gQuery , "OnPlayerCheckedLogin" , "ds" , playerid , GetName( playerid ) );
    }

    return ( 1 );
    }

    Function:: RegisterdPlayers( playerid )
    {
    new Get[ 2 ];

    cache_get_data( Get[ 0 ] , Get[ 1 ] , rHandle );

    SCMTAF( 128 , ""G"%s "W"s-a inregistrat pe server facand astfel sa fie "R"%d "W"jucatori inregistrati!", GetName( playerid ), Get[ 0 ] );

    return ( 1 );
    }

    Function:: CheckBan( playerid )
    {
    new Get[ 2 ];
    cache_get_data( Get[ 0 ], Get[ 1 ], rHandle );
    if( Get[ 0 ] )
    {
    cache_get_field_content( 0, "BannedBy" , P_DATA[ playerid ][ BannedBy ] , rHandle , 25 );
    cache_get_field_content( 0, "Reason" , P_DATA[ playerid ][ bReason ] , rHandle , 30 );
    cache_get_field_content( 0, "IP" , P_DATA[ playerid ][ BanIP ] , rHandle , 16 );
    P_DATA[ playerid ][ Banned ] = cache_get_field_content_int( 0 , "Banned" );
    if(P_DATA[ playerid ][ Banned ] == 1 )
    {
    TextDrawShowForPlayer( playerid , BoX );
    TextDrawShowForPlayer( playerid , BanDet1 );
    TextDrawShowForPlayer( playerid , BanDet2 );
    TextDrawShowForPlayer( playerid , BanDet3 );
    TextDrawShowForPlayer( playerid , BanDet4 );
    TextDrawShowForPlayer( playerid , BanDet5 );

    TDString( playerid , TDBannedBy , "~r~B~w~anned-By: ~g~%s" , P_DATA[ playerid ][bannedBy] );
    TDString( playerid , TDBanReason , "~r~B~w~an-Reason: ~g~%s" , P_DATA[ playerid ] [ bReason ] );

    KickEx( playerid );
    }
    else OnPlayerConnectEx( playerid );
    }
    else
    {
    gQuery[ 0 ] = EOS;
    mysql_format( rHandle, gQuery, 256, "INSERT INTO `banlist`( `Name`, `BannedBy`, `Reason`, `IP`, `Banned` ) VALUES ('%e', 'No-Banned', 'No-Banned', '%s', 0 )", GetName( playerid ), GetIP( playerid ) );
    mysql_tquery( rHandle, gQuery, "", "" );
    OnPlayerConnectEx( playerid );
    }
    return ( 1 );
    }


    Function:: OnPlayerCheckedLogin(playerid)
    {
    P_DATA[ playerid ][ Kills ] = cache_get_field_content_int( 0 , "Kills" , rHandle );
    P_DATA[ playerid ][ Deaths ] = cache_get_field_content_int( 0 , "Deaths" , rHandle );
    P_DATA[ playerid ][ Money ] = cache_get_field_content_int( 0 , "Money" , rHandle );
    P_DATA[ playerid ][ aLevel ] = cache_get_field_content_int( 0 , "AdminLevel" , rHandle );
    P_DATA[ playerid ][ vLevel ] = cache_get_field_content_int( 0 , "VipLevel" , rHandle );
    P_DATA[ playerid ][ Score ] = cache_get_field_content_int( 0 , "Score" , rHandle );
    P_DATA[ playerid ][ Coins ] = cache_get_field_content_int( 0 , "Coins" , rHandle );
    P_DATA[ playerid ][ Ore ] = cache_get_field_content_int( 0 , "Ore" , rHandle );
    P_DATA[ playerid ][ Minute ] = cache_get_field_content_int( 0 , "Minute" , rHandle );
    P_DATA[ playerid ][ Secunde ] = cache_get_field_content_int( 0 , "Secunde" , rHandle );
    P_DATA[ playerid ][ SkinPreferat ] = cache_get_field_content_int( 0 , "SkinPreferat" , rHandle );
    P_DATA[ playerid ][ JailTime ] = cache_get_field_content_int( 0 , "JailTime" , rHandle );
    P_DATA[ playerid ][ Jailed ] = cache_get_field_content_int( 0 , "Jailed" , rHandle );
    cache_get_field_content( 0 , "IP", P_DATA[ playerid ][ pIp ], rHandle );

    rResetPlayerMoney( playerid );
    rGivePlayerMoney( playerid , P_DATA[ playerid ][ Money ] );
    SetPlayerScore( playerid , P_DATA[ playerid ][ Score ] );

    if( P_DATA[ playerid ][ Jailed ] > 0 )
    {
    SetPlayerPos( playerid , 197.6661 , 173.8179 , 1003.0234 );
    SetPlayerInterior( playerid , 3 );
    SetPlayerSpecialAction( playerid , SPECIAL_ACTION_CUFFED );
    P_DATA[ playerid ][ JailTimer ] = SetTimerEx( "UnjailPlayer" , P_DATA[ playerid ][ JailTime ] , false , "d" , playerid );
    SendClientMessage( playerid, -1, "[ > "R"rAdmin "W"< ]: Cand ai iesit ai avut jail, acum te-ai intors !" );
    }

    gString[ 0 ] = EOS;
    format( gString, 256, ""W"nn"R"Name"W": "G"%sn"R"Admin"W": "G"%sn"R"V.I.P"W": "G"%sn"R"Money"W": "G"%d$", GetName( playerid ), GetAdminRank( P_DATA[ playerid ][ aLevel ] ), GetVipRank( P_DATA[ playerid ][ vLevel ] ), rGetPlayerMoney( playerid ) );
    ShowPlayerDialog( playerid, D_Info, DIALOG_STYLE_MSGBOX, ""G"Te-ai logat cu succes.", gString, "Ok", "" );

    return ( 1 );
    }

    Function:: AccountLoad( playerid )
    {
    new Get[ 2 ] ;

    cache_get_data( Get[ 0 ], Get[ 1 ], rHandle );

    if( Get[ 0 ] )
    {
    gQuery[ 0 ] = EOS;
    format( gQuery, 256, "{FFFFFF}Bine ai venit inapoi, %s!nPoti sa te loghezi.", GetName( playerid ) );
    ShowPlayerDialog( playerid, D_Login, DIALOG_STYLE_PASSWORD, ""G"Logare", gQuery, "Login", "Cancel" );
    }
    else
    {
    gQuery[ 0 ] = EOS;
    format( gQuery, 256, "{FFFFFF}Bine ai venit, %s!nPoti sa te inregistrezi!", GetName( playerid ) );
    ShowPlayerDialog( playerid, D_Register, DIALOG_STYLE_PASSWORD, "{C0FF00}Inregistrare", gQuery, "Register", "Kick" );
    }

    return ( 1 );
    }

    Function:: SavePlayerData(playerid)
    {
    gQuery[ 0 ] = EOS;

    new h, m, s ;

    TotalGameTime( playerid , h , m , s );

    format( gQuery , 1500 , "UPDATE `users` SET `Kills`= %d,`Deaths`= %d,`Money`= %d,`AdminLevel`= %d" , P_DATA[playerid][Kills] , P_DATA[playerid][Deaths] , P_DATA[playerid][Money] , P_DATA[playerid][aLevel] );
    format( gQuery , 1500 , "%s , `VipLevel` = %d , `Score` = %d, `Coins` = %d , `Ore` = %d " , gQuery , P_DATA[ playerid ][ vLevel ] , P_DATA[ playerid ][ Score ] , P_DATA[ playerid ][ Coins ] , h );
    mysql_format( rHandle, gQuery , 1500 , "%s , `Minute` = %d , `Secunde` = %d, `JailTime` = %d, `Jailed` = %d WHERE `Name`= '%e' LIMIT 1;" , gQuery , m , s , P_DATA[ playerid ][ JailTime ], P_DATA[ playerid ][ Jailed ], GetName( playerid ) );
    mysql_tquery( rHandle , gQuery , "" , "" );

    SendClientMessageToAll( -1 , ""G"Conturi"W": "R"C"W"onturile au fost salvate in baza de date. " );
    return ( 1 );
    }

    Function:: KickEx( playerid )
    return SetTimerEx( "KickT" , 100 , false , "d" , playerid );

    Function:: KickT( playerid )
    return Kick( playerid );

    Function:: ConnectedPlayers( )
    {
    new
    Connected ;

    foreach(Player, i)
    if( IsPlayerConnected( i ) )
    Connected++;

    return ( Connected );
    }

    Function:: Jail1(playerid)
    {
    TogglePlayerControllable( playerid , false );
    GetPlayerPos( playerid , X , Y , Z );
    SetPlayerCameraPos( playerid , X + 10 , Y , Z + 10 );
    SetPlayerCameraLookAt( playerid , X , Y , Z );
    SetTimerEx( "Jail2" , 1000 , 0 , "d" , playerid );
    }

    Function:: Jail2(playerid)
    {
    GetPlayerPos( playerid , X , Y , Z );
    SetPlayerCameraPos( playerid , X + 7 , Y ,Z + 5 );
    SetPlayerCameraLookAt( playerid , X , Y , Z );
    if( GetPlayerState( playerid ) == PLAYER_STATE_ONFOOT ) SetPlayerSpecialAction( playerid , SPECIAL_ACTION_HANDSUP );
    GameTextForPlayer( playerid , "~r~P~w~rins de admin !" , 3000 , 3);
    SetTimerEx( "Jail3" , 1000 , 0 , "d" , playerid );
    }

    Function:: Jail3(playerid)
    {
    GetPlayerPos( playerid , X , Y , Z);
    SetPlayerCameraPos( playerid , X + 3 , Y , Z );
    SetPlayerCameraLookAt( playerid , X , Y , Z );
    }

    Function:: JailPlayer(playerid)
    {
    TogglePlayerControllable( playerid , true );
    SetPlayerPos( playerid , 197.6661 , 173.8179 , 1003.0234 );
    SetPlayerInterior( playerid , 3 );
    SetPlayerSpecialAction( playerid , SPECIAL_ACTION_CUFFED );
    SetCameraBehindPlayer( playerid );
    P_DATA[ playerid ][ JailTimer ] = SetTimerEx( "UnjailPlayer" , P_DATA[ playerid ][ JailTime ] , 0 , "d" , playerid );
    P_DATA[ playerid ][ Jailed ] = 1;
    }

    Function:: UnjailPlayer(playerid)
    {
    KillTimer( P_DATA[ playerid ][ JailTimer ] );
    P_DATA[playerid][ JailTime ] = 0;
    P_DATA[playerid][ Jailed ] = 0;
    SetPlayerInterior( playerid , 0 );
    SpawnPlayer( playerid );
    GameTextForPlayer( playerid , "~g~Ai scapat din ~n~Puscarie" , 3000 , 3 );
    }

    Function:: MaxAmmo( playerid )
    {
    new
    slot ,
    weap ,
    ammo ;

    for( slot = 0 ; slot < 14 ; slot++ )
    {
    GetPlayerWeaponData( playerid , slot , weap , ammo );

    if( weap > 0 && weap < 19 || weap > 21 && weap < 47 )
    {
    GivePlayerWeapon( playerid , weap , 99999 );
    }

    }

    return ( 1 );
    }

    Function:: OnPlayerConnectEx( playerid )
    {
    gQuery[ 0 ] = EOS;

    mysql_format( rHandle, gQuery , 256 , "SELECT * FROM `users` WHERE `Name` = '%e' LIMIT 1;" , GetName( playerid ) );
    mysql_tquery( rHandle , gQuery , "AccountLoad" , "d" , playerid );

    P_DATA[ playerid ][ LoginTrs ] = 0;

    return ( 1 );
    }

    Function:: CheckUnbanName( playerid, uName[ 25 ] )
    {
    new Get[ 2 ];
    cache_get_data( Get[ 0 ], Get[ 1 ], rHandle );
    if( Get[ 0 ] )
    {
    SCMF( playerid, -1, "[ > "G"Succes "W"< ]: I-ai dat unban cu succes lui %s.", uName );
    gQuery[ 0 ] = EOS;
    mysql_format( rHandle, gQuery , 500 , "UPDATE `banlist` SET `Banned` = 0 WHERE `Name` = '%e' LIMIT 1;" , uName );
    mysql_tquery( rHandle , gQuery , "" , "" );
    }
    else SCMF( playerid, -1, "[ > "R"Error "W"< ]: Userul %s nu exista sau nu are ban.", uName );

    return ( 1 );
    }

    stock GetAdminRank( rankid )
    {
    new
    aRank[ 25 ];

    switch( rankid )
    {
    case 0: aRank = "No-Admin";
    case 1: aRank = "Co-Helper";
    case 2: aRank = "Helper";
    case 3: aRank = "Co-Administrator";
    case 4: aRank = "Administrator";
    case 5: aRank = "Owner";
    }
    return ( aRank );
    }

    stock GetVipRank( rankid )
    {
    new
    vRank[ 13 ] ;

    switch( rankid )
    {
    case 0: vRank = "No-V.I.P";
    case 1: vRank = "Bronze V.I.P";
    case 2: vRank = "Silver V.I.P";
    case 3: vRank = "Gold V.I.P";
    }

    return ( vRank );
    }

    TotalGameTime(playerid, &h=0, &m=0, &s=0)
    {
    P_DATA[ playerid ][ AllTime ] = ( ( gettime( ) - P_DATA[ playerid ][ ConnTime ] ) + ( P_DATA[ playerid ][ Ore ] * 60 * 60 ) + ( P_DATA[ playerid ][ Minute ] * 60 ) + ( P_DATA[ playerid ][ Secunde ] ) );

    h = floatround( P_DATA[ playerid ][ AllTime ] / 3600 , floatround_floor );
    m = floatround( P_DATA[ playerid ][ AllTime ] / 60 , floatround_floor ) % 60;
    s = floatround( P_DATA[ playerid ][ AllTime ] % 60 , floatround_floor );

    return P_DATA[ playerid ][ AllTime ];
    }

    stock PTP( playerid , toid )
    {
    new
    Float:Pos[ 4 ] ;

    if( playerid == toid )
    return SendClientMessage( playerid, -1, "[ > "R"Error"W" < ]: Nu te poti teleporta la catre tine." );

    if( IsPlayerInAnyVehicle( playerid ) )
    {
    GetPlayerPos( toid , Pos[ 0 ] , Pos[ 1 ] , Pos[ 2 ] );
    SetPlayerPos( playerid , Pos[ 0 ] , Pos[ 1 ] , Pos[ 2 ] );
    SetVehiclePos( GetPlayerVehicleID( playerid ) , Pos[ 0 ] + 3 , Pos[ 1 ] , Pos[ 2 ] );
    LinkVehicleToInterior( GetPlayerVehicleID( playerid ) , GetPlayerInterior( toid ) );
    SetVehicleVirtualWorld( GetPlayerVehicleID( playerid ) , GetPlayerVirtualWorld( toid ) );
    }
    else
    {
    GetPlayerPos( toid , Pos[ 0 ] , Pos[ 1 ] , Pos[ 2 ] );
    GetPlayerFacingAngle( toid , Pos[ 3 ] );
    SetPlayerPos( playerid , Pos[ 0 ] + 2 , Pos[ 1 ] , Pos[ 2 ] );
    SetPlayerFacingAngle( playerid , Pos[ 3 ] );
    SetPlayerVirtualWorld( playerid , GetPlayerVirtualWorld( toid ) );
    SetPlayerInterior( playerid , GetPlayerInterior( toid ) );
    }

    return ( 1 );
    }

    stock AdvanceSpectate( playerid )
    {
    if(ConnectedPlayers() == 2)
    return StopSpectate( playerid );

    if(GetPlayerState( playerid ) == PLAYER_STATE_SPECTATING && P_DATA[ playerid ][ SpecID ] != INVALID_PLAYER_ID )
    {
    for( new RoW = P_DATA[ playerid ][ SpecID ] + 1; RoW <= MAX_PLAYERS; RoW++ )
    {
    if( RoW == MAX_PLAYERS ) RoW = 0;
    if( IsPlayerConnected( RoW ) && RoW != playerid )
    {
    if( GetPlayerState( RoW ) == PLAYER_STATE_SPECTATING && P_DATA[ RoW ][ SpecID ] != INVALID_PLAYER_ID )
    {
    if( GetPlayerState( RoW ) != 1 && GetPlayerState( RoW ) != 2 && GetPlayerState( RoW ) != 3 )
    {
    continue;
    }
    }
    else
    {
    StartSpectate( playerid , RoW );
    break;
    }
    }
    }
    }
    return ( 1 );
    }

    stock StartSpectate( playerid , specplayerid )
    {
    for(new RoW = 0; RoW < MAX_PLAYERS ; RoW++ )
    {
    if(GetPlayerState( RoW ) == PLAYER_STATE_SPECTATING && P_DATA[ RoW ][ SpecID ] == playerid )
    {
    AdvanceSpectate( RoW );
    }
    }
    SetPlayerInterior( playerid , GetPlayerInterior( specplayerid ) );
    TogglePlayerSpectating( playerid , 1 );

    if( IsPlayerInAnyVehicle( specplayerid ) )
    {
    PlayerSpectateVehicle( playerid , GetPlayerVehicleID( specplayerid ) );
    P_DATA[ playerid ][ SpecID ] = specplayerid;
    P_DATA[ playerid ][ SpecType ] = ADMIN_SPEC_TYPE_VEHICLE;
    }
    else
    {
    PlayerSpectatePlayer( playerid , specplayerid );
    P_DATA[ playerid ][ SpecID ] = specplayerid;
    P_DATA[ playerid ][ SpecType ] = ADMIN_SPEC_TYPE_PLAYER;
    }

    new string[100], Float:hp, Float:ar;
    GetPlayerHealth( specplayerid , hp ); GetPlayerArmour( specplayerid , ar );
    format( string , sizeof( string ),"~n~~n~~n~~n~~n~~n~~n~~n~~w~%s - id:%d~n~< sprint - jump >~n~hp:%0.1f ar:%0.1f $%d" , GetName( specplayerid ) , specplayerid , hp , ar , rGetPlayerMoney( specplayerid ) );
    GameTextForPlayer( playerid , string , 25000 , 3 );

    return ( 1 );
    }

    stock StopSpectate( playerid )
    {
    TogglePlayerSpectating( playerid , 0 );
    P_DATA[ playerid ][ SpecID ] = INVALID_PLAYER_ID;
    P_DATA[ playerid ][ SpecType ] = ADMIN_SPEC_TYPE_NONE;

    GameTextForPlayer( playerid , "~n~~n~~n~~w~Spectate mode ended" , 1000 , 3 );

    return ( 1 );
    }

    stock ReverseSpectate( playerid )
    {
    if( ConnectedPlayers( ) == 2 )
    return StopSpectate( playerid );

    if( GetPlayerState( playerid ) == PLAYER_STATE_SPECTATING && P_DATA[ playerid ][ SpecID ] != INVALID_PLAYER_ID )
    {
    for( new x = P_DATA[ playerid ][ SpecID ] - 1; x > = 0 ; x-- )
    {
    if( x == 0 )
    return x = MAX_PLAYERS;

    if( IsPlayerConnected( x ) && x != playerid )
    {
    if( GetPlayerState( x ) == PLAYER_STATE_SPECTATING && P_DATA[ x ][ SpecID ] != INVALID_PLAYER_ID || ( GetPlayerState( x ) != 1 && GetPlayerState( x ) != 2 && GetPlayerState( x ) != 3 ) )
    {
    continue;
    }
    else
    {
    StartSpectate( playerid , x );
    break;
    }
    }
    }
    }
    return ( 1 );
    }

    stock SendError( playerid , messageid )
    {
    switch( messageid )
    {
    case ( 1 ): SendClientMessage( playerid , -1 , "[ > "R"Error"W" < ]: "G"J"W"ucator Neconectat." );
    case ( 2 ): SendClientMessage( playerid , -1 , "[ > "R"Error"W" < ]: "G"N"W"u poti folosi comanda pe un admin !" );
    case ( 3 ): SendClientMessage( playerid , -1 , "[ > "R"Error"W" < ]: "G"N"W"u poti da un reason mai mic de 5 caractere !" );
    }

    return ( 1 );
    }

    stock MessageToAdmins( szMessage[ ] )
    {
    foreach(Player, i)
    {
    if( P_DATA[ i ][ aLevel ] > 0 )
    {
    SendClientMessage( i, -1, szMessage );
    }
    }
    return ( 1 );
    }

    stock MessageToVips( szMessage[ ] )
    {
    foreach(Player, i)
    {
    if( P_DATA[ i ][ vLevel ] > 0 )
    {
    SendClientMessage( i, -1, szMessage );
    }
    }
    return ( 1 );
    }

    stock Destroy( playerid )
    {
    rResetPlayerMoney( playerid );
    ResetPlayerWeapons( playerid );

    gString[ 0 ] = EOS;
    format( gString , 256 , "["R"Distrus"W"]"G"%s" , GetName( playerid ) );
    SetPlayerName( playerid , gString );

    SetPlayerSkin( playerid , 239 );
    GivePlayerWeapon( playerid , 10 , 1 );
    SetPlayerScore( playerid , 0 );

    return ( 1 );
    }

    stock rGetPlayerMoney( playerid )
    return P_DATA[ playerid ][ Money ];

    stock rResetPlayerMoney( playerid )
    {
    P_DATA[ playerid ][ Money ] = 0;
    ResetPlayerMoney( playerid );
    return ( 1 );
    }

    stock rGivePlayerMoney( playerid, Amount )
    {
    P_DATA[ playerid ][ Money ] = Amount;
    GivePlayerMoney( playerid, Amount );
    return ( 1 );
    }

    stock GetIP( playerid )
    {
    new Ip[ 16 ];
    GetPlayerIp( playerid , Ip , sizeof( Ip ) );
    return ( Ip );
    }

    stock GetwName( WeapID )
    {
    gString[ 0 ] = EOS;
    GetWeaponName( WeapID , gString , 24 );
    return ( gString );
    }

    stock GetName( playerid )
    {
    gString[ 0 ] = EOS;
    GetPlayerName( playerid , gString , 24 );
    return ( gString );
    }
    [/pawn]
    Imagini / Video (optional): -
    Aţi încercat să rezolvaţi singur?: Am cautat pe google , dar fara nici un succes , asa ca am apelat la voi.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.