Advertisement
Chip7

[FS] FilterScript Sistema de Veiculo v0.2

Jul 8th, 2012
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 9.06 KB | None | 0 0
  1. /*VISITE NOSSO SITE: http://www.sampknd.com/
  2.   SAMP KND MELHOR BLOG DE SAMP DO BRASIL
  3. */
  4.  
  5. #include <a_samp>
  6. #include <zcmd>
  7. #include <sscanf>
  8. #include <DOF2>
  9.  
  10. #define FILTERSCRIPT
  11. #if defined FILTERSCRIPT
  12. #endif
  13.  
  14. #define Vermelho 0xFF0000FF
  15. #define Salvar "/Carros/%s.ini"
  16.  
  17. forward GetVehicleModelIDFromName(vehname[]);
  18.  
  19. new
  20.     IDVeiculo,
  21.     CorVeiculo,
  22.     CorVeiculo2,
  23.     IDCarro[MAX_PLAYERS],
  24.     VeiculoCriado[MAX_PLAYERS],
  25.     Float:p1x,
  26.     Float:p1y,
  27.     Float:p1z,
  28.     Float:SetVPos[3],
  29.     Text3D:DonoVeiculo,
  30.     Float:Vehx,Float:Vehy,Float:Vehz
  31. ;
  32.  
  33. new vNames[212][] =
  34. {
  35.     "Landstalker", "Bravura", "Buffalo", "Linerunner", "Pereniel", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
  36.     "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat", "Mr Whoopee", "BF Injection",
  37.     "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
  38.     "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
  39.     "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider",
  40.     "Glendale", "Oceanic", "Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR3 50", "Walton", "Regina",
  41.     "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood",
  42.     "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B",
  43.     "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropdust", "Stunt", "Tanker", "RoadTrain",
  44.     "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune", "Cadrona", "FBI Truck",
  45.     "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent", "Bullet", "Clover",
  46.     "Sadler", "Firetruck", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster A",
  47.     "Monster B", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight", "Trailer",
  48.     "Kart", "Mower", "Duneride", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "Newsvan", "Tug", "Trailer A", "Emperor",
  49.     "Wayfarer", "Euros", "Hotdog", "Club", "Trailer B", "Trailer C", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car (LSPD)", "Police Car (SFPD)",
  50.     "Police Car (LVPD)", "Police Ranger", "Picador", "S.W.A.T. Van", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A", "Luggage Trailer B",
  51.     "Stair Trailer", "Boxville", "Farm Plow", "Utility Trailer"
  52. };
  53.  
  54. public OnFilterScriptInit()
  55. {
  56.     printf("Sistema de Criação De Veículos Via Comando By: .FuneraL. - Ligado");
  57.     return 1;
  58. }
  59.  
  60. public OnFilterScriptExit()
  61. {
  62.     printf("Sistema de Criação De Veículos Via Comando By: .FuneraL. - Desligado");
  63.     DOF2_Exit();
  64.     return 1;
  65. }
  66.  
  67. public OnPlayerConnect(playerid)
  68. {
  69.     new LoadCarro[30],nome2[24];
  70.     GetPlayerName(playerid, nome2, MAX_PLAYER_NAME);
  71.     format(LoadCarro, sizeof(LoadCarro),Salvar,nome2);
  72.     if(DOF2_FileExists(LoadCarro))
  73.     {
  74.         VeiculoCriado[playerid] = DOF2_GetInt(LoadCarro, "TemCarro");
  75.         new LoadID,Float:x,Float:y,Float:z;
  76.         LoadID = DOF2_GetInt(LoadCarro,"IDCarro");
  77.         x = DOF2_GetInt(LoadCarro,"Vehx");
  78.         y = DOF2_GetInt(LoadCarro,"Vehy");
  79.         z = DOF2_GetInt(LoadCarro,"Vehz");
  80.         IDCarro[playerid] = CreateVehicle(LoadID, x, y,z+5, 0.0, 0,0, 60000);
  81.     }
  82.     return 1;
  83. }
  84.  
  85. public OnPlayerDisconnect(playerid, reason)
  86. {
  87.     if(VeiculoCriado[playerid] == 1)
  88.     {
  89.         new Carros[128],Nome[24];
  90.         GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
  91.         GetVehiclePos(IDCarro[playerid],Vehx, Vehy, Vehz);
  92.         format(Carros, sizeof(Carros),Salvar,Nome);
  93.         if(!DOF2_FileExists(Carros)) DOF2_CreateFile(Carros);
  94.         DOF2_SetInt(Carros, "TemCarro",VeiculoCriado[playerid]);
  95.         DOF2_SetInt(Carros, "IDCarro",IDVeiculo);
  96.         DOF2_SetFloat(Carros,"Vehx",Vehx);
  97.         DOF2_SetFloat(Carros,"Vehy",Vehy);
  98.         DOF2_SetFloat(Carros,"Vehz",Vehz);
  99.         DOF2_SaveFile();
  100.     }
  101.     else
  102.     {
  103.         new nome[24];
  104.         GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
  105.         printf("Jogador %s Não Possui Um Veiculo", nome);
  106.     }
  107.     return 1;
  108. }
  109.    
  110.  
  111. CMD:v(playerid, params[])
  112. {
  113.     new StringText[100], NomeCriador[24];
  114.     if(sscanf(params, "ddd", IDVeiculo, CorVeiculo, CorVeiculo2)) return SendClientMessage(playerid, Vermelho, "USO: /v [ID Veiculo] [Cor1] [Cor2]");
  115.     if(IDVeiculo < 400 || IDVeiculo > 611) return SendClientMessage(playerid, Vermelho, "ID Inválido < ID's de 400 a 611 >");
  116.     if(CorVeiculo < 0 || CorVeiculo > 255) return SendClientMessage(playerid, Vermelho, "COR Inválida < Cores de 0 a 255 >");
  117.     if(CorVeiculo2 < 0 || CorVeiculo2 > 255) return SendClientMessage(playerid, Vermelho, "COR2 Inválida < Cores de 0 a 255 >");
  118.     if(VeiculoCriado[playerid] == 1) return SendClientMessage(playerid, Vermelho, "Você já Possui um Veículo Criado, Use /deletarveiculo");
  119.     GetPlayerName(playerid, NomeCriador, 24);
  120.     GetPlayerPos(playerid, p1x, p1y, p1z);
  121.     IDCarro[playerid] = CreateVehicle(IDVeiculo, p1x, p1y, p1z+5, 0.0, CorVeiculo, CorVeiculo2, 60000);
  122.     PutPlayerInVehicle(playerid, IDCarro[playerid], 0);
  123.     SetVehicleVirtualWorld(IDCarro[playerid], GetPlayerVirtualWorld(playerid));
  124.     LinkVehicleToInterior(IDCarro[playerid], GetPlayerInterior(playerid));
  125.     VeiculoCriado[playerid] = 1;
  126.     SendClientMessage(playerid, Vermelho, "Você Criou um Veiculo, Para Deleta-lo Utilize: /deletarveiculo!");
  127.     format(StringText, sizeof(StringText), "{FFFFFF}Veiculo Criado Pelo Jogador:{FF0000} %s", NomeCriador);
  128.     DonoVeiculo = Create3DTextLabel(StringText, -1, 30.0, 40.0, 50.0, 40.0, 0, 0);
  129.     Attach3DTextLabelToVehicle(DonoVeiculo, IDCarro[playerid], 0.0, 0.0, 1.0);
  130.     return 1;
  131. }
  132. CMD:veh(playerid, params[])
  133. {
  134.     new NomeVeiculo[20], StringText[100], NomeCriador[24];
  135.     if(sscanf(params, "s[20]dd", NomeVeiculo, CorVeiculo, CorVeiculo2)) return SendClientMessage(playerid, Vermelho, "USO: /v [Nome] [Cor1] [Cor2]");
  136.     if(CorVeiculo < 0 || CorVeiculo > 255) return SendClientMessage(playerid, Vermelho, "COR Inválida < Cores de 0 a 255 >");
  137.     if(CorVeiculo2 < 0 || CorVeiculo2 > 255) return SendClientMessage(playerid, Vermelho, "COR2 Inválida < Cores de 0 a 255 >");
  138.     if(VeiculoCriado[playerid] == 1) return SendClientMessage(playerid, Vermelho, "Você já Possui um Veículo Criado, Use /deletarveiculo");
  139.     GetPlayerName(playerid, NomeCriador, 24);
  140.     GetPlayerPos(playerid, p1x, p1y, p1z);
  141.     IDCarro[playerid] = CreateVehicle(GetVehicleModelIDFromName(NomeVeiculo), p1x, p1y, p1z+5, 0.0, CorVeiculo, CorVeiculo2, 60000);
  142.     PutPlayerInVehicle(playerid, IDCarro[playerid], 0);
  143.     SetVehicleVirtualWorld(IDCarro[playerid], GetPlayerVirtualWorld(playerid));
  144.     LinkVehicleToInterior(IDCarro[playerid], GetPlayerInterior(playerid));
  145.     VeiculoCriado[playerid] = 0;
  146.     SendClientMessage(playerid, Vermelho, "Você Criou um Veiculo, Para Deleta-lo Utilize: /deletarveiculo!");
  147.     format(StringText, sizeof(StringText), "{FFFFFF}Veiculo Criado Pelo Jogador:{FF0000} %s", NomeCriador);
  148.     DonoVeiculo = Create3DTextLabel(StringText, -1, 30.0, 40.0, 50.0, 40.0, 0, 0);
  149.     Attach3DTextLabelToVehicle(DonoVeiculo, IDCarro[playerid], 0.0, 0.0, 1.0);
  150.     return 1;
  151. }
  152. CMD:trazerveiculo(playerid)
  153. {
  154.     if(VeiculoCriado[playerid] == 0) return SendClientMessage(playerid, Vermelho, "Você Não Criou um Veículo!");
  155.     GetPlayerPos(playerid, SetVPos[0], SetVPos[1], SetVPos[2]);
  156.     SetVehiclePos(IDCarro[playerid], SetVPos[0], SetVPos[1], SetVPos[2]);
  157.     SendClientMessage(playerid, Vermelho, "Você Trouxe Seu Veículo Até Você!");
  158.     return 1;
  159. }
  160. CMD:deletarveiculo(playerid)
  161. {
  162.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Vermelho, "Você Não Está em um Veículo!");
  163.     if(VeiculoCriado[playerid] == 0) return SendClientMessage(playerid, Vermelho, "Você Não Criou um Veículo!");
  164.     DestroyVehicle(IDCarro[playerid]);
  165.     VeiculoCriado[playerid] = 0;
  166.     SendClientMessage(playerid, Vermelho, "Você Deletou Seu Veículo Com Sucesso, Para Cria-lo Novamente, Use /v!");
  167.     Delete3DTextLabel(DonoVeiculo);
  168.     return 1;
  169. }
  170. CMD:irateveiculo(playerid)
  171. {
  172.     if(VeiculoCriado[playerid] == 0) return SendClientMessage(playerid, Vermelho, "Você Não Criou um Veículo!");
  173.     GetVehiclePos(IDCarro[playerid], SetVPos[0], SetVPos[1], SetVPos[2]);
  174.     SetPlayerPos(playerid, SetVPos[0], SetVPos[1], SetVPos[2]);
  175.     SendClientMessage(playerid, Vermelho, "Você Foi Até seu Veículo");
  176.     return 1;
  177. }
  178.  
  179. public GetVehicleModelIDFromName(vehname[])
  180. {
  181.         for(new i; i < 212; ++i)
  182.         {
  183.                 if (strfind(vNames[i], vehname, true) != -1) return i + 400;
  184.         }
  185.         return -1;
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement