Guest User

Untitled

a guest
Feb 21st, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.11 KB | None | 0 0
  1. // Criado por Monstrinho Verde com a ajuda do tutorial do Josma_cmd
  2. //Caso encontre algum Bug tente resolver, pois sou novato em script!!!
  3. //Caso ache o FS incompleto, complete-o e coloque os seus créditos e mande-o de novo para mim.
  4. //Não retire os créditos
  5.  
  6.  
  7. #include <a_samp>
  8.  
  9. enum Info
  10. {
  11. Membro,
  12. Cargo,
  13. };
  14. new ProgressaoInfo[MAX_PLAYERS][Info];
  15. new Nomeorgs[1][128] =
  16. {
  17. "Euskadi Ta Askatasuna"
  18. };
  19. new VETA[17];
  20. new Texto[256];
  21. new guerra;
  22. forward guerrat();
  23.  
  24.  
  25. const C_ETA = 0xFFAE00
  26.  
  27. VETA[0] = CreateVehicle(595,1619.69995117,580.90002441,0xFFAE00,0xFFAE00,-1,-1,15);
  28. VETA[1] = CreateVehicle(595,1637.09997559,581.70001221,0xFFAE00,0xFFAE00,-1,-1,15);
  29. VETA[2] = CreateVehicle(520,1589.09997559,605.90002441,0xFFAE00,0xFFAE00,-1,-1,15);
  30. VETA[3] = CreateVehicle(520,1599.30004883,606.00000000,0xFFAE00,0xFFAE00,-1,-1,15);
  31. VETA[4] = CreateVehicle(425,1654.00000000,606.29998779,0xFFAE00,0xFFAE00,-1,-1,15);
  32. VETA[5] = CreateVehicle(425,1642.80004883,605.90002441,0xFFAE00,0xFFAE00,-1,-1,15);
  33. VETA[6] = CreateVehicle(487,1628.80004883,582.00000000,0xFFAE00,0xFFAE00,-1,-1,15);
  34. VETA[7] = CreateVehicle(432,1621.30004883,627.90002441,0xFFAE00,0xFFAE00,-1,-1,15);
  35. VETA[8] = CreateVehicle(432,1633.90002441,628.20001221,0xFFAE00,0xFFAE00,-1,-1,15);
  36. VETA[9] = CreateVehicle(451,1614.09997559,619.29998779,0xFFAE00,0xFFAE00,-1,-1,15);
  37. VETA[10] = CreateVehicle(560,1641.19995117,619.09997559,0xFFAE00,0xFFAE00,-1,-1,15);
  38. VETA[11] = CreateVehicle(559,1655.00000000,619.20001221,0xFFAE00,0xFFAE00,-1,-1,15);
  39. VETA[12] = CreateVehicle(562,1599.50000000,619.40002441,0xFFAE00,0xFFAE00,-1,-1,15);
  40. VETA[13] = CreateVehicle(468,1630.00000000,623.40002441,0xFFAE00,0xFFAE00,-1,-1,15);
  41. VETA[14] = CreateVehicle(468,1625.00000000,623.20001221,0xFFAE00,0xFFAE00,-1,-1,15);
  42. VETA[15] = CreateVehicle(522,1628.59997559,623.29998779,0xFFAE00,0xFFAE00,-1,-1,15);
  43. VETA[16] = CreateVehicle(522,1626.40002441,623.20001221,0xFFAE00,0xFFAE00,-1,-1,15);
  44. VETA[17] = CreateVehicle(533,1586.90002441,619.29998779,0xFFAE00,0xFFAE00,-1,-1,15);
  45.  
  46. #define VETA(%0,%1,%2) GetPlayerVehicleID(playerid) >= %0[%1] && GetPlayerVehicleID(playerid) <= %0[%2]
  47.  
  48. public OnPlayerStateChange(playerid, newstate, oldstate)
  49. {
  50. if(newstate == PLAYER_STATE_DRIVER)
  51. {
  52.  
  53. if(VETA(VETA,0,4) && ProgressaoInfo[playerid][Membro] != 2) return RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, C_Assassinos, "Você não pertence à ETA");
  54. }
  55. return true;
  56. }
  57. cmd(membros, playerid, params[])
  58. {
  59. #pragma unused params
  60. new corda[70];
  61. for(new i, PP = GetMaxPlayers(); i < PP; i++)
  62. {
  63. if(!IsPlayerConnected(PP)) continue;
  64. if(ProgressaoInfo[i][Membro] == ProgressaoInfo[playerid][Membro])
  65. {
  66. new nome[MAX_PLAYER_NAME];
  67. GetPlayerName(playerid, nome, sizeof(nome));
  68. format(corda, sizeof(corda), "%s é membro da org %s e possui cargo %d\n", nome, Orgnome[ProgressaoInfo[i][Membro]], ProgressaoInfo[i][Cargo]); //Formatará a string corda com o nome, cargo e nome da org pertencente.
  69. strcat(Texto, corda, 70);
  70. }
  71. }
  72. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Lista de membros online", Texto, "OK", "");
  73. strdel(Texto, 0, sizeof(Texto));
  74. return true;
  75. }
  76. cmd(equipar, playerid, params[])
  77. {
  78. #pragma unused params
  79. if(ProgressaoInfo[playerid][Membro] == 1 && IsPlayerInRangeOfPoint(playerid, 3.0, Float:X, Float:Y, Float:Z)) //No X, Y e Z as coordenadas do local de equipe da org 1 = Assassinos
  80. {
  81. ResetPlayerWeapons(playerid);
  82. GivePlayerWeapon(playerid, 31, 500);
  83. GivePlayerWeapon(playerid, 24, 300);
  84. GivePlayerWeapon(playerid, 25, 250);
  85. GivePlayerWeapon(playerid, 39, 10);
  86. GivePlayerWeapon(playerid, 40, 1);
  87. GivePlayerWeapon(playerid, 34, 10);
  88. GivePlayerWeapon(playerid, 4, 1);
  89. GivePlayerWeapon(playerid, 29,4);
  90. SendClientMessage(playerid, C_ETA, "%s pegou seus equipamentos de terrorismo", nome);
  91. return true;
  92. }
  93. }
  94. cmd(chatorg, playerid, params[])
  95. {
  96. new corda[128];
  97. if(sscanf(params, "s[128]", corda)) return SendClientMessage(playerid, GetPlayerColor(playerid), "Use /ga [Texto]");
  98. if(ProgressaoInfo[playerid][Membro] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Você é um Civil, não pode usar o chat da ETA!");
  99. new nome[MAX_PLAYER_NAME];
  100. GetPlayerName(playerid, nome, sizeof(nome));
  101. format(Texto, 128, "%s[%d] diz: %s", nome, ProgressaoInfo[playerid][Cargo], corda);
  102. for(new PP, Progressao = GetMaxPlayers(); PP < Progressao; PP++)
  103. {
  104. if(!IsPlayerConnected(PP)) continue;
  105. if(ProgressaoInfo[PP][Membro] == ProgressaoInfo[playerid][Membro])
  106. {
  107. SendClientMessage(PP, GetPlayerColor(playerid), Texto);
  108. }
  109. }
  110. return true;
  111. }
  112. cmd(convidar, playerid, params[])
  113. {
  114. new PlayerB, nome[MAX_PLAYER_NAME];
  115. if(sscanf(params, "d", PlayerB)) return SendClientMessage(playerid, 0x1E90FF99, "Use /convidar [id]");
  116. if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, 0x1E90FF99, "Este jogador não está online");
  117. GetPlayerName(PlayerB, nome, sizeof(nome));
  118. format(Texto, 70, "Você convidou %s para sua organização", nome);
  119. SendClientMessage(playerid, GetPlayerColor(playerid), Texto);
  120. GetPlayerName(playerid, nome, sizeof(nome));
  121. format(Texto, 128, "%s está lhe convidando para fazer parte da organização: %s \nDeseja aceitar?", nome, Nomeorgs[ProgressaoInfo[playerid][Membro]]);
  122. ShowPlayerDialog(PlayerB, 100, DIALOG_STYLE_MSGBOX, "Convite para organização", Texto, "Sim", "Não");
  123. SetPVarInt(PlayerB, "OrgConvidado", ProgressaoInfo[playerid][Membro]);
  124. return true;
  125. }
  126. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  127. {
  128. if(dialogid == 100 && response)
  129. {
  130. ProgressaoInfo[playerid][Membro] = GetPVarInt(playerid, "OrgConvidado");
  131. ProgressaoInfo[playerid][Cargo] = 1;
  132. DeletePVar(playerid, "OrgConvidado");
  133. return true;
  134. }
  135. return true;
  136. }
  137. cmd(promover, playerid, params[])
  138. {
  139. new PlayerB, cargo;
  140. if(sscanf(params, "dd", PlayerB, Cargo)) return SendClientMessage(playerid, 0x1E90FF99, "Use /Promover [id] [cargo]");
  141. if(ProgressaoInfo[playerid][Cargo] != 10) return SendClientMessage(playerid, 0x1E90FF99, "Você não é líder");
  142. if(ProgressaoInfo[PlayerB][Membro] != ProgressaoInfo[playerid][Membro]) return SendClientMessage(playerid, 0x1E90FF99, "Este jogador não é da sua organização.");
  143. ProgressaoInfo[playerid][Cargo] = cargo;
  144. return true;
  145. }
  146. cmd(demitir, playerid, params[])
  147. {
  148. new PlayerB;
  149. if(sscanf(params, "d", PlayerB)) return SendClientMessage(playerid, 0x1E90FF99, "Use /Demitir [id]");
  150. if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, 0x1E90FF99, "Este jogador não está online");
  151. if(ProgressaoInfo[playerid][Membro] != ProgressaoInfo[PlayerB][Membro]) return SendClientMessage(playerid, 0x1E90FF99, "Este jogador não é da sua organização");
  152. if(ProgressaoInfo[playerid][Cargo] != 10) return SendClientMessage(playerid, 0x1E90FF99, "Você não é líder da organização");
  153. ProgressaoInfo[PlayerB][Membro] = 0; //Tornará o player demitido um civil novamente.
  154. ProgressaoInfo[PlayerB][Cargo] = 0; //Atribuirá o cargo 0 ao player demitido, afinal, agora ele não pertence à org alguma.
  155. SendClientMessage(PlayerB, C_Civil, "Você foi demitido");
  156. SetPlayerColor(playerid, C_Civil);
  157. SendClientMessage(playerid, 0x1E90FF99, "Jogador demitido");
  158. return true;
  159. }
  160. public OnPlayerDisconnect(playerid, reason)
  161. {
  162. SalvarPlayer(playerid);
  163. return true;
  164. }
  165.  
  166. stock SalvarPlayer(playerid)
  167. {
  168. new nome[MAX_PLAYER_NAME];
  169. GetPlayerName(playerid, nome, sizeof(nome));
  170. format(Texto, 35, "Jogadores/%s", nome);
  171. INI_Open(Texto);
  172. INI_WriteInt("Organização", ProgressaoInfo[playerid][Membro]);
  173. INI_WriteInt("Cargo", ProgressaoInfo[playerid][Cargo]);
  174. INI_Save();
  175. INI_Close();
  176. return true;
  177. }
  178. public OnPlayerConnect(playerid)
  179. {
  180. new nome[MAX_PLAYER_NAME];
  181. GetPlayerName(playerid, nome, sizeof(nome));
  182. format(Texto, 35, "Jogadores/%s", nome);
  183. if(fexist(Texto))
  184. {
  185. INI_Open(Texto);
  186. ProgressaoInfo[playerid][Membro] = INI_ReadInt("Organização");
  187. ProgressaoInfo[playerid][Cargo] = INI_ReadInt("Cargo");
  188. INI_Close();
  189. }
  190. return true;
  191. }
  192. public OnPlayerCommandText
  193. if(strcmp(cmd,"/guerra", true) == 0)
  194. {
  195. if(PlayerInfo[playerid][pLider]==3)
  196. {
  197. new Float:X,Float:Y,Float:Z;
  198. GetPlayerPos(playerid, X,Y,Z);
  199. guerra = GangZoneCreate(X-100,Y-100,X+100,Y+100);
  200. GangZoneShowForAll(guerra,0xFFAE00);
  201. SetTimer("guerrat",120000,1);
  202. new pName[MAX_PLAYER_NAME];
  203. GetPlayerName(playerid, pName, sizeof(pName));
  204. format(string, sizeof(string), "O líder %s da ETA começou uma guerra!", pName);
  205. SendClientMessageToAll(0xFFAE00, string);
  206. }
  207. return 1;
  208. }
  209. public guerrat()
  210. {
  211. GangZoneDestroy(guerra);
  212. GangZoneHideForAll(guerra);
  213. return 1;
  214. }
Advertisement
Add Comment
Please, Sign In to add comment