Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <a_mysql>
- #include <sscanf2>
- #include <YSI\y_commands>
- #define mysql_host "127.0.0.1"
- #define mysql_db "delazero"
- #define mysql_user "root"
- #define mysql_pass ""
- #define SCM SendClientMessage
- #define COLOR_LIGHTBLUE 0x00C3FFFF
- //Systems//
- stock SCMf(playerid, colour, const fmat[], va_args<>) {
- new UsageString[500]; va_format(UsageString, 128, fmat, va_start<3>);
- return SCM(playerid, colour, UsageString);
- }
- //End Systems//
- main() {
- }
- new Text:LogoTD;
- stock GetName(playerid)
- {
- new Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, sizeof(Name));
- return Name;
- }
- enum
- {
- DIALOG_REGISTER,
- DIALOG_LOGIN,
- DIALOG_AGE,
- DIALOG_SEX,
- DIALOG_EMAIL,
- DIALOG_PETMENU,
- DIALOG_PETB,
- DIALOG_SHOP,
- DIALOG_GETNP
- };
- enum pInfo
- {
- pID,
- pPassword,
- pAdmin,
- pMoney,
- pHelper,
- pPet,
- pPetStatus,
- pPetLevel,
- pPetPoints,
- pNewPoints
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- new MySQL:g_Sql;
- forward MySQLConnect();
- public MySQLConnect()
- {
- g_Sql = mysql_connect(mysql_host, mysql_user, mysql_pass, mysql_db);
- return true;
- }
- public OnGameModeInit()
- {
- MySQLConnect();
- LogoTD = TextDrawCreate(640.000061, 438.888702, "Rpg.~y~New-Project~w~.Ro");
- TextDrawLetterSize(LogoTD, 0.253199, 1.027555);
- TextDrawAlignment(LogoTD, 3);
- TextDrawColor(LogoTD, -1);
- TextDrawSetShadow(LogoTD, 0);
- TextDrawSetOutline(LogoTD, 0);
- TextDrawBackgroundColor(LogoTD, 255);
- TextDrawFont(LogoTD, 3);
- TextDrawSetProportional(LogoTD, 1);
- TextDrawSetShadow(LogoTD, 0);
- AddPlayerClass(0,-189.8255,-313.1379,2.4297,222.6136,0,0,0,0,0,0);
- return true;
- }
- public OnGameModeExit() {
- mysql_close(g_Sql);
- return true;
- }
- forward OnPlayerLogin(playerid);
- public OnPlayerLogin(playerid)
- {
- new rows, fields;
- cache_get_row_count(rows);
- cache_get_field_count(fields);
- if(rows)
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logheaza-te!", "Te rog sa-ti introduci parola mai jos", "Login", "Exit");//daca playerul are randuri i se va afisa dialogul de login
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Inregistrare", "Trebuie sa iti creezi un cont pentru a juca pe server. \nTasteaza mai jos o paorla pentru a te inregistra.", "Inregistrare", "Exit");//daca playerul nu are randuri i se va afisa dialogul de inregistrare
- }
- return true;
- }
- public OnPlayerConnect(playerid)
- {
- new query[100];
- mysql_format(g_Sql, query, sizeof(query), "SELECT * FROM users WHERE Name = '%s'", GetName(playerid));
- mysql_tquery(g_Sql, query, "OnPlayerLogin", "i", playerid);//se va interoga OnPlayerLogin pentru a ne arata daca are sau nu cont acel player
- TextDrawShowForPlayer(playerid, Text:LogoTD);
- return true;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
- new query[128], ip[25];
- switch(dialogid)
- {
- case DIALOG_REGISTER:
- {
- if(!response) return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Parola Incorecta!", "Introdu-ti o parola pentru a te inregistra pe server!", "Inregistreaza", "Exit");
- GetPlayerIp(playerid, ip, sizeof(ip));
- SCM(playerid, COLOR_LIGHTBLUE, "Te rog sa-ti introduci varsta.");
- mysql_format(g_Sql, query, sizeof(query), "INSERT INTO users (Name, Password, IP, Admin, Helper, Money) VALUES ('%s', '%e', '%s', '0','0','1500')", GetName(playerid), inputtext, ip);
- mysql_query(g_Sql, query);
- ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta!", "Te rog sa-ti introduci mai jos varsta.", "Continua", "Exit");
- }
- return true;
- }
- case DIALOG_LOGIN:
- {
- if(!response) return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Parola Incorecta!", "Te rog sa-ti introduci parola corecta mai jos\nDaca ai uitat parola o poti recupera pe panel.", "Login", "Exit");
- mysql_format(g_Sql, query, sizeof(query), "SELECT * FROM `users` WHERE `Name`='%e' AND `Password`='%s'", GetName(playerid), inputtext);
- mysql_tquery(g_Sql, query, "OnLogin", "i", playerid);
- }
- return true;
- }
- case DIALOG_AGE:
- {
- if(!response) return ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta!", "Te rog sa-ti introduci mai jos varsta.", "Continua", "Exit");
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta!", "Te rog sa-ti introduci mai jos varsta.", "Continua", "Exit");
- SCM(playerid, COLOR_LIGHTBLUE, "Te rog sa-ti introduci email-ul, pentru contact si a pentru a-ti putea recupera contul.");
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Age`='%e' WHERE `Name`='%e'", inputtext, GetName(playerid));
- mysql_query(g_Sql, query);
- ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Te rog sa-ti introduci email-ul mai jos.", "Continua", "Exit");
- }
- return true;
- }
- case DIALOG_EMAIL:
- {
- if(!response) return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "?ail", "Te rog sa-ti introduci email-ul mai jos.", "Continua", "Exit");
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "?ail", "Te rog sa-ti introduci email-ul mai jos.", "Continua", "Exit");
- SCM(playerid, COLOR_LIGHTBLUE, "Te rog sa-ti alegi sexul.");
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Email`='%e' WHERE `Name`='%e'", inputtext, GetName(playerid));
- mysql_query(g_Sql, query);
- ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_MSGBOX, "Gen", "Te rog sa-ti alegi genul de mai jos.", "Masculin", "Feminin");
- }
- return true;
- }
- case DIALOG_SEX:
- {
- if(response)
- {
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Sex`='1' WHERE `Name`='%e'", GetName(playerid));
- mysql_query(g_Sql, query);
- SCM(playerid, COLOR_LIGHTBLUE, "Inregistrarea a fost un succes!");
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logheaza-te!", "Te rog sa-ti introduci parola mai jos", "Login", "Exit");
- }
- if(!response)
- {
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Sex`='0' WHERE `Name`='%e'", GetName(playerid));
- mysql_query(g_Sql, query);
- SCM(playerid, COLOR_LIGHTBLUE, "Inregistrarea a fost un succes!");
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logheaza-te!", "Te rog sa-ti introduci parola mai jos", "Login", "Exit");
- }
- return true;
- }
- case DIALOG_PETMENU: {
- switch(listitem) {
- case 0: {
- if(!response) return SCM(playerid, -1, "Ai inchis Pet-Menul");
- if(PlayerInfo[playerid][pPetStatus] == 0) {
- SCM(playerid, -1, "L-ai trezit pe gogu :) ");
- PlayerInfo[playerid][pPetStatus] += 1;
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `PetStatus`='1' WHERE `ID`='%d'", PlayerInfo[playerid][pID]);
- mysql_query(g_Sql, query);
- SetPlayerAttachedObject(playerid,5, 19079, 1, 0.319503, -0.089340, -0.185576, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
- }
- else {
- if(PlayerInfo[playerid][pPetStatus] == 1) {
- SCM(playerid, -1, "L-ai trimis la culcare pe gogu :) ");
- PlayerInfo[playerid][pPetStatus] -= 1;
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `PetStatus`='0' WHERE `ID`='%d'", PlayerInfo[playerid][pID]);
- mysql_query(g_Sql, query);
- RemovePlayerAttachedObject(playerid, 5);
- }
- }
- return true;
- }
- case 1: {
- ShowPlayerDialog(playerid, DIALOG_PETB, DIALOG_STYLE_MSGBOX, "Pet Benifices", "Pet Level 1: Primesti 10k la fiecare payday\nPet Level 2: Primesti 15k la fiecare payday\nPet Level 3: Primesti 20k si 1x rp la fiercare payday", "Ok", "");
- }
- case 2: {
- if(PlayerInfo[playerid][pPetPoints] < 3000) return SCMf(playerid, -1, "Nu ai destule PetPoints pentru a upgrada acest pet [%d/3000]", PlayerInfo[playerid][pPetPoints]);
- PlayerInfo[playerid][pPetLevel] ++;
- PlayerInfo[playerid][pPetPoints] -= 3000;
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `PetLevel`='%d' WHERE `ID`='%d'",PlayerInfo[playerid][pPetLevel], PlayerInfo[playerid][pID]);
- mysql_query(g_Sql, query);
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `PetPoints`='%d' WHERE `ID`='%d'",PlayerInfo[playerid][pPetPoints], PlayerInfo[playerid][pID]);
- mysql_query(g_Sql, query);
- SCMf(playerid, -1, "Felicitari %s: ai facut level up la acest pet [%d]", GetName(playerid), PlayerInfo[playerid][pPetLevel]);
- }
- }
- }
- case DIALOG_SHOP: {
- switch(listitem) {
- case 0: {
- ShowPlayerDialog(playerid, DIALOG_GETNP, DIALOG_STYLE_MSGBOX, "{FFFF00}[+] {5F9CC9} Get NewPoints", "Pentru a optine NewPoints poti face questurile zilice\nSau poti dona pe server 25 lei (5e) 62 NewPoints", "Ok", "");
- }
- case 1: {
- if(PlayerInfo[playerid][pNewPoints] < 200) return SCM(playerid, -1, "Nu ai destule NewPoints pentru a cumpa un pet personal");
- if(PlayerInfo[playerid][pPet] == 1) return SCM(playerid, -1, "Ai deja un pet [/petmenu]");
- PlayerInfo[playerid][pPet] ++;
- PlayerInfo[playerid][pNewPoints] -=200;
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Pet`='1' WHERE `ID`='%d'", PlayerInfo[playerid][pID]);
- mysql_query(g_Sql, query);
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `NewPoints`='%d' WHERE `ID`='%d'", PlayerInfo[playerid][pNewPoints], PlayerInfo[playerid][pID]);
- mysql_query(g_Sql, query);
- SCM(playerid, -1, "Ti-ai cumparat cu succes un pet [/petmenu]");
- }
- case 2: {
- if(PlayerInfo[playerid][pNewPoints] < 250) return SCM(playerid, -1, "Nu ai destule NewPoints pentru a cumpara 1000 PetPoints");
- if(PlayerInfo[playerid][pPetPoints] == 3000) return SCM(playerid, -1, "Ai deja 3000/3000 upgradeaza pet-ul ! pentru a lua 100 de PetPoints");
- PlayerInfo[playerid][pPetPoints] += 1000;
- PlayerInfo[playerid][pNewPoints] -=250;
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `PetPoints`='1000' WHERE `ID`='%d'", PlayerInfo[playerid][pID]);
- mysql_query(g_Sql, query);
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `NewPoints`='%d' WHERE `ID`='%d'", PlayerInfo[playerid][pNewPoints], PlayerInfo[playerid][pID]);
- mysql_query(g_Sql, query);
- SCM(playerid, -1, "Ti-ai cumparat 1000 de PetPoints");
- }
- }
- return true;
- }
- }
- return true;
- }
- public OnPlayerSpawn(playerid) {
- return true;
- }
- forward OnLogin(playerid);
- public OnLogin(playerid)
- {
- new rows, fields, temporar[200];
- cache_get_row_count(rows);
- cache_get_field_count(fields);
- if(rows)
- {
- PlayerInfo[playerid][pPassword] = cache_get_value_name(0, "Password", temporar);
- PlayerInfo[playerid][pID] = cache_get_value_name(0, "ID", temporar);
- cache_get_value_int(0, "Money", PlayerInfo[playerid][pMoney]);
- cache_get_value_int(0, "Admin", PlayerInfo[playerid][pAdmin]);
- cache_get_value_int(0, "Pet", PlayerInfo[playerid][pPet]);
- cache_get_value_int(0, "PetStatus", PlayerInfo[playerid][pPetStatus]);
- cache_get_value_int(0, "PetPoints", PlayerInfo[playerid][pPetPoints]);
- cache_get_value_int(0, "PetLevel", PlayerInfo[playerid][pPetLevel]);
- cache_get_value_int(0, "NewPoints", PlayerInfo[playerid][pNewPoints]);
- SpawnPlayer(playerid);
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Parola Incorecta!", "Te rog sa-ti introduci parola corecta mai jos\nDaca ai uitat parola o poti recupera pe panel.", "Login", "Exit");
- }
- GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
- return true;
- }
- YCMD:spawncar(playerid, params[], help) {
- if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1, "You don't have acces !");
- new model, color1, color2;
- if(sscanf(params, "iii", model, color1, color2)) return SendClientMessage(playerid, -1, "USAGE: {FFFFFF}/spawncar <Model> <color1> <color2>");
- if(model < 400 || model > 611) return SendClientMessage(playerid,-1, "Invalid car ID.");
- new Float:X,Float:Y,Float:Z;
- GetPlayerPos(playerid, X,Y,Z);
- new carid = CreateVehicle(model, X,Y,Z, 0.0, color1, color2, 300);
- SetVehicleNumberPlate(carid, "AdmCar");
- LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
- SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
- PutPlayerInVehicle(playerid, carid, 0);
- return true;
- }
- YCMD:fixveh(playerid, params[], help) {
- if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, "You not in vehicle");
- if(PlayerInfo[playerid][pAdmin] == 0) return SCM(playerid, -1, "You don't have acces");
- SetVehicleHealth(GetPlayerVehicleID(playerid), 999);
- SCM(playerid, -1, "Your vehicle has been repaired !");
- return true;
- }
- YCMD:petmenu(playerid, params[], help) {
- new string[100];
- if(PlayerInfo[playerid][pPet] == 0) return SCM(playerid, -1, "Nu ai un pet personal");
- if(PlayerInfo[playerid][pPetStatus] == 0) {
- ShowPlayerDialog(playerid, DIALOG_PETMENU, DIALOG_STYLE_LIST, "Pet Menu\tStatus", "Pet Status\t{FF6347}Adormit\nPet Benifices\nBuy Pet Level\n", "Ok", "Cancel");
- }
- else {
- if(PlayerInfo[playerid][pPetStatus] == 1) {
- format(string, sizeof(string), "Pet Status\t{9ACD32}Trezit\nPet Benifices\nBuy Pet Level\n");
- ShowPlayerDialog(playerid, DIALOG_PETMENU, DIALOG_STYLE_LIST, "Pet Menu\tStatus", string, "Ok", "Cancel");
- }
- }
- return true;
- }
- YCMD:stats(playerid, params[], help) {
- SCMf(playerid, -1, "Name: %s | SQLID: %d | Level: %d | Ping: %d | Money: %d | PetPoints: %d/3000 | PetLevel: %d", GetName(playerid), PlayerInfo[playerid][pID], GetPlayerScore(playerid), GetPlayerPing(playerid), PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pPetPoints], PlayerInfo[playerid][pPetLevel]);
- return true;
- }
- YCMD:bonus(playerid, params[], help) {
- new query[100];
- if(GetPlayerScore(playerid) < 0) return SCM(playerid, -1, "Ai luat deja acest bonus !");
- GivePlayerMoney(playerid, 2500);
- PlayerInfo[playerid][pMoney] +=2500;
- mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Money`='%d' WHERE `ID`='%d'",GetPlayerMoney(playerid), PlayerInfo[playerid][pID]);
- mysql_query(g_Sql, query);
- return true;
- }
- YCMD:shop(playerid, params[], help) {
- ShowPlayerDialog(playerid, DIALOG_SHOP, DIALOG_STYLE_LIST, "Shop", "{FFFF00}[+] {5F9CC9}Get NewPoints\n{9ACD32}Personal Pet\t{FF6347}200 NewPoints\n{9ACD32}1000 PetPoints\t {FF6347}250 NewPoints", "Buy", "Cancel");
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement