26.11.2012, 13:09
I tried to wouldn't allow to sit in these transport, but i failed.. My car script:
P.S When they write /car rhino, it doesn't works, but if they write vehicle ID, car spawns.
Код:
#include <a_samp>
#define COLOUR_ORANGE 0xFF9900AA
#define COLOUR_BLUE 0x0099FFAA
new
CreateCar[MAX_PLAYERS] = {-1,...};
new
VehicleNames[212][] = {
"Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","","Firetruck","Trashmaster","Stretch","Manana","Infernus",
"Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
"","Premier","Enforcer","Securicar","Banshee","Predator","Bus","","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
"Stallion","Rumpo","RC Bandit","Romero","Packer","","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","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","ZR3 50","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","","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","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","",
"","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
"Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
"Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","","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 OnFilterScriptInit() { return 1; }
public OnPlayerDisconnect(playerid, reason)
{
if(CreateCar[playerid] != -1)
{
DestroyVehicle(CreateCar[playerid]);
CreateCar[playerid] = -1;
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new
cmd[128],
tmp[32],
tmp2[256], tmp3[256], tmp4[256],idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/car", true)==0)
{
if(IsPlayerInAnyVehicle(playerid)) { return SendClientMessage(playerid, COLOUR_ORANGE, "Tu jau turi masina"); }
tmp = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext,idx);
tmp3 = strtok(cmdtext,idx);
tmp4 = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 32) { return SendClientMessage(playerid, COLOUR_ORANGE, "Naudojimas: /car <pavadinimas> <spalva1> <spalva2> <numeriai>"); }
new
car,colour1, colour2;
if(!IsNumeric(tmp)) { car = GetVehicleModelIDFromName(tmp); } else { car = strval(tmp); }
if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
if(car > 611 || car < 400) { return SendClientMessage(playerid, COLOUR_ORANGE, "Neteisingai ivestas masinos ID arba pavadinimas."); }
if(CreateCar[playerid] != -1) { DestroyVehicle(CreateCar[playerid]); }
new
Float:pos[4];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
GetPlayerFacingAngle(playerid, pos[3]);
CreateCar[playerid] = CreateVehicle(car, pos[0], pos[1], pos[2], pos[3],colour1,colour2, 50000);
SetVehicleNumberPlate(CreateCar[playerid], tmp4);
SetVehicleToRespawn(CreateCar[playerid]);
PutPlayerInVehicle(playerid, CreateCar[playerid], 0);
SetVehicleVirtualWorld(CreateCar[playerid], GetPlayerVirtualWorld(playerid));
new
MaxPlayers = GetMaxPlayers();
for(new i; i < MaxPlayers; i++)
{
if(!IsPlayerConnected(i) || i == playerid) continue;
SetVehicleParamsForPlayer(CreateCar[playerid], i, 0, true);
}
new
string[144];
format(string, sizeof string, "Pasigaminai: %s", VehicleNames[car-400]);
SendClientMessage(playerid, COLOUR_BLUE, string);
return 1;
}
return 0;
}
stock IsNumeric(string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string[i] > '9' || string[i] < '0') return false;
}
return true;
}
stock GetVehicleModelIDFromName(vname[])
{
for(new i = 0; i < 210; i++)
{
if(strfind(VehicleNames[i], vname, true) != -1 )
return i + 400;
}
return -1;
}
stock strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[32];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}

