Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.87 KB | None | 0 0
  1. #include <a_samp>
  2. #include <Dini>
  3. #include <dudb>
  4. #include <dutils>
  5. #include <zcmd>
  6. #include <sscanf2>
  7.  
  8. #pragma unused strtok
  9. #pragma unused ret_memcpy
  10.  
  11. #define GAMEMODE "-"
  12. #define MAP_NAME "-"
  13. #define SERVER_NAME "-"
  14. #define WEBSITE "-"
  15. #define VERSION "V0.1"
  16. #define DEVELOPER "Santi & Vito & Delta"
  17. //==============================================================================================
  18. #define PICKUP_RANGE 50
  19. #define MAX_PICKUPZ 10000
  20. //==============================================================================================
  21.  
  22. #define COLOR_SYSTEM 0xEFEFF7AA
  23. #define COLOR_PURPLE 0xC2A2DAAA
  24. #define COLOR_RED 0xFF0000AA
  25. #define COLOR_YELLOW 0xFFFF00AA
  26. #define COLOR_GREY 0xC0C0C0AA
  27. #define COLOR_LIGHTBLUE 0x33CCFFAA
  28. #define COLOR_ORANGE 0xFF9900AA
  29. #define COLOR_GREEN 0x33AA00FF
  30. #define COLOR_PINK 0xFF66FFAA
  31. #define COLOR_BLUE 0x0080FF96
  32. #define COLOR_BLACK 0x000000AA
  33. #define COLOR_WHITE 0xFFFFFFAA
  34. #define COLOR_BROWN 0xA52A2AAA
  35. #define COLOR_LIME 0x99FF00AA
  36. #define COLOR_NEON 0x00FF00AA
  37. #define COLOR_CHAT1 0xFFFFFF96
  38. #define COLOR_CHAT2 0xBCBCBC96
  39. #define COLOR_CHAT3 0xB0B0B096
  40. #define COLOR_CHAT4 0x95959596
  41. #define COLOR_CHAT5 0x51515196
  42. #define TEAM_GROVE_COLOR 0x00D900C8
  43. #define COLOR_VALASZ 0x33CCFFAA
  44. #define COLOR_GRAD2 0xBFC0C2FF
  45.  
  46. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  47.  
  48.  
  49. forward ProxDetector(Float:radi, playerid, ta[],col1,col2,col3,col4,col5);
  50. forward OnPlayerLogin(playerid,password[]);
  51. forward OnPlayerUpdate(playerid);
  52. forward OnPlayerRegister(playerid, password[]);
  53. forward split(const strsrc[], strdest[][], delimiter);
  54.  
  55. new gPlayerLogged[MAX_PLAYERS];
  56. new gPlayerLogTries[MAX_PLAYERS];
  57. new gPlayerSpawned[MAX_PLAYERS];
  58. new gPlayerAccount[MAX_PLAYERS];
  59.  
  60. enum pInfo
  61. {
  62. pKey[128],
  63. pLevel,
  64. pAdmin
  65. };
  66.  
  67. new PlayerInfo[MAX_PLAYERS][pInfo];
  68.  
  69. stock GetPlayerNameEx(playerid)
  70. {
  71. new szName[MAX_PLAYER_NAME];
  72. GetPlayerName(playerid, szName, sizeof szName);
  73. return szName;
  74. }
  75.  
  76. stock SendCloseMessage(playerid, Float: rad, color, const message[])
  77. {
  78. static Float: fPosX, Float: fPosY, Float: fPosZ;
  79. for(new index = 0; index < MAX_PLAYERS; ++index)
  80. {
  81. if(IsPlayerConnected(index))
  82. {
  83. GetPlayerPos(playerid, fPosX, fPosY, fPosZ);
  84. if(IsPlayerInRangeOfPoint(index, rad, fPosX, fPosY, fPosZ))
  85. {
  86. SendClientMessage(index, color, message);
  87. }
  88. }
  89. }
  90. return 1;
  91. }
  92.  
  93. main()
  94. {
  95. print("_________________________________________________________________________");
  96. printf("> %s - %s by %s betöltve.", GAMEMODE,MAP_NAME,DEVELOPER);
  97. printf("> Szerver név: %s", SERVER_NAME);
  98. printf("> Verzió: %s", VERSION);
  99. printf("> Map: %s", MAP_NAME);
  100. printf("> Weblap: %s", WEBSITE);
  101. printf("> Fejlesztő(k): %s", DEVELOPER);
  102. print("_________________________________________________________________________");
  103. }
  104.  
  105.  
  106. public OnGameModeInit()
  107. {
  108. SetGameModeText("Role Play Gaming");
  109.  
  110. CreateObject(1500, -1389.2734375, 2639.3017578125, 54.991500854492, 0, 0, 180);
  111.  
  112. AllowInteriorWeapons(1);
  113. AllowAdminTeleport(1);
  114. DisableInteriorEnterExits();
  115. EnableStuntBonusForAll(0);
  116. ShowPlayerMarkers(0);
  117. ShowNameTags(0);
  118.  
  119. AddPlayerClass( 212, -1275.4579, 2682.8604, 50.0625, 127.6630, 0, 0, 0, 0, 0, 0);
  120. return 1;
  121. }
  122.  
  123. public OnGameModeExit()
  124. {
  125. return 1;
  126. }
  127.  
  128. public OnPlayerRequestClass(playerid, classid)
  129. {
  130. if(gPlayerLogged[playerid] != 0)
  131. {
  132. if(gPlayerLogged[playerid] == 0)
  133. {
  134. SendClientMessage(playerid, COLOR_YELLOW, "Bejelentkezéshez írd be a jelszavadat a chatbe.");
  135. }
  136. else if(gPlayerLogged[playerid] == 1)
  137. {
  138. SendClientMessage(playerid, COLOR_VALASZ, "Regisztrációhoz gépeld be a jelszavadat a chatbe.");
  139. }
  140. SetPlayerPos(playerid, -1693.3926, 2568.4832, 103.6840);
  141. SetPlayerCameraPos(playerid, -1693.3926, 2568.4832, 103.6840);
  142. SetPlayerCameraLookAt(playerid, -1693.3926, 2568.4832, 103.6840);
  143. }
  144. else SpawnPlayer(playerid);
  145. return false;
  146. }
  147.  
  148. public OnPlayerConnect(playerid)
  149. {
  150. SetPlayerHealth(playerid, 100.1);
  151.  
  152. gPlayerLogged[playerid] = 0;
  153. gPlayerLogTries[playerid] = 0;
  154. gPlayerAccount[playerid] = 0;
  155. gPlayerSpawned[playerid] = 0;
  156.  
  157. return 1;
  158. }
  159.  
  160. public OnPlayerDisconnect(playerid, reason)
  161. {
  162. return 1;
  163. }
  164.  
  165. public OnPlayerSpawn(playerid)
  166. {
  167. return 1;
  168. }
  169.  
  170.  
  171. public OnPlayerText(playerid, text[])
  172. {
  173. new
  174. string[128];
  175.  
  176. if(gPlayerLogged[playerid] == 0)
  177. {
  178. format(string, sizeof(string), "users/%s.ini", PlayerName(playerid));
  179. new File: hFile = fopen(string, io_read);
  180. if (hFile)
  181. {
  182. fclose(hFile);
  183. OnPlayerLogin(playerid,text);
  184. return 0;
  185. }
  186. else
  187. {
  188. OnPlayerRegister(playerid,text);
  189. OnPlayerLogin(playerid,text);
  190. return 0;
  191. }
  192. }
  193. return 0;
  194. }
  195.  
  196. public OnPlayerCommandText(playerid, cmdtext[])
  197. {
  198. return SendClientMessage(playerid,0x33CCFFAA, "Nem létező parancs!");
  199. }
  200.  
  201. public OnPlayerRegister(playerid, password[])
  202. {
  203. if(IsPlayerConnected(playerid))
  204. {
  205. new string3[64], playername3[MAX_PLAYER_NAME], var[64];
  206. GetPlayerName(playerid, playername3, sizeof(playername3));
  207.  
  208. format(string3, sizeof(string3), "users/%s.ini", playername3);
  209. new File: hFile = fopen(string3, io_write);
  210. if (hFile)
  211. {
  212. strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
  213. format(var, 64, "Jelszó=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
  214. format(var, 64, "Szint=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
  215. format(var, 64, "AdminSzint=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
  216. fclose(hFile);
  217. }
  218. }
  219. return 1;
  220. }
  221.  
  222. public OnPlayerUpdate(playerid)
  223. {
  224. if(IsPlayerConnected(playerid))
  225. {
  226. if(gPlayerLogged[playerid])
  227. {
  228. new string3[64], playername3[MAX_PLAYER_NAME], var[64];
  229.  
  230. GetPlayerName(playerid, playername3, sizeof(playername3));
  231. format(string3, sizeof(string3), "users/%s.ini", playername3);
  232. new File: hFile = fopen(string3, io_write);
  233. if (hFile)
  234. {
  235. format(var, 64, "Jelszó=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
  236. format(var, 64, "Szint=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
  237. format(var, 64, "AdminSzint=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
  238. fclose(hFile);
  239. }
  240. }
  241. }
  242. return 1;
  243. }
  244.  
  245. public OnPlayerLogin(playerid,password[])
  246. {
  247. new string2[64];
  248. new playername2[MAX_PLAYER_NAME], playernamesplit[3][MAX_PLAYER_NAME];
  249. GetPlayerName(playerid, playername2, sizeof(playername2));
  250.  
  251. split(playername2, playernamesplit, '_');
  252. format(string2, sizeof(string2), "users/%s.ini", playername2);
  253.  
  254. new File: UserFile = fopen(string2, io_read);
  255. if (UserFile)
  256. {
  257. new PassData[256], keytmp[256], valtmp[256];
  258.  
  259. fread(UserFile ,PassData ,sizeof(PassData));
  260. keytmp = ini_GetKey(PassData);
  261.  
  262. if(strcmp(keytmp , "Jelszó" , true) == 0)
  263. {
  264. valtmp = ini_GetValue(PassData);
  265. strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
  266. }
  267. if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
  268. {
  269. new key[256], val[256], Data[256];
  270.  
  271. while (fread(UserFile,Data ,sizeof(Data)))
  272. {
  273. key = ini_GetKey(Data);
  274. if(strcmp(key,"Szint", true) == 0) {val = ini_GetValue(Data); PlayerInfo[playerid][pLevel] = strval(val);}
  275. if(strcmp(key,"AdminSzint", true) == 0) {val = ini_GetValue(Data); PlayerInfo[playerid][pAdmin] = strval(val);}
  276. }
  277. fclose(UserFile);
  278. }
  279. else
  280. {
  281. SendClientMessage(playerid, COLOR_WHITE, "Szerver: Nem jó jelszó!");
  282. fclose(UserFile);
  283. gPlayerLogTries[playerid] += 1;
  284. if(gPlayerLogTries[playerid] == 4)
  285. {
  286. Ban(playerid);
  287. }
  288. return 1;
  289. }
  290. SendClientMessage(playerid, TEAM_GROVE_COLOR, "Szerver verzió száma: [0.1]");
  291.  
  292. printf("[SCRIPT]: %s belépett a szerverre.",playername2);
  293. gPlayerLogged[playerid] = 1;
  294. SpawnPlayer(playerid);
  295. }
  296. return 1;
  297. }
  298.  
  299. stock ini_GetKey(line[])
  300. {
  301. new keyRes[256];
  302. keyRes[0] = 0;
  303. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  304. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  305. return keyRes;
  306. }
  307.  
  308. stock ini_GetValue(line[])
  309. {
  310. new valRes[256];
  311. valRes[0]=0;
  312. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  313. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  314. return valRes;
  315. }
  316. public split(const strsrc[], strdest[][], delimiter)
  317. {
  318. new i, li, aNum, len;
  319. while(i <= strlen(strsrc)){
  320. if(strsrc[i]==delimiter || i==strlen(strsrc)){
  321. len = strmid(strdest[aNum], strsrc, li, i, 128);
  322. strdest[aNum][len] = 0;
  323. li = i+1;
  324. aNum++;
  325. }
  326. i++;
  327. }
  328. return 1;
  329. }
  330.  
  331. stock PlayerName(playerid)
  332. {
  333. new name[255];
  334. GetPlayerName(playerid, name, 255);
  335. return name;
  336. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement