pawn Код:
#include <a_samp>
new
vModel,
Float:ppos[3],
Text3D:TextVeH,
VeiculoID[MAX_PLAYERS],
gstring[256]
;
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"}
};
new
bool:CriouVeiculo[MAX_PLAYERS]
;
new
Float:PlayerGetPos[3]
;
new
Float:iAngulo
;
public OnPlayerConnect(playerid)
{
VeiculoID[playerid] = -1;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
DestroyVehicle(VeiculoID[playerid]);
VeiculoID[playerid] = -1;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new
cmd[128], idx, tmp[128];
cmd = strtok(cmdtext, idx);
GetPlayerPos(playerid, ppos[0], ppos[1], ppos[2]);
if(strcmp(cmd, "/v", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xFF3300AA, "{FF4040}[ERRO]: {FFFFFF}Uso correto: /v [ID do Veнculo] [Cor1] [Cor2]!");
return 1;
}
new
veiculo = strval(tmp);
if(veiculo < 400 || veiculo > 611)
{
SendClientMessage(playerid, 0xFF3300AA, "{FF4040}[ERRO]: {FFFFFF}ID's disponнveis: 400 б 611!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xFF3300AA, "{FF4040}[ERRO]: {FFFFFF}Uso correto: /v [ID do Veнculo] [Cor1] [Cor2]!");
return 1;
}
new
color1 = strval(tmp);
tmp = strtok(cmdtext, idx);
new
color2 = strval(tmp);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xFF3300AA, "{FF4040}[ERRO]: {FFFFFF}Uso correto: /v [ID do Veнculo] [Cor1] [Cor2]!");
return 1;
}
DestroyVehicle(VeiculoID[playerid]);
vModel = CreateVehicle(veiculo, ppos[0], ppos[1], ppos[2], 360, color1, color2, -1);
PutPlayerInVehicle(playerid, vModel, 0);
VeiculoID[playerid] = GetPlayerVehicleID(playerid);
format(gstring, sizeof(gstring), "{FF4040}[INFO]: {FFFFFF}%s ID: %d Cor1: %d e Cor2: %d Criado com Sucesso!", Veiculos[GetVehicleModel(vModel)-400], veiculo, color1, color2);
SendClientMessage(playerid, 0xFFFF33AA, gstring);
format(gstring, 256, "{FFFF33}Veнculo de {FFFFCC}%s {FFFF33}ID: {FFFFCC}%d", PlayerName(playerid), playerid);
TextVeH = Create3DTextLabel(gstring, -1, 0.0, 0.0, 0.0, 50.0, 0, 1);
Attach3DTextLabelToVehicle(TextVeH, vModel, 0.0, 0.0, 0.0+1);
return 1;
}
if(strcmp(cmd, "/trazerv", true) == 0)
{
if(CriouVeiculo[playerid] == true)
{
SendClientMessage(playerid, 0xCCFF33AA, "{FF4040}[INFO]: {FFFFFF}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, 0xFFFFFFFF, "{FF4040}[ERRO]: {FFFFFF}Vocк nгo criou nenhum Veнculo Prуprio!");
return 1;
}
}
return 0;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerVehicleID(playerid) == VeiculoID[playerid])
{
format(gstring, sizeof(gstring),"{FF4040}[INFO]: {FFFFFF}%s Seja Bem Vindo ao seu Veнculo criado por vocк!", PlayerName(playerid));
SendClientMessage(playerid, 0x9966FFAA, gstring);
return 1;
}
else if(GetPlayerVehicleID(playerid) != VeiculoID[playerid])
{
format(gstring, sizeof(gstring), "{FF4040}[ERRO]: {FFFFFF}Esse veнculo pertence а %s e vocк nгo pode dirigi-lo! {FF4040}( Crie o seu usando: /V [ID do Veнculo] [Cor1] [Cor2] )!", PlayerName(VeiculoID[playerid]));
SendClientMessage(playerid, 0xFF6633AA, gstring);
PlayerPlaySound(playerid, 1147, 0.0, 0.0, 0.0);
RemovePlayerFromVehicle(playerid);
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;
}