leozinhop

Untitled

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