[Urgent]Command Help: Both Get Me Wrong Car
#1

pawn Код:
dcmd_vgoto(playerid,params[]) {
    if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
        if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /vgoto [vehicleid]");
        new player1, string[128];
        player1 = strval(params);
        CMDMessageToAdmins(playerid,"VGOTO");
        new Float:x, Float:y, Float:z;  GetVehiclePos(player1,x,y,z);
        SetPlayerVirtualWorld(playerid,GetVehicleVirtualWorld(player1));
        if(GetPlayerState(playerid) == 2) {
            SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
            SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetVehicleVirtualWorld(player1) );
        } else SetPlayerPos(playerid,x+2,y,z);
        format(string,sizeof(string),"You have teleported to vehicle id %d", player1);
        return SendClientMessage(playerid,blue,string);
    } else return SendClientMessage(playerid,red,""Yellow"Error: "White"You are not a high enough level to use this command");
}

dcmd_vget(playerid,params[]) {
    if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
        if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /vget [vehicleid]");
        new player1, string[128];
        player1 = strval(params);
        CMDMessageToAdmins(playerid,"VGET");
        new Float:x, Float:y, Float:z;  GetPlayerPos(playerid,x,y,z);
        SetVehiclePos(player1,x+3,y,z);
        SetVehicleVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
        format(string,sizeof(string),"You have brough vehicle id %d to your location", player1);
        return SendClientMessage(playerid,blue,string);
    } else return SendClientMessage(playerid,red,""Yellow"Error: "White"You are not a high enough level to use this command");
}
above command get me wrong cars if i type /vget 562 it get me car 469 the banshee one i think so. please fix them. +2rep for help
Reply
#2

That's because you're bringing to you the vehicle id currently on your server not the vehicle model...
Reply
#3

then who can i get vehicle mode with that cmd
Reply
#4

Your cmd just brings an existing vehicle to you, I think what you want is to spawn one.. I have this FS, I hope it will help you..

PHP код:
#define FILTERSCRIPT
#include <a_samp>
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD5 0xE3E3E3FF
new gDestroyVehicle[MAX_VEHICLES];
new 
CreatedCars[MAX_VEHICLES] = {INVALID_VEHICLE_ID, ...};
public 
OnFilterScriptInit()
{
    return 
1;
}
public 
OnFilterScriptExit()
{
    return 
1;
}
new 
vehName[][] =       // array for vehicle names to be displayed
{
    
"Landstalker""Bravura""Buffalo""Linerunner""Perrenial""Sentinel""Dumper""Firetruck""Trashmaster",
    
"Stretch""Manana""Infernus""Voodoo""Pony""Mule""Cheetah""Ambulance""Leviathan""Moonbeam",
    
"Esperanto""Taxi""Washington""Bobcat""Whoopee""BF Injection""Hunter""Premier""Enforcer",
    
"Securicar""Banshee""Predator""Bus""Rhino""Barracks""Hotknife""Trailer""Previon""Coach",
    
"Cabbie""Stallion""Rumpo""RC Bandit""Romero""Packer""Monster""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""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""Cropduster""Stunt""Tanker""Roadtrain",
    
"Nebula""Majestic""Buccaneer""Shamal""Hydra""FCR-900""NRG-500""HPV1000""Cement Truck""Tow Truck",
    
"Fortune""Cadrona""SWAT Truck""Willard""Forklift""Tractor""Combine""Feltzer""Remington""Slamvan",
    
"Blade""Streak""Freight""Vortex""Vincent""Bullet""Clover""Sadler""Firetruck""Hustler""Intruder",
    
"Primo""Cargobob""Tampa""Sunrise""Merit""Utility""Nevada""Yosemite""Windsor""Monster""Monster",
    
"Uranus""Jester""Sultan""Stratium""Elegy""Raindance""RC Tiger""Flash""Tahoma""Savanna""Bandito",
    
"Freight Flat""Streak Carriage""Kart""Mower""Dune""Sweeper""Broadway""Tornado""AT-400""DFT-30",
    
"Huntley""Stafford""BF-400""News Van""Tug""Trailer""Emperor""Wayfarer""Euros""Hotdog""Club",
    
"Freight Box""Trailer""Andromada""Dodo""RC Cam""Launch""LSPD Car""SFPD Car""LVPD Car",
    
"Police Rancher""Picador""S.W.A.T""Alpha""Phoenix""Glendale""Sadler""Luggage""Luggage""Stairs",
    
"Boxville""Tiller""Utility Trailer"
};
stock ReturnVehicleModelID(string[])
{
    if(
IsNumeric(string))
    {
        new 
id strval(string);
        if(
id >= 400 && id <= 611)
        {
            return 
id;
        }
    }
    for(new 
0;sizeof(vehName);i++)
    {
        if(
strfind(vehName[i],string,true) != -1)
        {
            return 
400;
        }
    }
    return 
0;
}
stock strvalExstr[ ] )
{
    if( 
strlenstr ) >= 50 ) return -1;
    return 
