Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2011
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.67 KB | None | 0 0
  1. ////////////////////////////////////////////////////////////////////////////////
  2. // Mafia vs. Cops LVTDM 1.0 //
  3. // ©2011 by Honig //
  4. ////////////////////////////////////////////////////////////////////////////////
  5.  
  6. //===============================INCLUDES=====================================//
  7. #include <a_samp>
  8. #include <dini>
  9. #include <Dudb>
  10. //===============================DEFINES======================================//
  11. #define COLOR_BLUE 0x0000FFFF
  12. #define COLOR_RED 0xFF0000FF
  13. #define COLOR_YELLOW 0xFFFF00FF
  14. #define COLOR_GREEN 0x00FF00FF
  15. #define COLOR_WHITE 0xFFFFFFFF
  16. #define Gunshop 1
  17. //===============================gTEAMS=======================================//
  18. static gTeam[MAX_PLAYERS];
  19. #define TEAM_MAFIA 0
  20. #define TEAM_COPS 1
  21. //=================================NEWS=======================================//
  22. new bool:loggedin[MAX_PLAYERS];
  23. new price[] = {5000,6500,8000,10000,1000};
  24. //==============================ENUM STRUCTURES===============================//
  25. enum Info
  26. {
  27. Password,
  28. Money,
  29. Score,
  30. Kills,
  31. Deaths
  32. }
  33. new pInfo[MAX_PLAYERS][Info];
  34. //============================================================================//
  35.  
  36.  
  37. main()
  38. {
  39. print("\n-----------------------------------------");
  40. print(" Running Mafia vs. Cops LVTDM by Honig");
  41. print("-----------------------------------------\n");
  42. }
  43.  
  44.  
  45. public OnGameModeInit()
  46. {
  47. //==============================GAMEMODE TEXT=================================//
  48. SetGameModeText("LVTDM v.1.0");
  49. //==============================TRIAD CARS====================================//
  50. AddStaticVehicle(560,1881.1771,954.0503,10.5254,270.0610,112,112); // Triadcar1
  51. AddStaticVehicle(560,1881.0806,957.4236,10.5256,271.3663,112,112); // Triadcar2
  52. AddStaticVehicle(506,1925.2111,938.4047,10.4478,269.3415,112,112); // Triadcar3
  53. AddStaticVehicle(506,1932.3177,938.3237,10.4477,269.6419,112,112); // Triadcar4
  54. AddStaticVehicle(409,2037.9182,1020.6960,10.5427,0.9193,112,112); // Triadcar5
  55. AddStaticVehicle(603,2037.7992,987.3119,10.5810,0.4470,112,112); // Triadcar6
  56. AddStaticVehicle(562,1881.1682,963.5891,10.4794,269.2056,112,112); // Triadcar7
  57. AddStaticVehicle(562,2023.3652,1088.5280,10.4031,268.5323,112,112); // Triadcar8
  58. //==============================COP CARS======================================//
  59. AddStaticVehicle(598,2251.6067,2460.3315,10.5673,178.8149,7,1); // PoliceCar1
  60. AddStaticVehicle(598,2269.0366,2442.5854,10.5674,359.5301,7,1); // PoliceCar2
  61. AddStaticVehicle(598,2273.9431,2442.2820,10.5671,358.4214,7,1); // PoliceCar3
  62. AddStaticVehicle(598,2277.9246,2477.1570,10.5665,359.4208,7,1); // PoliceCar4
  63. AddStaticVehicle(528,2290.6155,2443.4846,10.8652,358.2004,7,1); // PoliceCar5
  64. AddStaticVehicle(528,2295.2424,2443.2202,10.8638,355.8154,7,1); // PoliceCar6
  65. AddStaticVehicle(523,2252.0234,2440.8708,10.3873,357.0417,7,1); // PoliceCar7
  66. AddStaticVehicle(523,2255.7297,2440.9026,10.3945,0.3249,7,1); // PoliceCar8
  67. //==============================TRIAD SKINS===================================//
  68. AddPlayerClass(117,1902.7887,963.8871,10.8203,187.8959,24,50,0,0,0,0); // TriadSkin1
  69. AddPlayerClass(118,1902.7887,963.8871,10.8203,187.8959,24,50,0,0,0,0); // TriadSkin2
  70. AddPlayerClass(294,1902.7887,963.8871,10.8203,187.8959,24,50,0,0,0,0); // TriadSkin3
  71. //==============================COP SKINS=====================================//
  72. AddPlayerClass(282,2296.2197,2451.5889,10.8203,84.8908,24,50,0,0,0,0); // CopSkin1
  73. AddPlayerClass(285,2296.2197,2451.5889,10.8203,84.8908,24,50,0,0,0,0); // CopSkin2
  74. AddPlayerClass(286,2296.2197,2451.5889,10.8203,84.8908,24,50,0,0,0,0); // CopSkin3
  75. //============================PICKUPS AND OCJECTS=============================//
  76. CreatePickup(1254,1,2000.1968,1538.7894,13.5859); // GunShopPickup
  77. //===========================3D TEXT LABELS===================================//
  78. Create3DTextLabel("/gunshop",COLOR_GREEN,2000.1968,1538.7894,13.5859,40.0,0);//GunShopLabel
  79. return 1;
  80. }
  81.  
  82. public OnGameModeExit()
  83. {
  84. return 1;
  85. }
  86.  
  87. public OnPlayerRequestClass(playerid, classid)
  88. {
  89. SetPlayerInterior(playerid, 10);
  90. SetPlayerPos(playerid, 1995.3157,1017.8690,994.8906);
  91. SetPlayerFacingAngle(playerid, 263.7333);
  92. SetPlayerCameraPos(playerid, 1998.8292,1017.6395,994.8906);
  93. SetPlayerCameraLookAt(playerid, 1991.7678,1018.0959,994.8906);
  94. //========================TRIAD CLASS SELECTION===============================//
  95. if(classid >= 0 && classid <= 2)
  96. {
  97. SetPlayerColor(playerid,0x00FFFFFF);
  98. gTeam[playerid] = TEAM_MAFIA;
  99. GameTextForPlayer(playerid,"~h~Triads",1000,5);
  100. }
  101. //========================COP CLASS SELECTION=================================//
  102. else if(classid >= 3 && classid <= 5)
  103. {
  104. SetPlayerColor(playerid,0x0000FFFF);
  105. gTeam[playerid] = TEAM_COPS;
  106. GameTextForPlayer(playerid,"~h~Cops",1000,5);
  107. }
  108. return 1;
  109. }
  110.  
  111. public OnPlayerConnect(playerid)
  112. {
  113. SendClientMessage(playerid,COLOR_WHITE,"Welcome to 'Mafia vs. Cops' v.1 LVTDM");
  114. new name[128], save[128];
  115. GetPlayerName(playerid,name,sizeof(name));
  116. format(save,sizeof(save),"/Players/%s.ini",name);
  117. if(dini_Exists(save))
  118. {
  119. SendClientMessage(playerid, COLOR_WHITE, "Welcome back! Login by typing /login <password>");
  120. GivePlayerMoney(playerid,dini_Int(save,"Money"));
  121. SetPlayerScore(playerid,dini_Int(save,"Score"));
  122. pInfo[playerid][Kills] = dini_Int(save,"Kills");
  123. pInfo[playerid][Deaths] = dini_Int(save,"Deaths");
  124. }
  125. else
  126. {
  127. if(!dini_Exists(save))
  128. {
  129. SendClientMessage(playerid, COLOR_RED, "Register by typing /register <password>!");
  130. }
  131. }
  132. return 1;
  133. }
  134.  
  135.  
  136. public OnPlayerDisconnect(playerid, reason)
  137. {
  138. new name[128], save[128];
  139. GetPlayerName(playerid,name,sizeof(name));
  140. format(save,sizeof(save),"/Players/%s.ini",name);
  141. if(dini_Exists(save))
  142. {
  143. dini_IntSet(save,"Money",GetPlayerMoney(playerid));
  144. dini_IntSet(save,"Score",GetPlayerScore(playerid));
  145. dini_IntSet(save,"Kills",pInfo[playerid][Kills]);
  146. dini_IntSet(save,"Deaths",pInfo[playerid][Deaths]);
  147. }
  148. return 1;
  149. }
  150.  
  151. public OnPlayerSpawn(playerid)
  152. {
  153. //================MAPICONS====================================================//
  154. SetPlayerMapIcon( playerid, 12, 2000.1968,1538.7894,13.5859, 52, 0, MAPICON_LOCAL ); // GunShop Icon
  155. //===============INTERIOR OF THE PLAYER=======================================//
  156. SetPlayerInterior(playerid, 0);
  157. //==============IF NOT LOGGINED===============================================//
  158.  
  159. new name[128], save[128];
  160. GetPlayerName(playerid,name,sizeof(name));
  161. format(save,sizeof(save),"/Players/%s.ini",name);
  162. if(loggedin[playerid] == false)
  163. {
  164. SendClientMessage(playerid, COLOR_RED, "ERROR: You have to login before spawn! Otherwise your statistics won't save.");
  165. }
  166. return 1;
  167. }
  168.  
  169.  
  170.  
  171. public OnPlayerDeath(playerid, killerid, reason)
  172. {
  173. //========KILLS AND DEATHS====================================================//
  174. pInfo[killerid][Kills] ++;
  175. pInfo[playerid][Deaths] ++;
  176. //===============NEWS=========================================================//
  177. new playercash;
  178. //===============SET SCORE====================================================//
  179. SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
  180. //==============SET MONEY=====================================================//
  181. if(killerid == INVALID_PLAYER_ID)
  182. {
  183. SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
  184. ResetPlayerMoney(playerid);
  185. }
  186. else
  187. {
  188. SendDeathMessage(killerid,playerid,reason);
  189. playercash = GetPlayerMoney(playerid);
  190. if (playercash > 0)
  191. {
  192. GivePlayerMoney(killerid, playercash);
  193. ResetPlayerMoney(playerid);
  194. }
  195. else
  196. {
  197. }
  198. }
  199. return 1;
  200. }
  201.  
  202. public OnVehicleSpawn(vehicleid)
  203. {
  204. return 1;
  205. }
  206.  
  207. public OnVehicleDeath(vehicleid, killerid)
  208. {
  209. return 1;
  210. }
  211.  
  212. public OnPlayerText(playerid, text[])
  213. {
  214. return 1;
  215. }
  216.  
  217. public OnPlayerCommandText(playerid, cmdtext[])
  218. {
  219. //====================NEWS====================================================//
  220. new spieler[MAX_PLAYER_NAME];
  221. //===================KILL COMMAND=============================================//
  222. if (strcmp("/kill", cmdtext, true, 10) == 0)
  223. {
  224. SetPlayerHealth(playerid, 0);
  225. return 1;
  226. }
  227. //==================OBJECTIVE COMMAND=========================================//
  228. if (strcmp("/objective", cmdtext, true, 10) == 0)
  229. {
  230. SendClientMessage(playerid,COLOR_WHITE,"In LVTDM:Mafia vs. Cops, theres no win/endgame conditions to meet.");
  231. SendClientMessage(playerid,COLOR_WHITE,"When you kill a player, you'll receive whatever money they have.");
  232. SendClientMessage(playerid,COLOR_WHITE,"If a player kills you, you'll loose your money.");
  233. SendClientMessage(playerid,COLOR_WHITE,"But remember! You can always gamble in the casinos and buy new cool");
  234. SendClientMessage(playerid,COLOR_WHITE,"weapons for the money.");
  235. return 1;
  236. }
  237. //================REGISTER COMMAND============================================//
  238. if(strcmp(strget(cmdtext,0), "/register", true) == 0)
  239. {
  240. new save[40];
  241. GetPlayerName(playerid,spieler,sizeof(spieler));
  242. format(save, sizeof(save),"Players/%s.ini",spieler); //Speicherort
  243. if(!dini_Exists(save))
  244. {
  245. dini_Create(save);
  246. dini_IntSet(save,"passwort",udb_hash(strget(cmdtext,1)));
  247. SendClientMessage(playerid, COLOR_GREEN, "You account is registered!");
  248. SendClientMessage(playerid, COLOR_GREEN, "Now login by typing /login <password>");
  249. GivePlayerMoney(playerid, 5000);
  250. }
  251. else
  252. {
  253. if(dini_Exists(save))
  254. {
  255. SendClientMessage(playerid, COLOR_RED, "Error: This name is already registered! Please reconnect and change your name!");
  256. }
  257. }
  258. return 1;
  259. }
  260. //=========LOGIN COMMAND======================================================//
  261. if(strcmp(strget(cmdtext,0), "/login", true) == 0)
  262. {
  263. new save[40], s2[256];
  264. GetPlayerName(playerid,spieler,sizeof(spieler));
  265. format(save,sizeof(save),"Players/%s.ini",spieler);
  266. if(dini_Exists(save))
  267. {
  268. s2=dini_Get(save,"passwort");
  269. if(strval(s2)==udb_hash(strget(cmdtext,1)))
  270. {
  271. loggedin[playerid] = true;
  272. SendClientMessage(playerid, COLOR_GREEN, "Succefully loggined!");
  273. }
  274. else
  275. {
  276. SendClientMessage(playerid, COLOR_RED,"ERROR: Wrong password!");
  277. }
  278. }
  279. return 1;
  280. }
  281. //=========GUNSHOP COMMAND====================================================//
  282. if (strcmp("/gunshop", cmdtext, true) == 0)
  283. {
  284. if(IsPlayerInRangeOfPoint(playerid,5.0,2000.1968,1538.7894,13.5859))
  285. {
  286. ShowPlayerDialog(playerid,Gunshop,DIALOG_STYLE_LIST,"Weapons","Desert Eagle - $5000\nMP5 - $6500\nShotgun - $8000\nAK47 - $10000\nArmour - $1000","Buy","Back");
  287. return 1;
  288. }
  289. else
  290. {
  291. SendClientMessage(playerid, COLOR_RED, "You aren't at the gunshop pickup!");
  292. }
  293. }
  294. return 1;
  295. }
  296.  
  297.  
  298. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  299. {
  300. return 1;
  301. }
  302.  
  303. public OnPlayerExitVehicle(playerid, vehicleid)
  304. {
  305. return 1;
  306. }
  307.  
  308. public OnPlayerStateChange(playerid, newstate, oldstate)
  309. {
  310. return 1;
  311. }
  312.  
  313. public OnPlayerEnterCheckpoint(playerid)
  314. {
  315. return 1;
  316. }
  317.  
  318. public OnPlayerLeaveCheckpoint(playerid)
  319. {
  320. return 1;
  321. }
  322.  
  323. public OnPlayerEnterRaceCheckpoint(playerid)
  324. {
  325. return 1;
  326. }
  327.  
  328. public OnPlayerLeaveRaceCheckpoint(playerid)
  329. {
  330. return 1;
  331. }
  332.  
  333. public OnRconCommand(cmd[])
  334. {
  335. return 1;
  336. }
  337.  
  338. public OnPlayerRequestSpawn(playerid)
  339. {
  340. return 1;
  341. }
  342.  
  343. public OnObjectMoved(objectid)
  344. {
  345. return 1;
  346. }
  347.  
  348. public OnPlayerObjectMoved(playerid, objectid)
  349. {
  350. return 1;
  351. }
  352.  
  353. public OnPlayerPickUpPickup(playerid, pickupid)
  354. {
  355. return 1;
  356. }
  357.  
  358. public OnVehicleMod(playerid, vehicleid, componentid)
  359. {
  360. return 1;
  361. }
  362.  
  363. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  364. {
  365. return 1;
  366. }
  367.  
  368. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  369. {
  370. return 1;
  371. }
  372.  
  373. public OnPlayerSelectedMenuRow(playerid, row)
  374. {
  375. return 1;
  376. }
  377.  
  378. public OnPlayerExitedMenu(playerid)
  379. {
  380. return 1;
  381. }
  382.  
  383. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  384. {
  385. return 1;
  386. }
  387.  
  388. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  389. {
  390. return 1;
  391. }
  392.  
  393. public OnRconLoginAttempt(ip[], password[], success)
  394. {
  395. return 1;
  396. }
  397.  
  398. public OnPlayerUpdate(playerid)
  399. {
  400. return 1;
  401. }
  402.  
  403. public OnPlayerStreamIn(playerid, forplayerid)
  404. {
  405. return 1;
  406. }
  407.  
  408. public OnPlayerStreamOut(playerid, forplayerid)
  409. {
  410. return 1;
  411. }
  412.  
  413. public OnVehicleStreamIn(vehicleid, forplayerid)
  414. {
  415. return 1;
  416. }
  417.  
  418. public OnVehicleStreamOut(vehicleid, forplayerid)
  419. {
  420. return 1;
  421. }
  422.  
  423. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  424. {
  425. if(dialogid == Gunshop)
  426. {
  427. if(response)
  428. {
  429. if(listitem == 0)
  430. {
  431. if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"You haven't got enough money!");
  432. GivePlayerWeapon(playerid,24,50);
  433. GivePlayerMoney(playerid, -5000);
  434. }
  435. if(listitem == 1)
  436. {
  437. if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"You haven't got enough money!");
  438. GivePlayerWeapon(playerid,29,200);
  439. GivePlayerMoney(playerid, -6500);
  440. }
  441. if(listitem == 2)
  442. {
  443. if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"You haven't got enough money!");
  444. GivePlayerWeapon(playerid,31,300);
  445. GivePlayerMoney(playerid, -8000);
  446. }
  447. if(listitem == 3)
  448. {
  449. if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"You haven't got enough money!");
  450. GivePlayerWeapon(playerid,25,25);
  451. GivePlayerMoney(playerid, -10000);
  452. }
  453. if(listitem == 4)
  454. {
  455. if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"You haven't got enough money!");
  456. SetPlayerArmour(playerid,100.0);
  457. GivePlayerMoney(playerid, -1000);
  458. }
  459. }
  460. }
  461. return 1;
  462. }
  463.  
  464. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  465. {
  466. return 1;
  467. }
  468.  
  469. ////////////////////////////////////////////////////////////////////////////////
  470. //============STOCKS AND MORE PUBLICS=========================================//
  471.  
  472. stock strget(strx[], pos, search = ' ') {
  473. new arg, ret[128], idxx;
  474. for (new i = 0; i < strlen(strx); i++) {
  475. if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
  476. arg++;
  477. if (arg == pos + 1){
  478. ret[i-idxx] = EOS;
  479. return ret;
  480. } else if (arg == pos)
  481. idxx= i+1;
  482. }
  483. else if (arg == pos)
  484. ret[i - idxx] = strx[i];
  485. }
  486. return ret;
  487. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement