Jump to content

WiDuAlK

V.I.P
  • Posts

    1.337
  • Joined

  • Last visited

  • Days Won

    95

Everything posted by WiDuAlK

  1. am gasit solutia ... T/C
  2. 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.
  3. ok deci [pawn]case EMAIL_DIALOG: { gQuery[ 0 ] = EOS; gString[ 0 ] = EOS ; if ( !response ) return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ; if ( sscanf( inputtext, "s[55]", strval( inputtext )) ) return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ; if ( strlen( inputtext ) < 6 || strlen( inputtext ) > 55 ) return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ; if ( strfind( inputtext ), "@", false ) == -1 || strfind( inputtext ), ".", false ) == -1 ) return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ; format( gQuery, sizeof gQuery, "UPDATE `Users` SET `Mail`='%e' WHERE `Name`='%s'", strval( inputtext ), GetName( playerid ) ) ; mysql_tquery(aHandle, gQuery, "", ""); SendClientMessage( playerid, -1, "Mail-ul tau a fost inserat in baza de date !" ) ; format( PlayerInfo[ playerid ][ Mail ], 55, "%s", inputtext ); [pawn] if ( strfind( inputtext ), "@", false ) == -1 || strfind( inputtext ), ".", false ) == -1 )[/pawn] SpawnPlayer(playerid); ShowPlayerDialog( playerid, D_NONE, DIALOG_STYLE_MSGBOX, "Felicitari", "Te-ai inregistrat!", "(Select)", "" ) ; }[/pawn] si niste erori: G.M.pwn(287) : warning 202: number of arguments does not match definition G.M.pwn(287) : warning 205: redundant code: constant expression is zero G.M.pwn(287) : error 029: invalid expression, assumed zero G.M.pwn(287) : error 029: invalid expression, assumed zero G.M.pwn(287) : error 029: invalid expression, assumed zero G.M.pwn(287) : fatal error 107: too many error messages on one line adica: [pawn] if ( strfind( inputtext ), "@", false ) == -1 || strfind( inputtext ), ".", false ) == -1 )[/pawn]
  4. Problemă întâlnită (descriere): La dialogul de email , dupa ce imi scriu emailul, nu imi apare in localhost/phpmyadmin Ero(area / rile) / warning-(ul / urile): - Liniile de cod / sursa / script-ul: Poftiti aici tot scriptul:D http://pastebin.com/vHuVxs9i Imagini / Video (optional): - Aţi încercat să rezolvaţi singur?: Da
  5. interesant:D
  6. ok , am folosit un mini script a unui prieten , dar ca sa il folosesc am urmatit tutoriale , deci lui ii atrbui creditele de '%e', nam inteles treaba cu UPDATE `Users` SET (`Money`='%d', `AdminLevel`='%d') WHERE `Name`='%s', `Name`='%e', , unde vrei sa pun? Si chestia asta cu actualizatul , se actualizeaza deja , am verificat cand pun banii in localhost tii da , daram creat o comadnda la panarama , /viata care iti da viata si iti ia 1000 dolari , si vad ca functioneaza , iti ia bani , dar in localhost/phpmyadmin iti apare aceeasi bani , , si nu se scad , iar cand intri din nou , iti da banii , pe care iai avut fara a fi opriti din cumpararea de viata. Apropo , eu nu sunt "scripter bun" , si unul incepator spre mediu , care vrea sa inveta din pasiune , adica nu is chiar praf , adica mai stiu si eu cv , dar sti cum se spune "Omu cat traieste invata " si daca is pasionat de asta cu mult mai bine. Acum , am facut un dialog de register , uitandu-ma in alt GM , si actualizandu-l cu datele scriptului , si vad ca nu imi ia in localhost/phpmyadmin... [pawn]case EMAIL_DIALOG: { gQuery[ 0 ] = EOS; gString[ 0 ] = EOS ; new pEmail[ 55 ] ; if ( !response ) return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ; if ( sscanf( inputtext, "s[55]", pEmail ) ) return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ; if ( strlen( pEmail ) < 6 || strlen( pEmail ) > 55 ) return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ; if ( strfind( pEmail, "@", false ) == -1 || strfind( pEmail, ".", false ) == -1 ) return ShowPlayerDialog( playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}2. {FFFFFF}Mail", gString, "Register", "" ) ; new Security[ 55 ]; mysql_escape_string( pEmail, Security ) ; format( gQuery, sizeof gQuery, "UPDATE `Users` SET `Mail`='%s' WHERE `Name`='%s'", Security, GetName( playerid ) ) ; mysql_tquery( aHandle, "SELECT * FROM `Users`", "OnPlayerRegister" , "s" , playerid ) ; SendClientMessage( playerid, -1, "Mail-ul tau a fost inserat in baza de date !" ) ; format( PlayerInfo[ playerid ][ Mail ], 55, "%s", inputtext ); SpawnPlayer(playerid); ShowPlayerDialog( playerid, D_NONE, DIALOG_STYLE_MSGBOX, "Felicitari", "Te-ai inregistrat!", "(Select)", "" ) ; } Function:: OnPlayerLogin( playerid ) { gString[ 0 ] = EOS ; gQuery[ 0 ] = EOS ; PlayerInfo[ playerid ][ ID ] = cache_get_field_content_int( 0, "ID", aHandle ) ; PlayerInfo[ playerid ][ Money ] = cache_get_field_content_int( 0, "Money", aHandle ) ; PlayerInfo[ playerid ][ AdminLevel ] = cache_get_field_content_int( 0, "AdminLevel", aHandle ) ; cache_get_field_content( 0, "Mail", PlayerInfo[ playerid ][ Mail ], aHandle, 55 ) ; ResetPlayerMoney( playerid ) ; GivePlayerMoney( playerid, PlayerInfo[ playerid ][ Money ]) ; SCM( playerid, -1, ""NOS2"Te-ai logat cu succes!" ) ; SpawnPlayer(playerid); TogglePlayerSpectating( playerid, 0 ) ; Logged[ playerid ] = true; return ( true ) ; } Function:: SavePlayerData( playerid ) { if ( Logged[ playerid ] == false ) return Kick( playerid ) ; gQuery[ 0 ] = EOS; PlayerInfo[ playerid ][ Money ] = GetPlayerMoney( playerid ) ; mysql_format( aHandle, gQuery, sizeof( gQuery ), "UPDATE `Users` SET (`Money`='%d', `AdminLevel`='%d', `Mail`='%s') WHERE `Name`='%s'", PlayerInfo[ playerid ][ Money ] , PlayerInfo[ playerid ][ AdminLevel ] , PlayerInfo[ playerid ][ Mail ] , GetName( playerid ) ) ; mysql_tquery( aHandle, gQuery, "", "" ) ; return ( true ) ; } case REGISTER_DIALOG: { gString[ 0 ] = EOS , gQuery[ 0 ] = EOS ; format( gString, sizeof( gString ), "{FFFFFF}Bun venit {F3FF02}%s!nn {FFFFFF}Te rugam sa te {F81414}inregistrezi {FFFFFF}ca sa iti poti salva datele din joc({6EF83C}coins,{6EF83C}score,{6EF83C}kills,{6EF83C}deaths{FFFFFF},etc...).n" , GetName( playerid ) ) ; if ( !response ) return Kick( playerid ) ; new pPassword[ 45 ] ; if ( sscanf( inputtext, "s[45]", pPassword ) ) return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ; if ( strlen( pPassword ) < 6 || strlen( pPassword ) > 45 ) return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ; mysql_format( aHandle, gQuery, sizeof( gQuery ), "INSERT INTO `Users` (`Name`,`Password`,`AdminLevel`,`Money`, `Mail`) VALUES('%e','%e','%d',500)", GetName( playerid ), pPassword, PlayerInfo[playerid ][AdminLevel], PlayerInfo[playerid ][Money], PlayerInfo[playerid ][Mail] ) ; mysql_tquery( aHandle, gQuery, "", "" ) ; ShowDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ; } [/pawn]
  7. Din romania , pai eu cred asa... nu vreau sa zic care e primu sau ultimul , pentru ca nu stiu dar stiu aproape sigur ca cei mentionati mai jos sunt printre cei mai buni. ARTIST TheRow WopsS Mariuce(Mihai Matraguna) Shaine Armyw0w Farse(parca asa ii era numele) etc... Nu am facut un top , cei enumerati sunt foarte buni , dar nu stiu care e cel mai bun din ei si cel mai putin bun din ei... ce stiu e ca sigur , baietii stiu ce vorbesc , nu spun bazaconii impachetate frumos!!!
  8. ok , l-am refacut si vad ca a functionat , oricum lam mai detaliat la admin , si acum merge DAR special vreau sa stiu parerea ta WopsS , daca esti deacord cu ce am facut , sau ai cv de imbunatatit. [pawn]enum PlayerData { ID , Money , Age , Sex , AdminLevel, Origine , FLogin } [/pawn] [pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch( dialogid ) { case REGISTER_DIALOG: { gString[ 0 ] = EOS , gQuery[ 0 ] = EOS ; format( gString, sizeof( gString ), "{FFFFFF}Bun venit {F3FF02}%s!nn {FFFFFF}Te rugam sa te {F81414}inregistrezi {FFFFFF}ca sa iti poti salva datele din joc({6EF83C}coins,{6EF83C}score,{6EF83C}kills,{6EF83C}deaths{FFFFFF},etc...).n" , GetName( playerid ) ) ; if ( !response ) return Kick( playerid ) ; new pPassword[ 45 ] ; if ( sscanf( inputtext, "s[45]", pPassword ) ) return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ; if ( strlen( pPassword ) < 6 || strlen( pPassword ) > 45 ) return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ; mysql_format( aHandle, gQuery, sizeof( gQuery ), "INSERT INTO `Users` (`Name`,`Password`,`AdminLevel`,`Money`) VALUES('%e','%e','%d',500)", GetName( playerid ), pPassword, P_DATA[playerid ][AdminLevel], P_DATA[playerid ][Money]) ; mysql_tquery( aHandle, gQuery, "", "" ) ; ShowDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ; }[/pawn] Aici as vrea sa remarci modul in care am facut mysql_format( aHandle, gQuery, sizeof( gQuery ), "INSERT INTO `Users` (`Name`,`Password`,`AdminLevel`,`Money`) VALUES('%e','%e','%d',500)", GetName( playerid ), pPassword, P_DATA[playerid ][AdminLevel], P_DATA[playerid ][Money]) ; si vrau sa vad daca esti de acord cu mine... si as mai vrea sa te uiti la functiile: [pawn]Function:: OnPlayerLogin( playerid ) { gString[ 0 ] = EOS ; gQuery[ 0 ] = EOS ; P_DATA[ playerid ][ ID ] = cache_get_field_content_int( 0, "ID", aHandle ) ; P_DATA[ playerid ][ Money ] = cache_get_field_content_int( 0, "Money", aHandle ) ; P_DATA[ playerid ][ AdminLevel ] = cache_get_field_content_int( 0, "AdminLevel", aHandle ) ; ResetPlayerMoney( playerid ) ; GivePlayerMoney( playerid, cache_get_field_content_int( 0, "Money", aHandle ) ) ; SCM( playerid, -1, ""NOS2"Te-ai logat cu succes!" ) ; TogglePlayerSpectating( playerid, 0 ) ; Logged[ playerid ] = true; return ( true ) ; } Function:: SavePlayerData( playerid ) { if ( Logged[ playerid ] == false ) return Kick( playerid ) ; gQuery[ 0 ] = EOS; P_DATA[ playerid ][ Money ] = GetPlayerMoney( playerid ) ; mysql_format( aHandle, gQuery, sizeof( gQuery ), "UPDATE `Users` SET (`Money`='%d', `AdminLevel`='%d') WHERE `Name`='%s'", P_DATA[ playerid ][ Money ] , P_DATA[ playerid ][ AdminLevel ] , GetName( playerid ) ) ; mysql_tquery( aHandle, gQuery, "", "" ) ; return ( true ) ; } [/pawn] aici as vrea sa subliniez mysql_format( aHandle, gQuery, sizeof( gQuery ), "UPDATE `Users` SET (`Money`='%d', `AdminLevel`='%d')
  9. Problemă întâlnită (descriere): Salutare , miam facut un register/ login mysql , si iam facut adminul , dar are o probelama , pot folosi comenzile , chiar daca nu am admin. Am pus si o comanda de /makeadmin , folosindu-ma de rcon , iar ea nu are problema(nu despre asta e vorba).Imi dau admin level 0 cu rconul , iar comenzile nu imi mai merg , intru din nou pe server si pot folosi comenzile de admin. L-am refacut , dar din nou aceeasi problema , din aceasta cauza am venit la voi cei de pe sa-mp.ro sa va cer ajutorul.Nu imi sta in fire , dar vas ruga si ma ajutati sa imi fac Admin pe mysql sistem , adica sa mil construiti voi , daca va pricepeti , iar eu voi vedea ce am gresit si ce trebuie remediat.(NU IMI STA IN FIRE SA CER MOTAMO , dar alta solutie nu am gasit :|) Ero(area / rile) / warning-(ul / urile): - Liniile de cod / sursa / script-ul:[pawn]// *** Include's #include < a_samp > #include < a_mysql > #include < sscanf2 > #include < streamer > // *** Define's // Mysql Defines #define mysql_host "localhost" #define mysql_username "root" #define mysql_database "flash_db" #define mysql_password "" //--------------------------------- #define ShowDialog ShowPlayerDialog #define SCM SendClientMessage // Colors #define NOS1 "{6EF83C}" #define NOS2 "{F81414}" #define NOS3 "{6EF83C}" #define C_GREY 0xAFAFAFAA //---------------------------------------- #define Function::%0(%1) forward%0(%1 ) ; public%0(%1) stock bool:False = false; #define SCMF(%0,%1,%2,%3) do{ gString[ 0 ] = EOS ; format( gString, 256, (%2), %3 ) ; SendClientMessage( (%0),(%1), gString ) ; } while( False ) // *** New's & Enum's enum { REGISTER_DIALOG , AGE_DIALOG , SEX_DIALOG , SPAWN_DIALOG , EMAIL_DIALOG , LOGIN_DIALOG } enum PlayerData { ID , Money , Age , Sex , Origine , FLogin } new aHandle = -1 , P_DATA[ MAX_PLAYERS ][ PlayerData ] , bool:Logged[ MAX_PLAYERS ] , gQuery[ 2000 ] , gString[ 2000 ] ; main() { print(" BlackFlash") ; } public OnGameModeInit() { // Mysql conection aHandle = mysql_connect( mysql_host , mysql_username , mysql_database , mysql_password ) ; if ( aHandle && mysql_errno( aHandle ) == 0 ) printf( "Conexiunea la baza de date `%s` a avut succes !" , mysql_database ) ; else printf( "Conexiunea la baza de date `%s` nu a avut succes ! " , mysql_database ) , mysql_reconnect( aHandle ) ; mysql_log( LOG_ALL , LOG_TYPE_HTML ) ; SetTimer( "SavePlayerData", 900000, true ) ;// odata la 15 minute se salveaza conturile //------------------------------------------------------------------------------ SetGameModeText( "Romania:Stunt|Drift|Race|Fun|Freerom" ) ; AddPlayerClass( 0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0 ) ; return ( true ) ; } public OnGameModeExit() { mysql_close( aHandle ) ; return ( true ) ; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return ( true ) ; } public OnPlayerConnect(playerid) { gQuery[ 0 ] = EOS ; mysql_format( aHandle, gQuery, sizeof( gQuery ) , "SELECT `Name` FROM `Users` WHERE `Name`='%e' LIMIT 1;" , GetName( playerid ) ) ; mysql_tquery( aHandle, gQuery, "AccountLoad", "d", playerid ) ; return ( true ) ; } public OnPlayerDisconnect(playerid, reason) { SavePlayerData( playerid ) ; return ( true ) ; } public OnPlayerSpawn(playerid) { switch( P_DATA[ playerid ][ Sex ] ) { case 0: SetPlayerSkin( playerid, 250 ) ; case 1: SetPlayerSkin( playerid, 193 ) ; } switch( P_DATA[ playerid ][ Origine ] ) { case 0: SetPlayerPos(playerid, 1742.9990,-1862.0558,13.5768); case 1: SetPlayerPos(playerid, -2424.7073,337.2923,37.0299); } } public OnPlayerDeath(playerid, killerid, reason) { return ( true ) ; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch( dialogid ) { case REGISTER_DIALOG: { gString[ 0 ] = EOS , gQuery[ 0 ] = EOS ; format( gString, sizeof( gString ), "{FFFFFF}Bun venit {F3FF02}%s!nn {FFFFFF}Te rugam sa te {F81414}inregistrezi {FFFFFF}ca sa iti poti salva datele din joc({6EF83C}coins,{6EF83C}score,{6EF83C}kills,{6EF83C}deaths{FFFFFF},etc...).n" , GetName( playerid ) ) ; if ( !response ) return Kick( playerid ) ; new pPassword[ 45 ] ; if ( sscanf( inputtext, "s[45]", pPassword ) ) return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ; if ( strlen( pPassword ) < 6 || strlen( pPassword ) > 45 ) return ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ; mysql_format( aHandle, gQuery, sizeof( gQuery ), "INSERT INTO `Users` (`Name`,`Password`,`Money`) VALUES('%e','%e',0)", GetName( playerid ), pPassword ) ; mysql_tquery( aHandle, gQuery, "", "" ) ; ShowDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ; } case AGE_DIALOG: { new Varsta[ 55 ]; if ( sscanf( inputtext, "s[55]", Varsta ) ) return ShowPlayerDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ; if ( strlen( Varsta ) < 1 || strlen( Varsta ) > 2 ) return ShowPlayerDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ; if ( !IsNumeric( inputtext ) ) return ShowPlayerDialog( playerid, AGE_DIALOG, DIALOG_STYLE_INPUT, "{FFF1AF}5. {FFFFFF}Varsta", "{FFFFFF}Acum te rugam sa scri cati ani ai !", "Register", "" ) ; P_DATA[ playerid ][ Age ] = strval( inputtext ); format( gQuery, sizeof gQuery, "UPDATE `Users` SET `Age`='%d' WHERE `Name`='%s'", strval( inputtext ), GetName( playerid ) ) ; mysql_tquery( aHandle, gQuery, "", "" ) ; SCMF( playerid, -1, "Deci ai %d ani .", strval( inputtext ) ) ; SetTimerEx( "Spawn", 1, false, "i", playerid ) ; mysql_tquery( aHandle, "SELECT * FROM `Users`", "OnPlayerRegister" , "d" , playerid ) ; ShowDialog( playerid, SEX_DIALOG, DIALOG_STYLE_LIST, "{FFF1AF}4. Sex:", "MasculinnFeminin", "(Select)", "" ) ; } case SEX_DIALOG: { if(!response) return Kick(playerid); switch( listitem ) { case 0: { P_DATA[ playerid ][ Sex ] = 0 ; SCM(playerid,-1,"Bun , deci esti baiat!"); ShowPlayerDialog(playerid, SPAWN_DIALOG, DIALOG_STYLE_INPUT, "Unde vrei sa te spawnezi?", "LosSantosnSan Fierro", "OK", "Cancel"); } case 1: { P_DATA[ playerid ][ Sex ] = 1 ; SCM(playerid,-1,"Bun , deci esti fata!"); ShowPlayerDialog(playerid, SPAWN_DIALOG, DIALOG_STYLE_INPUT, "Unde vrei sa te spawnezi?", "LosSantosnSan Fierro", "OK", "Cancel"); } } } case SPAWN_DIALOG: { if(!response) return Kick(playerid); switch( listitem ) { case 0: { P_DATA[ playerid ][ Origine ] = 0 ; ShowPlayerDialog(playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "Inregistrare", "Ce email ai?", "OK", "Cancel"); } case 1: { P_DATA[ playerid ][ Origine ] = 1 ; ShowPlayerDialog(playerid, EMAIL_DIALOG, DIALOG_STYLE_INPUT, "Inregistrare", "Ce email ai?", "OK", "Cancel"); } } } case LOGIN_DIALOG: { if ( !response ) return Kick( playerid ) ; mysql_format( aHandle, gQuery, sizeof( gQuery ), "SELECT * FROM `Users` WHERE `Name`='%s' AND `Password`='%e'", GetName( playerid ), inputtext ) ; mysql_tquery( aHandle, gQuery, "Load_Player_Data", "d", playerid ) ; } } return ( true ) ; } // Mysql Function's Function:: AccountLoad( playerid ) { gString[ 0 ] = EOS ; new Rows, Fields; cache_get_data( Rows, Fields, aHandle ) ; if ( Rows ) { format( gString, sizeof( gString ), "{FFFFFF}Bun venit inapoi {F3FF02}%s!nn {FFFFFF}Te rugam sa te {F81414}autentifici {FFFFFF}cu parola cu care te-ai {F81414}inregistrat{FFFFFF}!n{F81414}Autentificarea {FFFFFF}este necesara pentru ca sa iti primesti datele in joc({6EF83C}coins,{6EF83C}score,{6EF83C}kills,{6EF83C}deaths{FFFFFF},etc...)." , GetName( playerid ) ) ; ShowDialog( playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, ""NOS1"N"NOS2"o"NOS3"S:{C3C3C3}Logare", gString, "(Login)", "(Cancel)" ) ; } else { format( gString, sizeof( gString ), "{FFFFFF}Bun venit {F3FF02}%s!nn {FFFFFF}Te rugam sa te {F81414}inregistrezi {FFFFFF}ca sa iti poti salva datele din joc({6EF83C}coins,{6EF83C}score,{6EF83C}kills,{6EF83C}deaths{FFFFFF},etc...).n" , GetName( playerid ) ) ; ShowDialog( playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FF0000}#1 {FFFFFF}Inregistrare", gString, "(Inregistrare)", "(Kick)" ) ; } return ( true ) ; } Function:: Load_Player_Data( playerid ) { gString[ 0 ] = EOS ; new Rows, Fields; cache_get_data( Rows, Fields, aHandle ) ; if ( !Rows ) { P_DATA[ playerid ][ FLogin ] ++; if ( P_DATA[ playerid ][ FLogin ] == 3 ) { P_DATA[ playerid ][ FLogin ] = 0; format( gString, sizeof gString, "Account: %s a primit kick, Motiv: Parola gresita de 3 ori !", GetName( playerid ) ) ; SendClientMessageToAll( C_GREY, gString ) ; return Kick( playerid ) ; } format( gString, sizeof gString, "{F81414}Ai gresit parola !n{FFAF00}Incercari ramase: {F81414}%d/3n {FFFFFF}Te rugam sa te autentifici cu parola cu care te-ai inregistrat !n", P_DATA[ playerid ][ FLogin ] ) ; ShowDialog( playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "{F81414}Parola gresita!", gString, "(Login)", "(Kick)" ) ; } else { mysql_format( aHandle, gQuery, sizeof( gQuery ), "SELECT * FROM `Users` WHERE `Name`='%e'", GetName( playerid ) ) ; mysql_tquery( aHandle, gQuery, "OnPlayerLogin", "d", playerid ) ; } return ( true ) ; } Function:: OnPlayerLogin( playerid ) { gString[ 0 ] = EOS ; gQuery[ 0 ] = EOS ; P_DATA[ playerid ][ ID ] = cache_get_field_content_int( 0, "ID", aHandle ) ; P_DATA[ playerid ][ Money ] = cache_get_field_content_int( 0, "Money", aHandle ) ; ResetPlayerMoney( playerid ) ; GivePlayerMoney( playerid, cache_get_field_content_int( 0, "Money", aHandle ) ) ; SCM( playerid, -1, ""NOS2"Te-ai logat cu succes!" ) ; TogglePlayerSpectating( playerid, 0 ) ; Logged[ playerid ] = true; return ( true ) ; } Function:: SavePlayerData( playerid ) { if ( Logged[ playerid ] == false ) return Kick( playerid ) ; gQuery[ 0 ] = EOS; P_DATA[ playerid ][ Money ] = GetPlayerMoney( playerid ) ; mysql_format( aHandle, gQuery, sizeof( gQuery ), "UPDATE `Users` SET `Money`='%d' WHERE `Name`='%s'", P_DATA[ playerid ][ Money ] , GetName( playerid ) ) ; mysql_tquery( aHandle, gQuery, "", "" ) ; return ( true ) ; } stock GetName( playerid ) { new WiDuAlKBarosanu[ 24 ]; GetPlayerName( playerid, WiDuAlKBarosanu, sizeof( WiDuAlKBarosanu ) ) ; return ( WiDuAlKBarosanu ) ; } IsNumeric( text[ ] ) { for( new i = 0, r = strlen( text ) ; i < r; i++ ) { if ( text[ i ] > '9' || text[ i ] < '0') return ( 0 ) ; } return ( 1 ) ; } [/pawn] Imagini / Video (optional): - Aţi încercat să rezolvaţi singur?:Cu siguranta Mie putina rusine , ca am venit ca un milog , dar alta solutie nu am gasit , dupa ce am incercat sa refac sistemul si nu am reusit , mam gandit sa va dau doar register/loginul , iar voi imi veti putea spune exact ce trebuie pus , fara a va incurca(asa cum am facut eu)...
  10. de pe wiki vin:)) , de aia , ca nam inteles acolo
  11. Eu din cate vad pare totul norumal ... nu stiu de ce ti se intampla , sau nu imi dau seama
  12. cum modific un SetPlayerRaceCheckpoint ? sti ca e un checkpoint mai special , si are si o sageata in mijloc. https://www.google.ro/search?q=SetPlayerRaceCheckpoint&es_sm=122&source=lnms&tbm=isch&sa=X&ei=pBDqU_jTJa2a1AXh64CIDg&ved=0CAgQ_AUoAQ&biw=1360&bih=653#facrc=_&imgdii=_&imgrc=5ujcU05eXLspXM%253A%3B7vlZSmhIHpbAbM%3Bhttp%253A%252F%252Fwww.scoredoom.com%252Fimages%252Fsa-mp-010-1.JPG%3Bhttp%253A%252F%252Fforum.sa-mp.com%252Farchive%252Findex.php%252Ft-277916.html%3B800%3B600 , vreau sa stiu cum il pozitionez... , si la ce public ma duc , si miai dat niste date , dar eu vreau sa stiu cum le aflu poziti fata de corp , mia mai spus cineva sa folosesc SetPlayerAttachedObject si RemovePlayerAttachedObject , dar nu mia spus exact , cum le aflu pozitia fata de corp , adica eu le pun dar de exemplu , eu cosu ala de gunoi vreau sa il pun deasupra capului sau in fata mainilor , cum aflu pozitia ca sa fie in fata mainilor sau deasupra capului?
  13. Ia posteaza si tu dialogurile de Register / login / si celelalte de la ani , sex , spawn sau ce mai ai tu
  14. ) nu o sa mearga:)) credema , pentru ca daca creez un cos de gunoi in fata playerului nu il pot manevra , sa il ridic la un nivel al corpului.
  15. Problemă întâlnită (descriere): Salutare Sa-Mp.ro , am venit cu 3 intrebari , nu am venit cu o problema. Prima intrebare: cum pot afla pozitionarea unui obect fata de masina / player adica de exemplu eu vreau sa ii pun un cos de gunoi unui playerla picioare , in fata sau in spate sau vreau sa il pun in maini , deasupra capului etc... A doua intrebare:cum pot face ca obiectul sa ii stea ridicat playerului pana apasa enter sau alta tasta ( stiu sa selectez ce tasta voi doar imi spuneti de ce''structura'' ma folosesc Ultima intrebare: Cum pot pozitiona un SetPlayerRaceCheckpoint cu pozitia semnuluide inainte si celelalte? Ero(area / rile) / warning-(ul / urile): Liniile de cod / sursa / script-ul: - Imagini / Video (optional): - Aţi încercat să rezolvaţi singur?: M-am uitat pe wiki , dar nam vazut.
  16. Nici o treaba ... sar putea eu sa fi facut gresit sistemul , puteti arunca voi un ochi?
  17. la fel face:|
  18. tu pe ce o vrei ZCMD sau strcmp?
  19. up!
  20. Nick: WiDuAlK Problema: Salutare , de 1 saptamana am inceput singur un proiect , un GM pe mysql si am ajuns la partea cu admin si cu comenzile , de fapt am doar 5 comenzi pt ca deabia l-am inceput. Am pus comanda jetpack , goto , gotols , gotosf , gotolv , fixveh si getcar , si la ele trebuie sa ai peste admin 1 , dar se pot folosi si fara sa ai admin , deci asta e problema , miam psus comanda makeadmin la care trb sa fi logat cu rconul , si ea merge perfect . Mi-am facut cont din nou si imi mergeau comenzile , mam logat cu rconul si miam dat admin 0 , chiar daca deja aveam admin 0 si am incercat comanda din nou si vad ca daca incercam acum comenzile nu imi mai mergeau , de parca ar fi totul in regula , dar dupa ce am intrat din nou , dupa ce - mi dadusem admin 0 , am incercat comenzile sa crezand ca nu mai fac problema dar , la fel mergeau. Erori / warnings: - Lini/script: [pawn]enum pData { ID , ... AdminLevel , ... } [/pawn] [pawn]CMD:gotosf( playerid, params[ ] ) { if(PlayerInfo[ playerid ][ AdminLevel] < 1 ) return SendClientMessage( playerid, -1, "Nu esti administrator!" ) ; if (GetPlayerState(playerid) == 2) { new tmpcar = GetPlayerVehicleID(playerid); SetVehiclePos(tmpcar, -1417.0,-295.8,14.1); } else { SetPlayerPos(playerid, -1417.0,-295.8,14.1); } return ( 1 ) ; } CMD:makeadmin( playerid,params[ ] ) { new id, alvl ; if ( !IsPlayerAdmin( playerid ) ) return SendClientMessage(playerid,-1, "Nu esti rcon!"); if ( sscanf( params, "ui", id, alvl ) ) return SendClientMessage( playerid, -1, "Comanda este: /makeadmin <playerid><admin level>" ) ; if ( alvl < 0 || alvl > 10 ) return SendClientMessage( playerid, -1, "0<->10" ) ; PlayerInfo[ id ][ AdminLevel ] = alvl ; SendClientMessage( id, -1, "Esti admin!" ) ; return ( true ) ; } CMD:jetpack( playerid, params[ ] ) { if ( PlayerInfo[ playerid ][ AdminLevel] < 1 ) return SendClientMessage( playerid, -1, "Nu esti administrator!" ) ; new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid, X, Y, Z); CreatePickup(370,2,X,Y,Z); SendClientMessage(playerid, Gri, "* Spawned Jetpack"); return ( true ) ; } CMD:fixveh( playerid, params[ ] ) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[ playerid ][ AdminLevel] < 1 ) { SendClientMessage(playerid, 0xFFFFFFFF, "Nu esti autorizat sa folosesti aceasta comanda!"); return 1; } if(IsPlayerInAnyVehicle(playerid)) { RepairVehicle(GetPlayerVehicleID(playerid)); SendClientMessage(playerid, 0xFFFFFFFF, "Vehicul reparat !"); } } return 1; } CMD:getcar(playerid, params[]) { new carid; if(sscanf(params, "i", carid)) return SendClientMessage(playerid, ~1, "USAGE: /getcar [carid]"); if(carid > MAX_VEHICLES) return SendClientMessage(playerid, ~1, "That vehicle does not exists."); new Float: gPos[3]; GetPlayerPos(playerid, gPos[0], gPos[1], gPos[2]); SetVehiclePos(carid, gPos[0] + 2, gPos[1], gPos[2]); return 1; }[/pawn] [pawn]Function:: OnPlayerLogin( playerid ) { gString[ 0 ] = EOS ; gQuery[ 0 ] = EOS ; PlayerInfo[ playerid ][ ID ] = cache_get_field_content_int( 0, "ID", aHandle ) ; PlayerInfo[ playerid ][ Money ] = cache_get_field_content_int( 0, "Money", aHandle ) ; PlayerInfo[ playerid ][ AdminLevel ] = cache_get_field_content_int( 0, "AdminLevel", aHandle ) ; PlayerInfo[ playerid ][ Points ] = cache_get_field_content_int( 0, "Points", aHandle ) ; PlayerInfo[ playerid ][ Nota ] = cache_get_field_content_int( 0, "Nota", aHandle ) ; cache_get_field_content( 0, "Mail", PlayerInfo[ playerid ][ Mail ], aHandle, 129 ) ; cache_get_field_content( 0, "Judet", PlayerInfo[ playerid ][ Judet ], aHandle, 129 ) ; ResetPlayerMoney( playerid ) ; GivePlayerMoney( playerid, cache_get_field_content_int( 0, "Money", aHandle ) ) ; SCM( playerid, Biscuite, "Te-ai logat cu succes!" ) ; SpawnPlayer(playerid); TogglePlayerSpectating( playerid, 0 ) ; Logged[ playerid ] = true; return ( true ) ; } Function:: SavepData( playerid ) { if ( Logged[ playerid ] == false ) return Kick( playerid ) ; gQuery[ 0 ] = EOS; PlayerInfo[ playerid ][ Money ] = GetPlayerMoney( playerid ) ; mysql_format( aHandle, gQuery, sizeof( gQuery ), "UPDATE `Users` SET `Money`='%d' , `Ani`='%d' , `AdminLevel`='%d' , `Points`='%d' , `Sex`='%d' `Nota`='%d' , `Level`='%d' WHERE `Name`='%s'", PlayerInfo[ playerid ][ Money ] , PlayerInfo[ playerid ][ AdminLevel ] , PlayerInfo[ playerid ][ Points ] , PlayerInfo[ playerid ][ Sex ] , PlayerInfo[ playerid ][ Nota ] , PlayerInfo[ playerid ][ Level ] , GetName( playerid ) ) ; mysql_tquery( aHandle, gQuery, "", "" ) ; gQuery[ 0 ] = EOS; mysql_format( aHandle, gQuery, sizeof( gQuery ), "UPDATE `Users` SET `Money`='%d' WHERE `Name`='%s'", PlayerInfo[ playerid ][ Money ] , GetName( playerid ) ) ; mysql_tquery( aHandle, gQuery, "", "" ) ; return ( true ) ; }[/pawn] Ai incercat sa rezolvi singur ?: Da
  21. Nick:WiDuAlK Problema: Salutare sa-mp.ro , am venit si eu cu o problema. Am incercat sa fac un job cu livrare la cimitir de decedati. L-am facut dar vreau sa ii pun si un limiter de viteza adica sa nu treaca de 20 km. ID-ul vehiculului e 442 (daca v-ar interesa) si daca nu puteti sa imi ziceti cum fac sa nu poata depasi 20 km macar sa fac la peste 20km sa i se opreasca masina la player timp de 2 secunde ,dar vreau sa pun doar la masinile cele 3 , nu la toate masinile de pe server. Erori / warnings: - Lini/script:[pawn]#include <a_samp> #include <dcmd> #include <streamer> #define COLOR_DARKGOLD 0x808000AA #define COLOR_RED 0xFF0000AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_GREEN "{6EF83C}" #define COLOR_SILVER 0xC0C0C0FF #define color_green "{6EF83C}" #define color_white "{FFFFFF}" #define GivePlayerMoneyEx(%0,%1) SetPVarInt (%0,"Money",GetPlayerMoneyEx(%0)+%1),GivePlayerMoney(%0,%1) #define ResetPlayerMoneyEx(%0) SetPVarInt (%0,"Money",0),ResetPlayerMoney(%0) #define GetPlayerMoneyEx(%0) GetPVarInt (%0,"Money") new MortiJob[256]; new info; new Money = 400000; public OnFilterScriptInit() { info = CreatePickup(1239,1,1039.1091, -1335.8146,14.0239,-1); AddStaticVehicle(442,1471.2437,-1685.9426,13.8731,271.0415,0,0); // AddStaticVehicle(442,1470.7642,-1688.8661,13.8781,269.4639,0,0); // AddStaticVehicle(442,1470.7773,-1691.3683,13.8758,268.4724,0,0); // return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp("/decedati", cmdtext, true, 10) == 0) { if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 442) { MortiJob[playerid] = 1; new name[MAX_PLAYER_NAME], string[90]; GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "* {6EF83C}%s {FFAF00}duce decedatii la {00C0FF}groapa.", name ); SendClientMessageToAll(COLOR_YELLOW, string); SetPlayerCheckpoint(playerid,1484.7679,-1705.8390,13.8781,3); GameTextForPlayer(playerid, "~g~1 Poti pleca!", 3000, 3); return 1; } SendClientMessage(playerid, COLOR_RED,"Ai pornit jobul cu decedati!"); } return 0; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 442) { SendClientMessage(playerid, COLOR_RED, "* Scrie /decedati "); } return 0; } public OnPlayerEnterCheckpoint(playerid) { if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 442) { if(MortiJob[playerid] == 1) { MortiJob[playerid] = 2; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~1 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1484.7679,-1705.8390,13.8781,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 2) { MortiJob[playerid] = 3; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~2 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1441.0458,-1730.0803,13.2132,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 3) { MortiJob[playerid] = 4; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~3 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1431.7593,-1703.1222,13.2168,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 4) { MortiJob[playerid] = 5; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~4 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1432.0735,-1649.3971,13.2154,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 5) { MortiJob[playerid] = 6; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~5 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1412.7029,-1589.4751,13.1880,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 6) { MortiJob[playerid] = 7; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~6 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1316.0812,-1555.4343,13.2181,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 7) { MortiJob[playerid] = 8; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~7 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1354.4917,-1464.5902,13.2159,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 8) { MortiJob[playerid] = 9; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~8 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1360.2216,-1359.3260,13.2107,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 9) { MortiJob[playerid] = 10; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~9 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1360.2434,-1279.3351,13.2021,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 10) { MortiJob[playerid] = 11; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~10 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1360.3229,-1167.1982,23.5562,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 11) { MortiJob[playerid] = 12; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~11 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1364.2347,-1096.5227,23.8613,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 12) { MortiJob[playerid] = 13; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~12 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1371.2146,-1014.4316,26.5398,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 13) { MortiJob[playerid] = 14; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~13 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1379.2245,-961.2371,33.8762,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 14) { MortiJob[playerid] = 15; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~14 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1365.0963,-931.5580,34.0210,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 15) { MortiJob[playerid] = 16; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~15 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1265.6171,-923.2275,42.1514,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 16) { MortiJob[playerid] = 17; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~16 Download...", 2000, 5); SetPlayerCheckpoint(playerid,1164.1450,-939.1041,42.7590,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 17) { MortiJob[playerid] = 18; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~17Download...", 2000, 5); SetPlayerCheckpoint(playerid,1014.2315,-955.2650,41.8256,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 18) { MortiJob[playerid] = 19; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~18 Download...", 2000, 5); SetPlayerCheckpoint(playerid,834.7429,-1025.1547,25.8238,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 19) { MortiJob[playerid] = 20; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~19 Download...", 2000, 5); SetPlayerCheckpoint(playerid,737.3632,-1060.4573,23.0241,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 20) { MortiJob[playerid] = 21; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~20 Download...", 2000, 5); SetPlayerCheckpoint(playerid,699.3031,-1119.3635,17.3139,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 21) { MortiJob[playerid] = 22; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~21 Download...", 2000, 5); SetPlayerCheckpoint(playerid,653.2458,-1186.7900,17.5484,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 22) { MortiJob[playerid] = 23; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~22 Download...", 2000, 5); SetPlayerCheckpoint(playerid,623.8478,-1251.6733,17.4743,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 23) { MortiJob[playerid] = 24; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~23Download...", 2000, 5); SetPlayerCheckpoint(playerid,665.5472,-1322.0376,13.2576,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 24) { MortiJob[playerid] = 25; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~24Download...", 2000, 5); SetPlayerCheckpoint(playerid,770.4335,-1322.0673,13.2160,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 25) { MortiJob[playerid] = 26; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~25 Download...", 2000, 5); SetPlayerCheckpoint(playerid,942.5736,-1327.5098,13.2109,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 26) { MortiJob[playerid] = 27; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~26 Download...", 2000, 5); SetPlayerCheckpoint(playerid,944.8958,-1236.8191,16.2929,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 27) { MortiJob[playerid] = 28; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~27 Download...", 2000, 5); SetPlayerCheckpoint(playerid,956.3252,-1151.4248,23.6139,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 28) { MortiJob[playerid] = 29; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~28 Download...", 2000, 5); SetPlayerCheckpoint(playerid,965.5400,-1119.2661,23.5081,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 29) { MortiJob[playerid] = 30; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~28 Download...", 2000, 5); SetPlayerCheckpoint(playerid,946.4171,-1103.2626,24.0474,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 30) { MortiJob[playerid] = 31; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~28 Download...", 2000, 5); SetPlayerCheckpoint(playerid,928.5822,-1115.6841,23.9432,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 31) { MortiJob[playerid] = 32; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~28 Download...", 2000, 5); SetPlayerCheckpoint(playerid,910.0170,-1117.4187,23.9248,5); GameTextForPlayer(playerid, "~g~Dute la urmatoarea pozitie!", 2000, 5); } else if(MortiJob[playerid] == 32) { MortiJob[playerid] = 0; SetTimerEx("Download", 1000, 0, "i", playerid); GameTextForPlayer(playerid, "~g~31 Ai dus decedatul la groapa", 2000, 5); SetPlayerCheckpoint(playerid,1317.4105,-1551.6237,13.2168,5); GivePlayerMoneyEx(playerid, Money); SetVehicleToRespawn(GetPlayerVehicleID(playerid)); RemovePlayerFromVehicle(playerid); DisablePlayerCheckpoint(playerid); SendClientMessage(playerid,COLOR_DARKGOLD,"*Felicitari ai castigat {6EF83C}400000 $."); } } return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == info) { GameTextForPlayer(playerid, "~g~Distribute ~r~ice, ~w~Dute in masina si scrie ~r~/decedati~w~,Du-l la groapa si castiga ~g~400k", 3000, 3); } return 1; }[/pawn] Ai incercat sa rezolvi singur ?: Da am folosit un anti-speed hack dar nu merge:|
  22. Daca imi spuneti cum imi instalez versiune noua pt xampp sau wamp server , e rezolvata , aia veche nu pot face mare chestie cu ea...
  23. ok asta a mers multumesc , dar nu merge sa imi bag xampp... sau wamp server... pentru a ma conecta la baza de date:(
  24. am pus fisierul .dll in folderul cu san andreas
  25. .ok , te-as ruga sa imi spui ce exact sa pun fisierul ".dll" sau GM-ul?
×
×
  • 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.