[AJUDA]Comando /car
#1

Galera eu queria uma ajuda nesse comando /car ele deveria criar o veiculo tanto por id tanto pelos nomes mais eu nгo estou conseguindo fazer criar pelos nomes so pelo id e eu queria que se o player digitace o comando sem citar as cores ele criace o veiculo normalmente na cor 2

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"},{"іІ№іЈ№І"},{"Premier"},{"Enforcer"},
    {"Securicar"},{"Banshee"},{"Predator"},{"Bus"},{"ЈіЈ№Іі№ІЈ"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},{"Coach"},
    {"Cabbie"},{"Stallion"},{"Rumpo"},{"і№ІЈ№ІЈ№Іі"},{"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"},{"іІ№Ј№"},{"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;
    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, "/car", true) == 0 || strcmp(cmd, "/veh", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, -1, "[STR] » Use /car [Nome/ID] [cor1] [cor2]");
            return 1;
        }
        new
            veiculo = strval(tmp);
        if(veiculo < 400 || veiculo > 611)
        {
            SendClientMessage(playerid, 0xFF3300AA, "[STR] » Este veiculo nгo existe");
            return 1;
        }
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, -1, "[STR] » Use /car [Nome/ID] [cor1] [cor2]");
            return 1;
        }
        new
            color1 = strval(tmp);
        tmp = strtok(cmdtext, idx);
        new
            color2 = strval(tmp);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, -1, "[STR] » Use /car [Nome/ID] [cor1] [cor2]");
            return 1;
        }
        DestroyVehicle(VeiculoID[playerid]);
        vModel = CreateVehicle(veiculo, ppos[0], ppos[1], ppos[2], 360, color1, color2, -1);
        SetVehicleVirtualWorld(VeiculoID[playerid], GetPlayerVirtualWorld(playerid));
        PutPlayerInVehicle(playerid, vModel, 0);
        VeiculoID[playerid] = GetPlayerVehicleID(playerid);
        format(gstring, sizeof(gstring), "[STR] » Veiculo %s | Modelo %d | Cor %d %d", 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;
    }
    return 0;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(IsPlayerInAnyVehicle(playerid))
    {
        if(GetPlayerVehicleID(playerid) == VeiculoID[playerid])
        {
            format(gstring, sizeof(gstring),"[STR] » %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), "[STR] » Esse veнculo pertence а %s e vocк nгo pode dirigi-lo! {99FF66}( Crie o seu usando: /car )", 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;
}

Valendo REP
Reply
#2

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"},{"іІ№іЈ№І"},{"Premier"},{"Enforcer"},
    {"Securicar"},{"Banshee"},{"Predator"},{"Bus"},{"ЈіЈ№Іі№ІЈ"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},{"Coach"},
    {"Cabbie"},{"Stallion"},{"Rumpo"},{"і№ІЈ№ІЈ№Іі"},{"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"},{"іІ№Ј№"},{"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;
    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, "/car", true) == 0 || strcmp(cmd, "/veh", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, -1, "[STR] » Use /car [Nome/ID] [cor1] [cor2]");
            return 1;
        }
        new veiculo;
        if(!IsNumeric(tmp)) {
            veiculo = GetVehicleModelID(tmp);
        }
        else {
            veiculo = strval(tmp);
        }
        if(veiculo < 400 || veiculo > 611)
        {
            SendClientMessage(playerid, 0xFF3300AA, "[STR] » Este veiculo nгo existe");
            return 1;
        }
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, -1, "[STR] » Use /car [Nome/ID] [cor1] [cor2]");
            return 1;
        }
        new
            color1 = strval(tmp);
        tmp = strtok(cmdtext, idx);
        new
            color2 = strval(tmp);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, -1, "[STR] » Use /car [Nome/ID] [cor1] [cor2]");
            return 1;
        }
        DestroyVehicle(VeiculoID[playerid]);
        vModel = CreateVehicle(veiculo, ppos[0], ppos[1], ppos[2], 360, color1, color2, -1);
        SetVehicleVirtualWorld(VeiculoID[playerid], GetPlayerVirtualWorld(playerid));
        PutPlayerInVehicle(playerid, vModel, 0);
        VeiculoID[playerid] = GetPlayerVehicleID(playerid);
        format(gstring, sizeof(gstring), "[STR] » Veiculo %s | Modelo %d | Cor %d %d", 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;
    }
    return 0;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(IsPlayerInAnyVehicle(playerid))
    {
        if(GetPlayerVehicleID(playerid) == VeiculoID[playerid])
        {
            format(gstring, sizeof(gstring),"[STR] » %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), "[STR] » Esse veнculo pertence а %s e vocк nгo pode dirigi-lo! {99FF66}( Crie o seu usando: /car )", 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;
}

stock IsNumeric(string[])
{
    for (new i = 0, j = strlen(string);
    i < j; i++)
    {
        if (string[i] > '9' || string[i] < '0')
        return 0;
    }
    return 1;
}
Reply
#3

Putz vllw zbt como prometido ai ta o +rep tem como fazer aquilo que eu disse acima? tipo quando o player digitar /car [nome/id] sem as cores ele cria na cor 3 3 ?
Reply
#4

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"},{"іІ№іЈ№І"},{"Premier"},{"Enforcer"},
    {"Securicar"},{"Banshee"},{"Predator"},{"Bus"},{"ЈіЈ№Іі№ІЈ"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},{"Coach"},
    {"Cabbie"},{"Stallion"},{"Rumpo"},{"і№ІЈ№ІЈ№Іі"},{"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"},{"іІ№Ј№"},{"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;
    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, "/car", true) == 0 || strcmp(cmd, "/veh", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, -1, "[STR] » Use /car [Nome/ID] [cor1] [cor2]");
            return 1;
        }
        new veiculo;
        if(!IsNumeric(tmp)) {
            veiculo = GetVehicleModelID(tmp);
        }
        else {
            veiculo = strval(tmp);
        }
        if(veiculo < 400 || veiculo > 611)
        {
            SendClientMessage(playerid, 0xFF3300AA, "[STR] » Este veiculo nгo existe");
            return 1;
        }
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            DestroyVehicle(VeiculoID[playerid]);
            vModel = CreateVehicle(veiculo, ppos[0], ppos[1], ppos[2], 360, 3, 3, -1);
            SetVehicleVirtualWorld(VeiculoID[playerid], GetPlayerVirtualWorld(playerid));
            PutPlayerInVehicle(playerid, vModel, 0);
            VeiculoID[playerid] = GetPlayerVehicleID(playerid);
            format(gstring, sizeof(gstring), "[STR] » Veiculo %s | Modelo %d | Cor 3 3", Veiculos[GetVehicleModel(vModel)-400], veiculo);
            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;
        }
        new
            color1 = strval(tmp);
        tmp = strtok(cmdtext, idx);
        new
            color2 = strval(tmp);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, -1, "[STR] » Use /car [Nome/ID] [cor1] [cor2]");
            return 1;
        }
        DestroyVehicle(VeiculoID[playerid]);
        vModel = CreateVehicle(veiculo, ppos[0], ppos[1], ppos[2], 360, color1, color2, -1);
        SetVehicleVirtualWorld(VeiculoID[playerid], GetPlayerVirtualWorld(playerid));
        PutPlayerInVehicle(playerid, vModel, 0);
        VeiculoID[playerid] = GetPlayerVehicleID(playerid);
        format(gstring, sizeof(gstring), "[STR] » Veiculo %s | Modelo %d | Cor %d %d", 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;
    }
    return 0;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(IsPlayerInAnyVehicle(playerid))
    {
        if(GetPlayerVehicleID(playerid) == VeiculoID[playerid])
        {
            format(gstring, sizeof(gstring),"[STR] » %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), "[STR] » Esse veнculo pertence а %s e vocк nгo pode dirigi-lo! {99FF66}( Crie o seu usando: /car )", 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;
}

stock IsNumeric(string[])
{
    for (new i = 0, j = strlen(string);
    i < j; i++)
    {
        if (string[i] > '9' || string[i] < '0')
        return 0;
    }
    return 1;
}
Reply
#5

ZBT cara vc й mt foda muleke merece outro REp vlw mesmo cara
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)