strvalstr );
}
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;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    new 
cmd[128];
    new 
tmp[128];
    new 
idx;
    new 
string[256];
    
cmd strtok(cmdtextidx);
    if (
strcmp(cmdtext"/setcarvw"true)==0)
    {
        
tmp strtok(cmdtextidx);
        if(!
strlen(tmp))
        {
            return 
1;
        }
        new 
vehid strvalEx(tmp);
        new 
world GetVehicleVirtualWorld(vehid);
        
SetPlayerVirtualWorld(playeridworld);
    }
    if(
strcmp(cmd"/veh"true) == 0)
    {
        
tmp strtok(cmdtextidx);
        if(!
strlen(tmp))
            return 
SendClientMessage(playeridCOLOR_GRAD2"USAGE: /veh [vehicle name/ID] [color1(optional)] [color2(optional)]");
        new 
car ReturnVehicleModelID(tmp);
        if(!
car)
            return 
SendClientMessage(playeridCOLOR_GREY"   Invalid vehicle model name/ID.");
        new 
color1color2;
        
tmp strtok(cmdtextidx);
        if(!
strlen(tmp))
        {
            
color1 = -1;
            
color2 = -1;
        }
        else
        {
            
color1 strval(tmp);
            if(
color1 < -|| color1 200)
                return 
SendClientMessage(playeridCOLOR_GREY"   Enter a valid color [0-200]");
            
tmp strtok(cmdtextidx);
            if(!
strlen(tmp)) color2 color1;
            else 
color2 strval(tmp);
            if(
color2 < -|| color2 200)
                return 
SendClientMessage(playeridCOLOR_GREY"   Enter a valid color [0-200]");
        }
        if(
IsPlayerInAnyVehicle(playerid))
            
RemovePlayerFromVehicle(playerid);
         new    
Float:XFloat:YFloat:ZFloat:A;
        
GetPlayerPos(playeridX,Y,Z);
        
GetPlayerFacingAngle(playerid,A);
        new 
carid CreateVehicle(carX,Y,Z,Acolor1color2, -1);
        
PutPlayerInVehicle(playerid,carid,0);
        
LinkVehicleToInterior(carid,GetPlayerInterior(playerid));
        for(new 
0sizeof(CreatedCars); i++)
        {
            if(
CreatedCars[i] == INVALID_VEHICLE_ID)
            {
                
CreatedCars[i] = carid;
                break;
            }
        }
        return 
1;
    }
    if(
strcmp(cmd"/destroycar"true)== 0)
    {
            new 
currentVehicle GetPlayerVehicleID(playerid);
            if(
currentVehicle == 0) return SendClientMessage(playerid,COLOR_GREY"You must be in a vehicle to destroy it.");
            new 
check;
            for(new 
0sizeof(CreatedCars); i++)
            {
                if(
CreatedCars[i] == currentVehicle)
                {
                    
check 1;
                    
CreatedCars[i] = INVALID_VEHICLE_ID;
                    break;
                }
            }
            if(!
check) return SendClientMessage(playeridCOLOR_GRAD1"You may only destroy a vehicle that was created with /veh.");
            
gDestroyVehicle[currentVehicle] = 1;
            
DestroyVehicle(currentVehicle);
            return 
1;
        }
    }
    if(
strcmp(cmd"/destroycars"true) == 0)
    {
            new 
vehcount 0;
            for(new 
0sizeof(CreatedCars); i++)
            {
                if(
CreatedCars[i] != INVALID_VEHICLE_ID)
                {
                    
vehcount++;
                    
gDestroyVehicle[CreatedCars[i]] = 1;
                    
DestroyVehicle(CreatedCars[i]);
                    
CreatedCars[i] = INVALID_VEHICLE_ID;
                }
            }
            return 
1;
    }
    return 
0;

Reply
#5

no i dont mean to create any other vehicle i only want to bring server car's to me where ever any empty car is of my choice like /vget 562 it get me server elegy that is empty and /vgoto 562 it should teleport me to vehicle id that i specified they should get me server cars not out side cars
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)