Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // SunnyBoy's Premium Players script
- #include <a_samp>
- #include <zcmd>
- #include <dini>
- #include <sscanf>
- #include <dudb>
- #include <core>
- #include <string>
- #include <file>
- #include <time>
- #include <datagram>
- #include <a_players>
- #include <a_vehicles>
- #include <a_objects>
- #include <a_samp>
- #include <dutils>
- #include <float>
- //Defines
- #define red 0xE21F1FFF
- #define yellow 0xFFFF00FF
- #define blue 0x1229FAFF
- #define orange 0xF97804FF
- #define grey 0xCECECEFF
- #define gold 0xB8860BAA
- #define mustlogin
- #define autologin
- #define logchat
- #define joinmes
- #define leavemes
- //Declaring New
- new level[MAX_PLAYERS];
- new logged[MAX_PLAYERS];
- //Anti Warning
- #pragma unused strtok
- #pragma unused ret_memcpy
- //
- public OnFilterScriptInit()
- {
- print("Premium System loaded!");
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("Premium System unloaded!");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new pname[MAX_PLAYER_NAME];
- #if defined joinmes
- new string[180];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string, sizeof(string), "%s Hat den Server Betreten.",pname);
- SendClientMessageToAll(grey, string);
- #endif
- new playerfile[100];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
- if(!dini_Exists(playerfile)) SendClientMessage(playerid, orange, "Tippe /register um einen Account zu ertsellen.");
- else if(dini_Exists(playerfile)) SendClientMessage(playerid, orange, "Du bist nun Registriert! Tippe /login um dich einzuloggen.");
- if(dini_Int(playerfile, "Banned") == 1)
- {
- new string1[126];
- format(string1, sizeof(string1), "[SERVER]%s has been kicked for ban evasion.", pname);
- SendClientMessageToAll(red, string1);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(logged[playerid] == 1)
- {
- new playerfile[100], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
- dini_IntSet(playerfile, "Level", level[playerid]);
- dini_IntSet(playerfile, "Cash", GetPlayerMoney(playerid));
- dini_IntSet(playerfile, "Score", GetPlayerScore(playerid));
- }
- level[playerid] = 0;
- logged[playerid] = 0;
- #if defined leavemes
- new string[180], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string, sizeof(string), "%s Hat den Server verlassen.",pname);
- SendClientMessageToAll(grey, string);
- #endif
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- #if defined mustlogin
- if(logged[playerid] == 0)
- {
- new playerfile[100], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
- if(dini_Exists(playerfile)) SendClientMessage(playerid, red, "Bitte erst einloggen. /login");
- else SendClientMessage(playerid, red, "Bitte erst registrieren. /register");
- return 0;
- }
- #endif
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- #if defined mustlogin
- if(logged[playerid] == 0)
- {
- new playerfile[100], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
- #if defined autologin
- if(dini_Exists(playerfile))
- {
- new ip[16];
- GetPlayerIp(playerid, ip, sizeof(ip));
- if(!strcmp(dini_Get(playerfile, "Ip"), ip, true))
- {
- new playerip[20];
- GetPlayerIp(playerid, playerip, sizeof(playerip));
- level[playerid] = dini_Int(playerfile, "Level");
- logged[playerid] = 1;
- dini_Set(playerfile, "Ip", playerip);
- GivePlayerMoney(playerid, dini_Int(playerfile, "Cash"));
- SetPlayerScore(playerid, dini_Int(playerfile, "Score"));
- logged[playerid] = 1;
- SendClientMessage(playerid, yellow, "Du wurdest automatisch eingeloggt!");
- SpawnPlayer(playerid);
- return 1;
- }
- }
- #endif
- if(dini_Exists(playerfile)) SendClientMessage(playerid, red, "Bitte erst einloggen. /login");
- else SendClientMessage(playerid, red, "Bitte erst Registrieren. /register");
- return 0;
- }
- #endif
- return 1;
- }
- //Account Commands
- COMMAND:login(playerid, params[])
- {
- if(logged[playerid] == 1) return SendClientMessage(playerid, red, "Du bist schon eingeloggt.");
- ShowPlayerDialog(playerid,200,DIALOG_STYLE_INPUT,"Login","Tippe das Passwort ein!","Login","Abbrechen");
- return 1;
- }
- COMMAND:register(playerid, params[])
- {
- ShowPlayerDialog(playerid,201,DIALOG_STYLE_INPUT,"Registration","Tippe ein Passwort ein um dich zu Registrieren!","Registrieren","Abbrechen");
- return 1;
- }
- /*Premium Commands*/
- COMMAND:pcmds(playerid, params[])
- {
- if(level[playerid] >= 1)
- {
- SendClientMessage(playerid, blue, "Premium Commands:");
- SendClientMessage(playerid, gold, "heal,armour,flip,nos,hyd");
- } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diese Commands zu benutzen.");
- return 1;
- }
- COMMAND:heal(playerid, params[])
- {
- if(level[playerid] >= 1)
- {
- SetPlayerHealth(playerid, 100.00);
- SendClientMessage(playerid, blue, "Leben Regeneriert");
- } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diesen Command zu benutzen.");
- return 1;
- }
- COMMAND:armour(playerid, params[])
- {
- if(level[playerid] >= 1)
- {
- SetPlayerArmour(playerid, 100.00);
- SendClientMessage(playerid, blue, "Schutzweste Repariert");
- } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diesen Command zu benutzen.");
- return 1;
- }
- COMMAND:flip(playerid, params[])
- {
- if(level[playerid] >= 1)
- {
- new VehicleID, Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- VehicleID = GetPlayerVehicleID(playerid);
- SetVehiclePos(VehicleID, X, Y, Z);
- SetVehicleZAngle(VehicleID, 0);
- SendClientMessage(playerid, blue, "Auto gedreht!");
- } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diesen Command zu benutzen.");
- return 1;
- }
- COMMAND:nos(playerid, params[])
- {
- if(level[playerid] >= 1)
- if(IsPlayerConnected(playerid))
- if(IsPlayerInAnyVehicle(playerid))
- {
- AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
- SendClientMessage(playerid, blue, "Du hast jetzt Nitro !");
- } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diesen Command zu benutzen.");
- return 1;
- }
- COMMAND:hyd(playerid, params[])
- {
- if(level[playerid] >= 1)
- if(IsPlayerConnected(playerid))
- if(IsPlayerInAnyVehicle(playerid))
- {
- AddVehicleComponent(GetPlayerVehicleID(playerid), 1087);
- SendClientMessage(playerid, blue, "Du hast nun Hydraulik !");
- } else SendClientMessage(playerid, red, "Error: Du musst Premium user sein um diesen Command zu benutzen.");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 201)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid,201,DIALOG_STYLE_INPUT,"Registration","ERROR: Du hast kein Passwort eingegeben.\nBitte Tippe ein Passwort ein um dich zu Registrieren !","Register","Abbrechen");
- new playerfile[128], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
- if(dini_Exists(playerfile)) return SendClientMessage(playerid, red, "Du bist schon registriert!");
- new playerip[20];
- GetPlayerIp(playerid, playerip, sizeof(playerip));
- dini_Create(playerfile);
- dini_IntSet(playerfile, "Password", udb_hash(inputtext));
- dini_Set(playerfile, "Ip", playerip);
- dini_IntSet(playerfile, "Level", 0);
- dini_IntSet(playerfile, "Cash", 0);
- dini_IntSet(playerfile, "Score", 0);
- logged[playerid] = 1;
- SendClientMessage(playerid, yellow, "Du hast dich Registriert! Du wurdest automatisch eingeloggt.");
- }
- if(dialogid == 200)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid,200,DIALOG_STYLE_INPUT,"Login","ERROR: Du hast kein Passwort eingegeben.\nTippe ein Passwort ein um dich einzuloggen!","Login","Abbrechen");
- new playerfile[100], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(playerfile, sizeof(playerfile), "Premium/Users/%s.ini",pname);
- if(!dini_Exists(playerfile)) return SendClientMessage(playerid, red, "Dieser Benutztername ist nicht Registriert /register.");
- new tmp[256];
- tmp = dini_Get(playerfile, "Password");
- if(udb_hash(inputtext) == strval(tmp))
- {
- new playerip[20];
- GetPlayerIp(playerid, playerip, sizeof(playerip));
- level[playerid] = dini_Int(playerfile, "Level");
- logged[playerid] = 1;
- dini_Set(playerfile, "Ip", playerip);
- GivePlayerMoney(playerid, dini_Int(playerfile, "Cash"));
- SetPlayerScore(playerid, dini_Int(playerfile, "Score"));
- logged[playerid] = 1;
- SendClientMessage(playerid, yellow, "You have logged in!");
- } else return ShowPlayerDialog(playerid,200,DIALOG_STYLE_INPUT,"Login","ERROR: Falsches Passwort.\nTippe ein Passwort ein um dich einzuloggen!","Login","Abbrechen");
- }
- return 1;
- }
Add Comment
Please, Sign In to add comment