Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*VISITE NOSSO SITE: http://www.sampknd.com/
- VISITE NOSSO FACEBOOK: http://www.facebook.com/SampKnd
- SAMP KND MELHOR BLOG DE SAMP DO BRASIL
- */
- #include <a_samp>
- new
- Modelo[MAX_PLAYERS]
- ;
- new
- g_string[128]
- ;
- new
- Float:PlayerGetPos[3]
- ;
- new
- VeiculoID[MAX_PLAYERS]
- ;
- new
- Text3D:VLabel3D[MAX_PLAYERS]
- ;
- new
- bool:CriouVeiculo[MAX_PLAYERS]
- ;
- enum veiculospp
- {
- Nome[20]
- }
- new Veiculopp[MAX_VEHICLES][veiculospp];
- new Veiculos[212][] =
- {
- {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},{"Firetruck"},{"Trashmaster"},
- {"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},{"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},
- {"Esperanto"},{"Taxi"},{"Washington"},{"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},
- {"Securicar"},{"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},{"Coach"},
- {"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},{"Admiral"},{"Squalo"},{"Seasparrow"},
- {"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},{"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},
- {"Berkley's RC Van"},{"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
- {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},{"Rustler"},{"ZR-350"},{"Walton"},
- {"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},{"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},
- {"FBI Rancher"},{"Virgo"},{"Greenwood"},{"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},
- {"Benson"},{"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},{"Super GT"},
- {"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},{"Tanker"},{"Roadtrain"},{"Nebula"},
- {"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},{"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},
- {"Cadrona"},{"FBI Truck"},{"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},{"Blade"},
- {"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},{"Firetruck LA"},{"Hustler"},{"Intruder"},
- {"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},{"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},
- {"Uranus"},{"Jester"},{"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},{"Bandito"},
- {"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},
- {"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},{"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},
- {"Freight Carriage"},{"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
- {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},{"Sadler"},
- {"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},{"Utility Trailer"}
- };
- public OnPlayerConnect(playerid)
- {
- VeiculoID[playerid] = -1;
- CriouVeiculo[playerid] = false;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- DestroyVehicle(VeiculoID[playerid]);
- VeiculoID[playerid] = -1;
- CriouVeiculo[playerid] = false;
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new
- cmd[128], idx, tmp[128];
- cmd = strtok(cmdtext, idx);
- GetPlayerPos(playerid, PlayerGetPos[0], PlayerGetPos[1], PlayerGetPos[2]);
- new
- Float:iAngulo
- ;
- GetPlayerFacingAngle(playerid, iAngulo);
- if(strcmp(cmd, "/veh", true) == 0 || strcmp(cmd, "/criarveiculo", true) == 0)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veículo ID / Nome] [Cor 1] [Cor 2]");
- return 1;
- }
- new veiculo = GetVehicleModelID(tmp);
- if(veiculo == -1)
- {
- veiculo = strval(tmp);
- if(veiculo < 400 || veiculo > 611)
- {
- SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veículo ID / Nome] [Cor 1] [Cor 2]");
- return 1;
- }
- }
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veículo ID / Nome] [Cor 1] [Cor 2]");
- return 1;
- }
- new color1 = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veículo ID / Nome] [Cor 1] [Cor 2]");
- return 1;
- }
- new color2 = strval(tmp);
- if(veiculo < 400 || veiculo > 611)
- {
- SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Somente veículos entre 400 á 611!");
- return 1;
- }
- DestroyVehicle(VeiculoID[playerid]);
- PutPlayerInVehicle(playerid, Modelo[ playerid ] = CreateVehicle(veiculo, PlayerGetPos[0], PlayerGetPos[1], PlayerGetPos[2], iAngulo, color1, color2, -1), 0);
- VeiculoID[playerid] = GetPlayerVehicleID(playerid);
- CriouVeiculo[playerid] = true;
- format(g_string, sizeof(g_string), "| INFO | %s criado com sucesso! (Somente você pode dirigi-lo)", Veiculos[GetVehicleModel(Modelo[ playerid ])-400]);
- SendClientMessage(playerid, 0xFFFF33AA, g_string);
- format(g_string, sizeof(g_string), "%s [%d]", PlayerName(playerid), playerid);
- VLabel3D[playerid] = Create3DTextLabel(g_string, 0x00FF00AA, 0.0, 0.0, 0.0, 40.0, 0, 1);
- Attach3DTextLabelToVehicle(VLabel3D[playerid], Modelo[ playerid ], 0.0, -2.5, 0.5);
- format(Veiculopp[VeiculoID[playerid]][Nome], 20, PlayerName(playerid));
- return 1;
- }
- if(strcmp(cmd, "/vehtrazer", true) == 0)
- {
- if(CriouVeiculo[playerid] == true)
- {
- SendClientMessage(playerid, 0xCCFF33AA, "| INFO | Você trouxe seu veículo até você.");
- GetPlayerPos(playerid, PlayerGetPos[0], PlayerGetPos[1], PlayerGetPos[2]);
- SetVehiclePos(VeiculoID[playerid], PlayerGetPos[0], PlayerGetPos[1], PlayerGetPos[2]+1);
- SetVehicleZAngle(VeiculoID[playerid], iAngulo);
- PutPlayerInVehicle(playerid, VeiculoID[playerid], 0);
- return 1;
- }
- else
- {
- SendClientMessage(playerid, 0xFF6633AA, "| ERRO | Você não criou um veículo próprio para você!");
- return 1;
- }
- }
- return 0;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- if(GetPlayerVehicleID(playerid) == VeiculoID[playerid])
- {
- if(strcmp(Veiculopp[GetPlayerVehicleID(playerid)][Nome], PlayerName(playerid), true) == 0)
- {
- format(g_string, sizeof(g_string), "%s [%d]", PlayerName(playerid), playerid);
- Update3DTextLabelText(VLabel3D[playerid], -1, g_string);
- }
- }
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER)
- {
- if(strcmp(Veiculopp[GetPlayerVehicleID(playerid)][Nome], PlayerName(playerid), false))
- {
- format(g_string, sizeof(g_string), "| ERRO | Veículo próprio do(a) %s somente ele(a) pode dirigi-lo!", Veiculopp[GetPlayerVehicleID(playerid)][Nome]);
- SendClientMessage(playerid, 0xFF6633AA, g_string);
- PlayerPlaySound(playerid, 1147, 0.0, 0.0, 0.0);
- RemovePlayerFromVehicle(playerid);
- }
- else
- {
- Update3DTextLabelText(VLabel3D[playerid], -1, " ");
- }
- return 1;
- }
- return 1;
- }
- stock strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- stock GetVehicleModelID(nome[])
- {
- for(new i = 0; i < 211; ++i)
- {
- if(strfind(Veiculos[i], nome, true) != -1) return i + 400;
- }
- return -1;
- }
- stock PlayerName(playerid)
- {
- new
- PvName[MAX_PLAYER_NAME+1]
- ;
- GetPlayerName(playerid, PvName, sizeof(PvName));
- return PvName;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement