Advertisement
Guest User

Untitled

a guest
Jun 30th, 2014
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.05 KB | None | 0 0
  1. // gamemode The Chaotic World scripté par KinouHD ENJOY ;)
  2.  
  3. #include <a_samp>
  4. #include <a_samp>
  5. #include <core>
  6. #include <float>
  7. #include <YSI\y_ini>
  8. #include <string>
  9.  
  10. //equipes
  11.  
  12. #define TEAM_USA 1
  13. #define TEAM_RESISTANCE 2
  14.  
  15. //couleurs
  16.  
  17. #define COLOR_BLUE 0x0000FFFF
  18. #define COLOR_WHITE 0xFFFAF0FF
  19. #define COLOR_GREEN 0x33AA33AA
  20. #define COLOR_RED 0xFF0000FF
  21. #define COLOR_GREY 0xAFAFAFAA
  22. #define COLOR_GRIS 0x6F6F6FFF
  23. #define COLOR_LIGHTBLUE 0x00CED1FF
  24.  
  25. //système enregistrement
  26. #define DIALOG_REGISTER 1
  27. #define DIALOG_LOGIN 2
  28. #define DIALOG_SUCCESS_1 3
  29. #define DIALOG_SUCCESS_2 4
  30. #define PATH "Comptes/%s.ini"
  31.  
  32. #if defined FILTERSCRIPT
  33.  
  34. //Forward
  35. forward SetPlayerTeamFromClass(playerid, classid);
  36. forward LoadUser_data(playerid,name[],value[]);
  37. forward SetPlayerToTeamColor(playerid, color);
  38.  
  39. // enumération
  40. #pragma tabsize 0
  41. enum pInfo
  42. {
  43. pName,
  44. pFaction,
  45. pPass,
  46. pCash,
  47. pAdmin,
  48. pKills,
  49. pDeaths
  50. };
  51.  
  52. new PlayerInfo[MAX_PLAYERS][pInfo];
  53. new gTeam[MAX_PLAYERS];
  54.  
  55. public OnFilterScriptInit()
  56. {
  57. print("\n--------------------------------------");
  58. print(" The Chaotic World ");
  59. print("--------------------------------------\n");
  60. return 1;
  61. }
  62.  
  63. public OnFilterScriptExit()
  64. {
  65. return 1;
  66. }
  67.  
  68. #else
  69.  
  70. main()
  71. {
  72. print("\n----------------------------------");
  73. print(" The Chaotic World");
  74. print("----------------------------------\n");
  75. }
  76.  
  77. #endif
  78.  
  79. public OnGameModeInit()
  80. {
  81. SetGameModeText("The Chaotic World");
  82. // equipe USA
  83. AddPlayerClass(287,2222.8467,-1173.7135,25.7266,349.7688,0,0,0,0,0,0); // militaire
  84. // equipe RESISTANCE
  85. AddPlayerClass(121,2222.8467,-1173.7135,25.7266,349.7688,0,0,0,0,0,0); // resistant
  86. return 1;
  87. }
  88.  
  89. new gTeam[MAX_PLAYERS];
  90. SetPlayerTeamFromClass(playerid, classid)
  91. {
  92. if(classid == 0)
  93. {
  94. gTeam[playerid] = 1;
  95. GameTextForPlayer(playerid,"~b~USA",1000,4);
  96. }
  97. else if(classid == 1)
  98. {
  99. gTeam[playerid] = 2;
  100. GameTextForPlayer(playerid,"~p~RESISTANCE",1000,4);
  101. }
  102. }
  103.  
  104. SetPlayerToTeamColor(playerid)
  105. {
  106. if (gTeam[playerid] == 1)
  107. {
  108. SetPlayerColor(playerid, COLOR_BLUE);
  109. }
  110. else if (gTeam[playerid] == 2)
  111. {
  112. SetPlayerColor(playerid, COLOR_WHITE);
  113. }
  114. }
  115.  
  116. public OnGameModeExit()
  117. {
  118. return 1;
  119. }
  120.  
  121. public OnPlayerRequestClass(playerid, classid)
  122. {
  123. SetPlayerInterior(playerid,0);
  124. SetPlayerPos(playerid, 1764.9407,-2392.4565,22.7496);
  125. SetPlayerCameraPos(playerid, 1768.4640,-2391.8730,22.7496);
  126. SetPlayerCameraLookAt(playerid, 1764.9407,-2392.4565,22.7496);
  127. SetPlayerTeamFromClass(playerid, classid);
  128. return 1;
  129. }
  130.  
  131. public OnPlayerConnect(playerid)
  132. {
  133. // MESSAGE DE CONNEXION
  134. SendClientMessage(playerid, COLOR_GREEN, "Bienvenue sur le serveur The Chaotic World");
  135. SetPlayerColor(playerid, COLOR_GREY);
  136. new message[127];
  137. GetPlayerName(playerid, message, sizeof(message));
  138. format(message,sizeof(message), "%s (ID: %d) à rejoint le serveur ! ", message, playerid);
  139. SendClientMessageToAll(0xC0C0C0AA, message);
  140. if(fexist(UserPath(playerid)))
  141. {
  142. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  143. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COLOR_WHITE"Connection",""COLOR_WHITE"Veuillez entrer votre mot de passe pour vous connecter.","Connexion","Quitter");
  144. }
  145. else
  146. {
  147. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COLOR_WHITE"Enregistrement",""COLOR_WHITE"Entrez un mot de passe afin de créer un compte.","S'enregistrer","Quitter");
  148. }
  149. return 1;
  150. }
  151.  
  152. public OnPlayerDisconnect(playerid, reason)
  153. {
  154. // MESSAGE DE DECONNEXION
  155. new message[127];
  156. GetPlayerName(playerid, message, sizeof(message));
  157. format(message,sizeof(message), "%s (ID: %d) à quitté le serveur ! Au revoir ", message, playerid);
  158. SendClientMessageToAll(0xC0C0C0AA, message);
  159. {
  160. new INI:File = INI_Open(UserPath(playerid));
  161. INI_SetTag(File,"data");
  162. INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
  163. INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
  164. INI_WriteInt(File,"Morts",PlayerInfo[playerid][pDeaths]);
  165. INI_Close(File);
  166. return 1;
  167. }
  168. return 1;
  169. }
  170.  
  171. public OnPlayerSpawn(playerid)
  172. {
  173. SetPlayerToTeamColor(playerid);
  174.  
  175. if(gTeam[playerid] == TEAM_USA)
  176. {
  177. SetPlayerInterior(playerid, 0);
  178. SetPlayerPos(playerid, 1545.3563,-1675.3363,13.5602);
  179. GivePlayerWeapon(playerid, 24, 70);
  180. }
  181. if(gTeam[playerid] == TEAM_RESISTANCE)
  182. {
  183. SetPlayerInterior(playerid, 0);
  184. SetPlayerPos(playerid, 1922.4635,-1120.1049,26.1114);
  185. GivePlayerWeapon(playerid, 30, 250);
  186. }
  187. return 1;
  188. }
  189.  
  190. public OnPlayerDeath(playerid, killerid, reason)
  191. {
  192. PlayerInfo[killerid][pKills]++;
  193. PlayerInfo[playerid][pDeaths]++;
  194. ResetPlayerWeapons(killerid);
  195. return 1;
  196. }
  197.  
  198. public OnVehicleSpawn(vehicleid)
  199. {
  200. return 1;
  201. }
  202.  
  203. public OnVehicleDeath(vehicleid, killerid)
  204. {
  205. return 1;
  206. }
  207.  
  208. public OnPlayerText(playerid, text[])
  209. {
  210. return 1;
  211. }
  212.  
  213. public OnPlayerCommandText(playerid, cmdtext[])
  214. {
  215. if (strcmp("/cmds", cmdtext, true, 10) == 0)
  216. {
  217. SendClientMessage(playerid,COLOR_GRIS," Les commandes du serveur sont : /aide , /règles , /crédits, /suicide");
  218. return 1;
  219. }
  220. if (strcmp("/aide", cmdtext, true, 10) == 0)
  221. {
  222. SendClientMessage(playerid,COLOR_RED," Bienvenue dans le menu d'aide : /règles , /crédits ");
  223. return 1;
  224. }
  225.  
  226. if (strcmp("/règles", cmdtext, true, 10) == 0)
  227. {
  228. SendClientMessage(playerid,COLOR_GRIS," Les règles sont : ");
  229. SendClientMessage(playerid,COLOR_RED,"- Cheat INTERDIT sous peine de Ban");
  230. SendClientMessage(playerid,COLOR_RED,"- Aucune Pub pour un autres serveur");
  231. SendClientMessage(playerid,COLOR_RED,"- Drive by conducteur ");
  232. SendClientMessage(playerid,COLOR_RED,"- Les insultes ne sont pas autorisés ");
  233. SendClientMessage(playerid,COLOR_RED,"- Tir sur alliés Interdit ");
  234. return 1;
  235. }
  236.  
  237. if (strcmp("/crédits", cmdtext, true, 10) == 0)
  238. {
  239. SendClientMessage(playerid,COLOR_GRIS," Serveur et Script créé par KinouHD ");
  240. return 1;
  241. }
  242. if (strcmp("/suicide", cmdtext, true, 10) == 0)
  243. {
  244. new message[127];
  245. GetPlayerName(playerid, message, sizeof(message));
  246. format(message,sizeof(message), "%s (ID: %d) s'est suicidé ", message, playerid);
  247. SendClientMessageToAll(0xFF0000FF, message);
  248. SendClientMessage(playerid,COLOR_RED,"Vous vous êtes suicidé");
  249. SetPlayerHealth(playerid,0);
  250. return 1;
  251. }
  252. return 0;
  253. }
  254.  
  255. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  256. {
  257. return 1;
  258. }
  259.  
  260. public OnPlayerExitVehicle(playerid, vehicleid)
  261. {
  262. return 1;
  263. }
  264.  
  265. public OnPlayerStateChange(playerid, newstate, oldstate)
  266. {
  267. return 1;
  268. }
  269.  
  270. public OnPlayerEnterCheckpoint(playerid)
  271. {
  272. return 1;
  273. }
  274.  
  275. public OnPlayerLeaveCheckpoint(playerid)
  276. {
  277. return 1;
  278. }
  279.  
  280. public OnPlayerEnterRaceCheckpoint(playerid)
  281. {
  282. return 1;
  283. }
  284.  
  285. public OnPlayerLeaveRaceCheckpoint(playerid)
  286. {
  287. return 1;
  288. }
  289.  
  290. public OnRconCommand(cmd[])
  291. {
  292. return 1;
  293. }
  294.  
  295. public OnPlayerRequestSpawn(playerid)
  296. {
  297. return 1;
  298. }
  299.  
  300. public OnObjectMoved(objectid)
  301. {
  302. return 1;
  303. }
  304.  
  305. public OnPlayerObjectMoved(playerid, objectid)
  306. {
  307. return 1;
  308. }
  309.  
  310. public OnPlayerPickUpPickup(playerid, pickupid)
  311. {
  312. return 1;
  313. }
  314.  
  315. public OnVehicleMod(playerid, vehicleid, componentid)
  316. {
  317. return 1;
  318. }
  319.  
  320. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  321. {
  322. return 1;
  323. }
  324.  
  325. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  326. {
  327. return 1;
  328. }
  329.  
  330. public OnPlayerSelectedMenuRow(playerid, row)
  331. {
  332. return 1;
  333. }
  334.  
  335. public OnPlayerExitedMenu(playerid)
  336. {
  337. return 1;
  338. }
  339.  
  340. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  341. {
  342. return 1;
  343. }
  344.  
  345. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  346. {
  347. return 1;
  348. }
  349.  
  350. public OnRconLoginAttempt(ip[], password[], success)
  351. {
  352. return 1;
  353. }
  354.  
  355. public OnPlayerUpdate(playerid)
  356. {
  357. return 1;
  358. }
  359.  
  360. public OnPlayerStreamIn(playerid, forplayerid)
  361. {
  362. return 1;
  363. }
  364.  
  365. public OnPlayerStreamOut(playerid, forplayerid)
  366. {
  367. return 1;
  368. }
  369.  
  370. public OnVehicleStreamIn(vehicleid, forplayerid)
  371. {
  372. return 1;
  373. }
  374.  
  375. public OnVehicleStreamOut(vehicleid, forplayerid)
  376. {
  377. return 1;
  378. }
  379.  
  380. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  381. {
  382. {
  383. switch( dialogid )
  384. {
  385. case DIALOG_REGISTER:
  386. {
  387. if (!response) return Kick(playerid);
  388. if(response)
  389. {
  390. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COLOR_WHITE"Enregistrement",""COLOR_RED"Vous avez entré un mot de passe invalide\n"COLOR_WHITE"Entrer un mot de passe afin de vous enregistrer.","S'enregistrer","Quitter");
  391. new INI:File = INI_Open(UserPath(playerid));
  392. INI_SetTag(File,"data");
  393. INI_WriteInt(File,"Mot De Passe",udb_hash(inputtext));
  394. INI_WriteInt(File,"Admin",0);
  395. INI_WriteInt(File,"Kills",0);
  396. INI_WriteInt(File,"Morts",0);
  397. INI_Close(File);
  398.  
  399. SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
  400. SpawnPlayer(playerid);
  401. ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COLOR_WHITE"Valider",""COLOR_GREEN"Ton compte à été creer, bon jeu !","Ok","");
  402. }
  403. }
  404.  
  405. case DIALOG_LOGIN:
  406. {
  407. if ( !response ) return Kick ( playerid );
  408. if( response )
  409. {
  410. if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
  411. {
  412. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  413. GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
  414. ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COLOR_WHITE"Success!",""COLOR_GREEN"Vous vous êtes correctement connecté!","Ok","");
  415. }
  416. else
  417. {
  418. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COLOR_WHITE"Connection",""COLOR_RED"Vous avez entré un mot de passe invalide.\n"COLOR_WHITE"Veuillez entrer votre mot de passe pour vous connecter.","Connexion","Quitter");
  419. }
  420. return 1;
  421. }
  422. }
  423. }
  424. return 1;
  425. }
  426. return 1;
  427. }
  428.  
  429. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  430. {
  431. return 1;
  432. }
  433.  
  434. //==========================Fonctions de stokaqe================================
  435. forward LoadUser_data(playerid,name[],value[]);
  436. public LoadUser_data(playerid,name[],value[])
  437. {
  438. INI_Int("Code",PlayerInfo[playerid][pPass]);
  439. INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  440. INI_Int("Kills",PlayerInfo[playerid][pKills]);
  441. INI_Int("Mort",PlayerInfo[playerid][pDeaths]);
  442. return 1;
  443. }
  444. stock udb_hash(buf[]) {
  445. new length=strlen(buf);
  446. new s1 = 1;
  447. new s2 = 0;
  448. new n;
  449. for (n=0; n<length; n++)
  450. {
  451. s1 = (s1 + buf[n]) % 65521;
  452. s2 = (s2 + s1) % 65521;
  453. }
  454. return (s2 << 16) + s1;
  455. }
  456.  
  457. stock UserPath(playerid)
  458. {
  459. new string[128],playername[MAX_PLAYER_NAME];
  460. GetPlayerName(playerid,playername,sizeof(playername));
  461. format(string,sizeof(string),PATH,playername);
  462. return string;
  463. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement