Advertisement
Guest User

Untitled

a guest
Aug 14th, 2018
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.61 KB | None | 0 0
  1. #include <a_samp>
  2. #include <a_mysql>
  3. #include <sscanf2>
  4. #include <YSI\y_commands>
  5.  
  6. #define mysql_host "127.0.0.1"
  7. #define mysql_db "delazero"
  8. #define mysql_user "root"
  9. #define mysql_pass ""
  10. #define SCM SendClientMessage
  11. #define COLOR_LIGHTBLUE 0x00C3FFFF
  12. //Systems//
  13. stock SCMf(playerid, colour, const fmat[], va_args<>) {
  14. new UsageString[500]; va_format(UsageString, 128, fmat, va_start<3>);
  15. return SCM(playerid, colour, UsageString);
  16. }
  17. //End Systems//
  18. main() {
  19.  
  20. }
  21. new Text:LogoTD;
  22. stock GetName(playerid)
  23. {
  24. new Name[MAX_PLAYER_NAME];
  25. GetPlayerName(playerid, Name, sizeof(Name));
  26. return Name;
  27. }
  28. enum
  29. {
  30. DIALOG_REGISTER,
  31. DIALOG_LOGIN,
  32. DIALOG_AGE,
  33. DIALOG_SEX,
  34. DIALOG_EMAIL,
  35. DIALOG_PETMENU,
  36. DIALOG_PETB,
  37. DIALOG_SHOP,
  38. DIALOG_GETNP
  39. };
  40. enum pInfo
  41. {
  42. pID,
  43. pPassword,
  44. pAdmin,
  45. pMoney,
  46. pHelper,
  47. pPet,
  48. pPetStatus,
  49. pPetLevel,
  50. pPetPoints,
  51. pNewPoints
  52. };
  53. new PlayerInfo[MAX_PLAYERS][pInfo];
  54.  
  55. new MySQL:g_Sql;
  56.  
  57. forward MySQLConnect();
  58. public MySQLConnect()
  59. {
  60. g_Sql = mysql_connect(mysql_host, mysql_user, mysql_pass, mysql_db);
  61.  
  62. return true;
  63. }
  64. public OnGameModeInit()
  65. {
  66. MySQLConnect();
  67.  
  68. LogoTD = TextDrawCreate(640.000061, 438.888702, "Rpg.~y~New-Project~w~.Ro");
  69. TextDrawLetterSize(LogoTD, 0.253199, 1.027555);
  70. TextDrawAlignment(LogoTD, 3);
  71. TextDrawColor(LogoTD, -1);
  72. TextDrawSetShadow(LogoTD, 0);
  73. TextDrawSetOutline(LogoTD, 0);
  74. TextDrawBackgroundColor(LogoTD, 255);
  75. TextDrawFont(LogoTD, 3);
  76. TextDrawSetProportional(LogoTD, 1);
  77. TextDrawSetShadow(LogoTD, 0);
  78.  
  79. AddPlayerClass(0,-189.8255,-313.1379,2.4297,222.6136,0,0,0,0,0,0);
  80. return true;
  81. }
  82. public OnGameModeExit() {
  83.  
  84. mysql_close(g_Sql);
  85. return true;
  86. }
  87. forward OnPlayerLogin(playerid);
  88. public OnPlayerLogin(playerid)
  89. {
  90. new rows, fields;
  91. cache_get_row_count(rows);
  92. cache_get_field_count(fields);
  93. if(rows)
  94. {
  95. 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
  96. }
  97. else
  98. {
  99. 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
  100. }
  101. return true;
  102. }
  103. public OnPlayerConnect(playerid)
  104. {
  105. new query[100];
  106. mysql_format(g_Sql, query, sizeof(query), "SELECT * FROM users WHERE Name = '%s'", GetName(playerid));
  107. mysql_tquery(g_Sql, query, "OnPlayerLogin", "i", playerid);//se va interoga OnPlayerLogin pentru a ne arata daca are sau nu cont acel player
  108. TextDrawShowForPlayer(playerid, Text:LogoTD);
  109. return true;
  110. }
  111. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
  112. new query[128], ip[25];
  113. switch(dialogid)
  114. {
  115. case DIALOG_REGISTER:
  116. {
  117. if(!response) return Kick(playerid);
  118. if(response)
  119. {
  120. 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");
  121. GetPlayerIp(playerid, ip, sizeof(ip));
  122. SCM(playerid, COLOR_LIGHTBLUE, "Te rog sa-ti introduci varsta.");
  123. 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);
  124. mysql_query(g_Sql, query);
  125. ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta!", "Te rog sa-ti introduci mai jos varsta.", "Continua", "Exit");
  126. }
  127. return true;
  128. }
  129. case DIALOG_LOGIN:
  130. {
  131. if(!response) return Kick(playerid);
  132. if(response)
  133. {
  134. 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");
  135. mysql_format(g_Sql, query, sizeof(query), "SELECT * FROM `users` WHERE `Name`='%e' AND `Password`='%s'", GetName(playerid), inputtext);
  136. mysql_tquery(g_Sql, query, "OnLogin", "i", playerid);
  137. }
  138. return true;
  139. }
  140. case DIALOG_AGE:
  141. {
  142. if(!response) return ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta!", "Te rog sa-ti introduci mai jos varsta.", "Continua", "Exit");
  143. if(response)
  144. {
  145. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta!", "Te rog sa-ti introduci mai jos varsta.", "Continua", "Exit");
  146. SCM(playerid, COLOR_LIGHTBLUE, "Te rog sa-ti introduci email-ul, pentru contact si a pentru a-ti putea recupera contul.");
  147. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Age`='%e' WHERE `Name`='%e'", inputtext, GetName(playerid));
  148. mysql_query(g_Sql, query);
  149. ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Te rog sa-ti introduci email-ul mai jos.", "Continua", "Exit");
  150. }
  151. return true;
  152. }
  153. case DIALOG_EMAIL:
  154. {
  155. if(!response) return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "?ail", "Te rog sa-ti introduci email-ul mai jos.", "Continua", "Exit");
  156. if(response)
  157. {
  158. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "?ail", "Te rog sa-ti introduci email-ul mai jos.", "Continua", "Exit");
  159. SCM(playerid, COLOR_LIGHTBLUE, "Te rog sa-ti alegi sexul.");
  160. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Email`='%e' WHERE `Name`='%e'", inputtext, GetName(playerid));
  161. mysql_query(g_Sql, query);
  162. ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_MSGBOX, "Gen", "Te rog sa-ti alegi genul de mai jos.", "Masculin", "Feminin");
  163. }
  164. return true;
  165. }
  166. case DIALOG_SEX:
  167. {
  168. if(response)
  169. {
  170. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Sex`='1' WHERE `Name`='%e'", GetName(playerid));
  171. mysql_query(g_Sql, query);
  172. SCM(playerid, COLOR_LIGHTBLUE, "Inregistrarea a fost un succes!");
  173. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logheaza-te!", "Te rog sa-ti introduci parola mai jos", "Login", "Exit");
  174. }
  175. if(!response)
  176. {
  177. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Sex`='0' WHERE `Name`='%e'", GetName(playerid));
  178. mysql_query(g_Sql, query);
  179. SCM(playerid, COLOR_LIGHTBLUE, "Inregistrarea a fost un succes!");
  180. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logheaza-te!", "Te rog sa-ti introduci parola mai jos", "Login", "Exit");
  181. }
  182. return true;
  183. }
  184. case DIALOG_PETMENU: {
  185. switch(listitem) {
  186. case 0: {
  187. if(!response) return SCM(playerid, -1, "Ai inchis Pet-Menul");
  188. if(PlayerInfo[playerid][pPetStatus] == 0) {
  189. SCM(playerid, -1, "L-ai trezit pe gogu :) ");
  190. PlayerInfo[playerid][pPetStatus] += 1;
  191. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `PetStatus`='1' WHERE `ID`='%d'", PlayerInfo[playerid][pID]);
  192. mysql_query(g_Sql, query);
  193. SetPlayerAttachedObject(playerid,5, 19079, 1, 0.319503, -0.089340, -0.185576, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
  194. }
  195. else {
  196. if(PlayerInfo[playerid][pPetStatus] == 1) {
  197. SCM(playerid, -1, "L-ai trimis la culcare pe gogu :) ");
  198. PlayerInfo[playerid][pPetStatus] -= 1;
  199. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `PetStatus`='0' WHERE `ID`='%d'", PlayerInfo[playerid][pID]);
  200. mysql_query(g_Sql, query);
  201. RemovePlayerAttachedObject(playerid, 5);
  202. }
  203. }
  204. return true;
  205. }
  206. case 1: {
  207. 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", "");
  208. }
  209. case 2: {
  210. if(PlayerInfo[playerid][pPetPoints] < 3000) return SCMf(playerid, -1, "Nu ai destule PetPoints pentru a upgrada acest pet [%d/3000]", PlayerInfo[playerid][pPetPoints]);
  211. PlayerInfo[playerid][pPetLevel] ++;
  212. PlayerInfo[playerid][pPetPoints] -= 3000;
  213. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `PetLevel`='%d' WHERE `ID`='%d'",PlayerInfo[playerid][pPetLevel], PlayerInfo[playerid][pID]);
  214. mysql_query(g_Sql, query);
  215. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `PetPoints`='%d' WHERE `ID`='%d'",PlayerInfo[playerid][pPetPoints], PlayerInfo[playerid][pID]);
  216. mysql_query(g_Sql, query);
  217. SCMf(playerid, -1, "Felicitari %s: ai facut level up la acest pet [%d]", GetName(playerid), PlayerInfo[playerid][pPetLevel]);
  218. }
  219. }
  220. }
  221. case DIALOG_SHOP: {
  222. switch(listitem) {
  223. case 0: {
  224. 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", "");
  225. }
  226. case 1: {
  227. if(PlayerInfo[playerid][pNewPoints] < 200) return SCM(playerid, -1, "Nu ai destule NewPoints pentru a cumpa un pet personal");
  228. if(PlayerInfo[playerid][pPet] == 1) return SCM(playerid, -1, "Ai deja un pet [/petmenu]");
  229. PlayerInfo[playerid][pPet] ++;
  230. PlayerInfo[playerid][pNewPoints] -=200;
  231. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Pet`='1' WHERE `ID`='%d'", PlayerInfo[playerid][pID]);
  232. mysql_query(g_Sql, query);
  233. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `NewPoints`='%d' WHERE `ID`='%d'", PlayerInfo[playerid][pNewPoints], PlayerInfo[playerid][pID]);
  234. mysql_query(g_Sql, query);
  235. SCM(playerid, -1, "Ti-ai cumparat cu succes un pet [/petmenu]");
  236. }
  237. case 2: {
  238. if(PlayerInfo[playerid][pNewPoints] < 250) return SCM(playerid, -1, "Nu ai destule NewPoints pentru a cumpara 1000 PetPoints");
  239. if(PlayerInfo[playerid][pPetPoints] == 3000) return SCM(playerid, -1, "Ai deja 3000/3000 upgradeaza pet-ul ! pentru a lua 100 de PetPoints");
  240. PlayerInfo[playerid][pPetPoints] += 1000;
  241. PlayerInfo[playerid][pNewPoints] -=250;
  242. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `PetPoints`='1000' WHERE `ID`='%d'", PlayerInfo[playerid][pID]);
  243. mysql_query(g_Sql, query);
  244. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `NewPoints`='%d' WHERE `ID`='%d'", PlayerInfo[playerid][pNewPoints], PlayerInfo[playerid][pID]);
  245. mysql_query(g_Sql, query);
  246. SCM(playerid, -1, "Ti-ai cumparat 1000 de PetPoints");
  247. }
  248. }
  249. return true;
  250. }
  251. }
  252. return true;
  253. }
  254. public OnPlayerSpawn(playerid) {
  255.  
  256. return true;
  257. }
  258. forward OnLogin(playerid);
  259. public OnLogin(playerid)
  260. {
  261. new rows, fields, temporar[200];
  262. cache_get_row_count(rows);
  263. cache_get_field_count(fields);
  264. if(rows)
  265. {
  266. PlayerInfo[playerid][pPassword] = cache_get_value_name(0, "Password", temporar);
  267. PlayerInfo[playerid][pID] = cache_get_value_name(0, "ID", temporar);
  268. cache_get_value_int(0, "Money", PlayerInfo[playerid][pMoney]);
  269. cache_get_value_int(0, "Admin", PlayerInfo[playerid][pAdmin]);
  270. cache_get_value_int(0, "Pet", PlayerInfo[playerid][pPet]);
  271. cache_get_value_int(0, "PetStatus", PlayerInfo[playerid][pPetStatus]);
  272. cache_get_value_int(0, "PetPoints", PlayerInfo[playerid][pPetPoints]);
  273. cache_get_value_int(0, "PetLevel", PlayerInfo[playerid][pPetLevel]);
  274. cache_get_value_int(0, "NewPoints", PlayerInfo[playerid][pNewPoints]);
  275. SpawnPlayer(playerid);
  276. }
  277. else
  278. {
  279. 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");
  280. }
  281. GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
  282. return true;
  283. }
  284. YCMD:spawncar(playerid, params[], help) {
  285. if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1, "You don't have acces !");
  286. new model, color1, color2;
  287. if(sscanf(params, "iii", model, color1, color2)) return SendClientMessage(playerid, -1, "USAGE: {FFFFFF}/spawncar <Model> <color1> <color2>");
  288. if(model < 400 || model > 611) return SendClientMessage(playerid,-1, "Invalid car ID.");
  289. new Float:X,Float:Y,Float:Z;
  290. GetPlayerPos(playerid, X,Y,Z);
  291. new carid = CreateVehicle(model, X,Y,Z, 0.0, color1, color2, 300);
  292. SetVehicleNumberPlate(carid, "AdmCar");
  293. LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  294. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  295. PutPlayerInVehicle(playerid, carid, 0);
  296. return true;
  297. }
  298. YCMD:fixveh(playerid, params[], help) {
  299. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, "You not in vehicle");
  300. if(PlayerInfo[playerid][pAdmin] == 0) return SCM(playerid, -1, "You don't have acces");
  301. SetVehicleHealth(GetPlayerVehicleID(playerid), 999);
  302. SCM(playerid, -1, "Your vehicle has been repaired !");
  303. return true;
  304. }
  305. YCMD:petmenu(playerid, params[], help) {
  306. new string[100];
  307. if(PlayerInfo[playerid][pPet] == 0) return SCM(playerid, -1, "Nu ai un pet personal");
  308. if(PlayerInfo[playerid][pPetStatus] == 0) {
  309. ShowPlayerDialog(playerid, DIALOG_PETMENU, DIALOG_STYLE_LIST, "Pet Menu\tStatus", "Pet Status\t{FF6347}Adormit\nPet Benifices\nBuy Pet Level\n", "Ok", "Cancel");
  310. }
  311. else {
  312. if(PlayerInfo[playerid][pPetStatus] == 1) {
  313.  
  314. format(string, sizeof(string), "Pet Status\t{9ACD32}Trezit\nPet Benifices\nBuy Pet Level\n");
  315. ShowPlayerDialog(playerid, DIALOG_PETMENU, DIALOG_STYLE_LIST, "Pet Menu\tStatus", string, "Ok", "Cancel");
  316. }
  317. }
  318. return true;
  319. }
  320. YCMD:stats(playerid, params[], help) {
  321. 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]);
  322. return true;
  323. }
  324. YCMD:bonus(playerid, params[], help) {
  325. new query[100];
  326. if(GetPlayerScore(playerid) < 0) return SCM(playerid, -1, "Ai luat deja acest bonus !");
  327. GivePlayerMoney(playerid, 2500);
  328. PlayerInfo[playerid][pMoney] +=2500;
  329. mysql_format(g_Sql, query, sizeof(query), "UPDATE `users` SET `Money`='%d' WHERE `ID`='%d'",GetPlayerMoney(playerid), PlayerInfo[playerid][pID]);
  330. mysql_query(g_Sql, query);
  331. return true;
  332. }
  333. YCMD:shop(playerid, params[], help) {
  334. 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");
  335. return true;
  336. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement