Commands don't appears in-game
#1

Hello,

I added thr "Car Spawner" from Fedee. All works fine at his FS, but nothing from the cmds at my gamemode appears.
I have changed GM to see if it works with other gamemode, but still nothing from the commands appears.
Please help me!
pawn Код:
////////////////////////////////////////////////////////////////////////////////
              //====== SA-MP IN-GAME CAR'S SPAWNER =======//
              //========    Created by: Fedee!    ========//
              //======== Credits to GTAguillaume =========//
////////////////////////////////////////////////////////////////////////////////
#include <a_samp>
////////////////////////////////////////////////////////////////////////////////
#define GELTONA 0xFFFF00FF
#define BALTA 0xFFFFFFFF
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_ORANGE 0xFF9900AA
////////////////////////////////////////////////////////////////////////////////
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
////////////////////////////////////////////////////////////////////////////////
new SpawnedVehicles[MAX_PLAYERS];
new VehicleNames[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"}
};
////////////////////////////////////////////////////////////////////////////////
forward VehicleOccupied(vehicleid);
////////////////////////////////////////////////////////////////////////////////
public OnPlayerCommandText(playerid, cmdtext[])
{
////////////////////////////////////////////////////////////////////////////////
// -------------------------------------------------------------------------- //
// DCMDS                                                                      //
// -------------------------------------------------------------------------- //
////////////////////////////////////////////////////////////////////////////////
    //Car spawn
    dcmd(v,1,cmdtext);
    dcmd(respawncars,11,cmdtext);
    return 1;
}
////////////////////////////////////////////////////////////////////////////////
// -------------------------------------------------------------------------- //
// COMMANDS                                                                   //
// -------------------------------------------------------------------------- //
////////////////////////////////////////////////////////////////////////////////
//Spawn car command
dcmd_v(playerid, params[])
{
        new Index;
        new tmp[256];  tmp  = strtok(params,Index);
        new tmp2[256]; tmp2 = strtok(params,Index);
        new tmp3[256]; tmp3 = strtok(params,Index);
        if(!strlen(tmp)) return
        SendClientMessage(playerid, COLOR_ORANGE, "Usage: /v [modelid/carname] [color1] [color2]");
        new car;
        new string[128];
        new colour1, colour2;
        if(!IsNumeric(tmp))
        car = GetVehicleModelIDFromName(tmp);
        else car = strval(tmp);
        if(car < 400 || car > 611) return  SendClientMessage(playerid, BALTA, "ERROR: Invalid modelid/carname!");
        if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
        if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);

        if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
        new Float:X,Float:Y,Float:Z;
        new Float:Angle,int1;
        new LVehicleID = GetPlayerVehicleID(playerid);
        GetPlayerPos(playerid, X,Y,Z);
        GetPlayerFacingAngle(playerid,Angle);
        int1 = GetPlayerInterior(playerid);
        SpawnedVehicles[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
        LinkVehicleToInterior(LVehicleID,int1);
        PlayerPlaySound(playerid,1085,0,0,0);
        PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0);
        format(string, sizeof(string), "~g~You Spawned a %s ~b~(Model ID: %d) ~n~~y~with colours: %d,%d", VehicleNames[car-400], car, colour1, colour2);
        return GameTextForPlayer(playerid,string,7500,1);
}
//Car respawn command
dcmd_respawncars(playerid,params[])
{
    #pragma unused params
    SendClientMessage(playerid, COLOR_GREY, "Vehicles respawned.");
    GameTextForAll("~n~~n~~n~~n~~n~~n~~r~Vehicles ~g~respawned by Admin.", 3000,3);
    for(new cars=0; cars<MAX_VEHICLES; cars++)
    {
        if(!VehicleOccupied(cars))
        {
            SetVehicleToRespawn(cars);
        }
    }
    return 1;
}
////////////////////////////////////////////////////////////////////////////////
public OnPlayerDisconnect(playerid)
{
    DestroyVehicle(SpawnedVehicles[playerid]);
    SpawnedVehicles[playerid] = 0;
    return 0;
}
////////////////////////////////////////////////////////////////////////////////
GetVehicleModelIDFromName(vname[])
{
    for(new i = 0; i < 211; i++)
    {
    if ( strfind(VehicleNames[i], vname, true) != -1 )
    return i + 400;
    }
    return -1;
}
////////////////////////////////////////////////////////////////////////////////
stock IsNumeric(string[])
{
    for (new i = 0, j = strlen(string);
    i < j; i++)
    {
    if (string[i] > '9' || string[i] < '0')
    return 0;
    }
    return 1;
}
////////////////////////////////////////////////////////////////////////////////
stock strtok(const str[], &index)
{
    new length = strlen(str);
    while ((index < length) && (str[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (str[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = str[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
////////////////////////////////////////////////////////////////////////////////
public VehicleOccupied(vehicleid)
{
    for(new i=0;i<MAX_PLAYERS;i++)
    {
        if(IsPlayerInVehicle(i,vehicleid)) return 1;
    }
    return 0;
}
///////////////////////////////////////////////////////////////
Reply
#2

Anyone?
Reply
#3

And what do you mean with commands dont appear?
Reply
#4

i had the same issue untill i found out that i used the wrong command input which wont show up in game make sure you have everything needed
Reply
#5

OnPlayerCommandText should return 0:

Change
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
////////////////////////////////////////////////////////////////////////////////
// -------------------------------------------------------------------------- //
// DCMDS                                                                      //
// -------------------------------------------------------------------------- //
////////////////////////////////////////////////////////////////////////////////
    //Car spawn
    dcmd(v,1,cmdtext);
    dcmd(respawncars,11,cmdtext);
    return 1;
}
to
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
////////////////////////////////////////////////////////////////////////////////
// -------------------------------------------------------------------------- //
// DCMDS                                                                      //
// -------------------------------------------------------------------------- //
////////////////////////////////////////////////////////////////////////////////
    //Car spawn
    dcmd(v,1,cmdtext);
    dcmd(respawncars,11,cmdtext);
    return 0;
}
Reply
#6

yep ^^^^^^^^^ or you can change
pawn Код:
return 0;
To:

pawn Код:
return SendClientMessage(playerid,color,"what ever you want your error text to be");
Reply
#7

Quote:
Originally Posted by DaRkAnGeL[NBK]
Посмотреть сообщение
yep ^^^^^^^^^ or you can change
pawn Код:
return 0;
To:

pawn Код:
return SendClientMessage(playerid,color,"what ever you want your error text to be");
No, SendClientMessage returns 1.
Reply
#8

Quote:
Originally Posted by costel_nistor96
Посмотреть сообщение
No, SendClientMessage returns 1.
DaRkAnGeL[NBK] is right.

return SendClientMessage(playerid, -1, "Sorry, the command does not exist, Please use /CMDS"); will return TRUE and also SHOW the message. Which will hide the actual: "SERVER: Unknown Command."

What you basically did is replaced the default error message with your own one.
Reply
#9

Thank you all!
The
Код:
return 0;
works fine and the OnPlayerCommand appears
Reply
#10

Quote:
Originally Posted by iPLEOMAX
Посмотреть сообщение
DaRkAnGeL[NBK] is right.

return SendClientMessage(playerid, -1, "Sorry, the command does not exist, Please use /CMDS"); will return TRUE and also SHOW the message. Which will hide the actual: "SERVER: Unknown Command."

What you basically did is replaced the default error message with your own one.
thanks man glad someone understands
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)