leozinhop

GM

Oct 31st, 2012
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.86 KB | None | 0 0
  1. /* Criado Por Leozinho Prado */
  2.  
  3. #include <a_samp>
  4. #include <zcmd>
  5. #include <sscanf>
  6. #include <DOF2>
  7. #if defined FILTERSCRIPT
  8.  
  9. #define CIVIL 0
  10. #define Caminhoneiros 1
  11. #define Correio 2
  12. #define Piloto 3
  13.  
  14. #define C_CIVIL 0x000000FF
  15. #define C_Caminhoneiros 0x9999FFF6
  16. #define C_Correio 0x00D900C8
  17. #define C_Piloto 0x9900CCF6
  18. #define BRANCO 0xFFFFFFAA
  19. #define BRANCO2 0xFFFFFF00
  20.  
  21. enum PlayerDados
  22. {
  23. Organizacao,
  24. Cargo
  25. new pDados[MAX_PLAYERS][Organizacao];
  26.  
  27. public OnFilterScriptInit()
  28. {
  29. print("\n--------------------------------------");
  30. print(" Gamemod Feito Por: Leozinho Prado");
  31. print("--------------------------------------\n");
  32. return 1;
  33. }
  34.  
  35. public OnFilterScriptExit()
  36. {
  37. return 1;
  38. }
  39.  
  40. #else
  41.  
  42. main()
  43. {
  44. print("\n----------------------------------");
  45. print(" RPG1.0");
  46. print("----------------------------------\n");
  47. }
  48.  
  49. #endif
  50.  
  51. public OnGameModeInit()
  52. {
  53. // Don't use these lines if it's a filterscript
  54. SetGameModeText("TOB1.0");
  55. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  56. return 1;
  57. }
  58.  
  59. public OnGameModeExit()
  60. {
  61. DOF2_Exit();
  62. return 1;
  63. }
  64.  
  65. public OnPlayerRequestClass(playerid, classid)
  66. {
  67. SpawnPlayer(playerid);
  68. return 1;
  69. }
  70.  
  71. public OnPlayerConnect(playerid)
  72. {
  73. new arquivo[34], playername[MAX_PLAYER_NAME];
  74. GetPlayerName(playerid, playername, sizeof(playername));
  75. format(arquivo, sizeof(arquivo), "Contas/%s", playername);
  76. pDados[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organização");
  77. pDados[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo");
  78. SpawnPlayer(playerid);
  79. return 1;
  80. }
  81.  
  82. public OnPlayerDisconnect(playerid, reason)
  83. {
  84. new arquivo[34], playername[MAX_PLAYER_NAME];
  85. GetPlayerName(playerid, playername, sizeof(playername));
  86. format(arquivo, sizeof(arquivo), "Contas/%s", playername);
  87. if(DOF2_FileExists(arquivo))
  88. {
  89. DOF2_SetInt(arquivo, "Organização", pDados[playerid][Organizacao]);
  90. DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]);
  91. }
  92. else
  93. {
  94. DOF2_CreateFile(arquivo);
  95. DOF2_SetInt(arquivo, "Organização", pDados[playerid][Organizacao]);
  96. DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]);
  97. }
  98. return 1;
  99. }
  100.  
  101. public OnPlayerSpawn(playerid)
  102. {
  103. if(pDados[playerid][Organizacao] == Caminhoneiros)
  104. {
  105. SetPlayerPos(playerid, AddPlayerClass(0,1733.8646,-2060.1958,13.5910,273.8127,0,0,0,0,0,0);
  106. }
  107. else if(pDados[playerid][Organizacao] == Correio)
  108. {
  109. SetPlayerPos(playerid, AddPlayerClass(0,2060.6318,-1900.2286,13.5469,177.3677,0,0,0,0,0,0);
  110. }
  111. else if(pDados[playerid][Organizacao] == Piloto)
  112. {
  113. SetPlayerPos(playerid, AddPlayerClass(0,-1422.3961,-143.3950,14.1484,353.6077,0,0,0,0,0,0);
  114. }
  115. return 1;
  116. }
  117.  
  118. public OnPlayerDeath(playerid, killerid, reason)
  119. {
  120. SpawnPlayer(playerid);
  121. return 1;
  122. }
  123.  
  124. public OnVehicleSpawn(vehicleid)
  125. {
  126. return 1;
  127. }
  128.  
  129. public OnVehicleDeath(vehicleid, killerid)
  130. {
  131. return 1;
  132. }
  133.  
  134. public OnPlayerText(playerid, text[])
  135. {
  136. return 1;
  137. }
  138.  
  139. public OnPlayerCommandText(playerid, cmdtext[])
  140. {
  141. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  142. {
  143. // Do something here
  144. return 1;
  145. }
  146. return 0;
  147. }
  148.  
  149. CMD:membros(playerid)
  150. {
  151. new playername[MAX_PLAYER_NAME], string[128];
  152. if(pDados[playerid][Organizacao] >= 1)
  153. {
  154. SendClientMessage(playerid, 0xBFC0C2FF, "(=-=-=-=-=-=-=({FFD700}Membros Online{BFC0C2})=-=-=-=-=-=-=)");
  155. for(new i = 0; i < MAX_PLAYERS; i++)
  156. {
  157. if(IsPlayerConnected(i))
  158. {
  159. if(pDados[i][Organizacao] == pDados[playerid][Organizacao])
  160. {
  161. GetPlayerName(i, playername, sizeof(playername));
  162. if(pDados[i][Cargo] <= 4)
  163. {
  164. format(string, sizeof(string), "Membro: %s, Cargo: %d", playername, pDados[i][Cargo]);
  165. SendClientMessage(playerid, GetPlayerColor(playerid), string);
  166. }
  167. else
  168. {
  169. if(pDados[i][Cargo] == 6)
  170. {
  171. format(string, sizeof(string), "Membro: %s, Cargo: Líder", playername);
  172. SendClientMessage(playerid, GetPlayerColor(playerid), string);
  173. }
  174. else if(pDados[i][Cargo] == 5)
  175. {
  176. format(string, sizeof(string), "Membro: %s, Cargo: Sub-Líder", playername);
  177. SendClientMessage(playerid, GetPlayerColor(playerid), string);
  178. }
  179. }
  180. }
  181. }
  182. }
  183. }
  184. else
  185. {
  186. SendClientMessage(playerid, 0xAD0000AA, "Você não pertence a nenhuma Organização.");
  187. }
  188. return 1;
  189. }
  190.  
  191. CMD:radio(playerid, params[])
  192. {
  193. new text[128], string[128], playername[MAX_PLAYER_NAME];
  194. if(sscanf(params, "s", text)) return SendClientMessage(playerid, 0xAD0000AA, "Uso correto: /radio [MENSAGEM]");
  195. if(pDados[playerid][Organizacao] == CIVIL) return SendClientMessage(playerid, 0xAD0000AA, "Você não participa de nenhuma organização!");
  196. GetPlayerName(playerid, playername, sizeof(playername));
  197. format(string, sizeof(string), "(Rádio) %s [Cargo: %d] diz: %s", playername, pDados[playerid][Cargo], text);
  198. SendFamilyMessage(pDados[playerid][Organizacao], 0xAD0000AA, string);
  199. return 1;
  200. }
  201.  
  202. CMD:convidar(playerid, params[])
  203. {
  204. new id, playername[MAX_PLAYER_NAME], idname[MAX_PLAYER_NAME], string[128];
  205. if(pDados[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Você não é líder.");
  206. if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /convidar [ID]");
  207. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador não está online.");
  208. if(pDados[id][Organizacao] != 0) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador já está em uma Organização.");
  209. if(playerid == id) return SendClientMessage(playerid, 0xAD0000AA, "Você não pode convidar a você mesmo.");
  210. GetPlayerName(id, idname, sizeof(idname));
  211. format(string, sizeof(string), "Você convidou %s para sua Organização.", idname);
  212. SendClientMessage(playerid, GetPlayerColor(playerid), string);
  213. GetPlayerName(playerid, playername, sizeof(playername));
  214. format(string, sizeof(string), "%s está lhe Convidando para fazer parte da Organização: %s \nDeseja aceitar?", playername, GetOrgName(pDados[playerid][Organizacao]));
  215. ShowPlayerDialog(id, 666, DIALOG_STYLE_MSGBOX, "Convite para organização", string, "Sim", "Não");
  216. SetPVarInt(id, "OrgConvidado", pDados[playerid][Organizacao]);
  217. SetPVarInt(id, "QuemConvidou", playerid);
  218. return 1;
  219. }
  220.  
  221. CMD:promover(playerid, params[])
  222. {
  223. new id, cargo, string[128], playername[MAX_PLAYER_NAME], idname[MAX_PLAYER_NAME];
  224. if(pDados[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Você não é líder.");
  225. if(sscanf(params, "dd", id, cargo)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /promover [ID] [CARGO]");
  226. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador não está online.");
  227. if(pDados[id][Organizacao] != pDados[playerid][Organizacao]) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador não é da mesma Organização que você.");
  228. if(playerid == id) return SendClientMessage(playerid, 0xAD0000AA, "Você não pode promover a você mesmo.");
  229. {
  230. pDados[id][Cargo] = cargo;
  231. GetPlayerName(playerid, playername, sizeof(playername));
  232. GetPlayerName(id, idname, sizeof(idname));
  233. format(string, sizeof(string), "%s promoveu o membro %s para o Cargo %d.", playername, idname, cargo);
  234. SendFamilyMessage(pDados[playerid][Organizacao], GetPlayerColor(playerid), string);
  235. format(string, sizeof(string), "%s te promoveu para o Cargo %d.", playername, cargo);
  236. SendClientMessage(id, GetPlayerColor(playerid), string);
  237. }
  238. else
  239. {
  240. SendClientMessage(playerid, 0xAD0000AA, "Cargos de 1 a 5");
  241. return 1;
  242. }
  243. return 1;
  244. }
  245.  
  246. CMD:demitir(playerid, params[])
  247. {
  248. new id, motivo[128], string[128], playername[MAX_PLAYER_NAME], idname[MAX_PLAYER_NAME];
  249. if(pDados[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Você não é líder.");
  250. if(sscanf(params, "ds", id, motivo)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /demitir [ID] [MOTIVO]");
  251. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador não está online.");
  252. if(pDados[id][Organizacao] != pDados[playerid][Organizacao]) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador não é da mesma Organização que você.");
  253. if(playerid == id) return SendClientMessage(playerid, 0xAD0000AA, "Você não pode demitir a você mesmo.");
  254. pDados[id][Organizacao] = CIVIL;
  255. pDados[id][Cargo] = 0;
  256. GetPlayerName(playerid, playername, sizeof(playername));
  257. GetPlayerName(id, idname, sizeof(idname));
  258. format(string, sizeof(string), "%s demitiu o membro %s da Organização.", playername, idname);
  259. SendFamilyMessage(pDados[playerid][Organizacao], GetPlayerColor(playerid), string);
  260. format(string, sizeof(string), "%s te demitiu da Organização. Motivo: %s.", playername, motivo);
  261. SendClientMessage(id, GetPlayerColor(playerid), string);
  262. SpawnPlayer(id);
  263. return 1;
  264. }
  265. stock GetOrgName(orgid)
  266. {
  267. new str[30];
  268. if(orgid == 0)
  269. {
  270. str = "CIVIL";
  271. }
  272. else if(orgid == 1)
  273. {
  274. str = "Caminhoneiros";
  275. }
  276. else if(orgid == 2)
  277. {
  278. str = "Correio";
  279. }
  280. else if(orgid == 3)
  281. {
  282. str = "Piloto";
  283. }
  284. return str;
  285. }
  286.  
  287. stock SendFamilyMessage(orgid, cor, mensagem[])
  288. {
  289. for(new i = 0; i < MAX_PLAYERS; i++)
  290. {
  291. if(IsPlayerConnected(i))
  292. {
  293. if(pDados[i][Organizacao] == orgid)
  294. {
  295. SendClientMessage(i, cor, mensagem);
  296. }
  297. }
  298. }
  299. return 0;
  300. }
  301. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  302. {
  303. return 1;
  304. }
  305.  
  306. public OnPlayerExitVehicle(playerid, vehicleid)
  307. {
  308. return 1;
  309. }
  310.  
  311. public OnPlayerStateChange(playerid, newstate, oldstate)
  312. {
  313. return 1;
  314. }
  315.  
  316. public OnPlayerEnterCheckpoint(playerid)
  317. {
  318. return 1;
  319. }
  320.  
  321. public OnPlayerLeaveCheckpoint(playerid)
  322. {
  323. return 1;
  324. }
  325.  
  326. public OnPlayerEnterRaceCheckpoint(playerid)
  327. {
  328. return 1;
  329. }
  330.  
  331. public OnPlayerLeaveRaceCheckpoint(playerid)
  332. {
  333. return 1;
  334. }
  335.  
  336. public OnRconCommand(cmd[])
  337. {
  338. return 1;
  339. }
  340.  
  341. public OnPlayerRequestSpawn(playerid)
  342. {
  343. return 1;
  344. }
  345.  
  346. public OnObjectMoved(objectid)
  347. {
  348. return 1;
  349. }
  350.  
  351. public OnPlayerObjectMoved(playerid, objectid)
  352. {
  353. return 1;
  354. }
  355.  
  356. public OnPlayerPickUpPickup(playerid, pickupid)
  357. {
  358. return 1;
  359. }
  360.  
  361. public OnVehicleMod(playerid, vehicleid, componentid)
  362. {
  363. return 1;
  364. }
  365.  
  366. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  367. {
  368. return 1;
  369. }
  370.  
  371. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  372. {
  373. return 1;
  374. }
  375.  
  376. public OnPlayerSelectedMenuRow(playerid, row)
  377. {
  378. return 1;
  379. }
  380.  
  381. public OnPlayerExitedMenu(playerid)
  382. {
  383. return 1;
  384. }
  385.  
  386. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  387. {
  388. return 1;
  389. }
  390.  
  391. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  392. {
  393. return 1;
  394. }
  395.  
  396. public OnRconLoginAttempt(ip[], password[], success)
  397. {
  398. return 1;
  399. }
  400.  
  401. public OnPlayerUpdate(playerid)
  402. {
  403. new arquivo[34], playername[MAX_PLAYER_NAME];
  404. GetPlayerName(playerid, playername, sizeof(playername));
  405. format(arquivo, sizeof(arquivo), "Contas/%s", playername);
  406. if(DOF2_FileExists(arquivo))
  407. {
  408. DOF2_SetInt(arquivo, "Organização", pDados[playerid][Organizacao]);
  409. DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]);
  410. }
  411. else
  412. {
  413. DOF2_CreateFile(arquivo);
  414. DOF2_SetInt(arquivo, "Organização", pDados[playerid][Organizacao]);
  415. DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]);
  416. }
  417. return 1;
  418. }
  419. public OnPlayerStreamIn(playerid, forplayerid)
  420. {
  421. return 1;
  422. }
  423.  
  424. public OnPlayerStreamOut(playerid, forplayerid)
  425. {
  426. return 1;
  427. }
  428.  
  429. public OnVehicleStreamIn(vehicleid, forplayerid)
  430. {
  431. return 1;
  432. }
  433.  
  434. public OnVehicleStreamOut(vehicleid, forplayerid)
  435. {
  436. return 1;
  437. }
  438.  
  439. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  440. {
  441. if(dialogid == 666)
  442. {
  443. new playername[MAX_PLAYER_NAME], string[128];
  444. GetPlayerName(playerid, playername, sizeof(playername));
  445. if(response)
  446. {
  447. pDados[playerid][Organizacao] = GetPVarInt(playerid, "OrgConvidado");
  448. pDados[playerid][Cargo] = 1;
  449. format(string, sizeof(string), "%s aceitou seu Convite.", playername);
  450. SendClientMessage(GetPVarInt(playerid, "QuemConvidou"), 0x00FF00FF, string);
  451. format(string, sizeof(string), "%s é o mais novo membro da Organização.", playername);
  452. SendFamilyMessage(pDados[playerid][Organizacao], GetPlayerColor(playerid), string);
  453. SendClientMessage(playerid, 0x00FF00FF, "Você aceitou o Convite.");
  454. DeletePVar(playerid, "OrgConvidado");
  455. DeletePVar(playerid, "QuemConvidou");
  456. SpawnPlayer(playerid);
  457. }
  458. else
  459. {
  460. format(string, sizeof(string), "%s rejeitou seu Convite.", playername);
  461. SendClientMessage(GetPVarInt(playerid, "QuemConvidou"), 0x00FF00FF, string);
  462. SendClientMessage(playerid, 0x00FF00FF, "Você rejeitou o Convite.");
  463. DeletePVar(playerid, "OrgConvidado");
  464. DeletePVar(playerid, "QuemConvidou");
  465. }
  466. }
  467. return 1;
  468. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  469. {
  470. return 1;
  471. }
Advertisement
Add Comment
Please, Sign In to add comment