PDA

View Full Version : Commands don't appears in-game


Kostas'
08/10/2011, 05:57 PM
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!

////////////////////////////////////////////////////////////////////////////////
//====== 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;
}
///////////////////////////////////////////////////////////////

Kostas'
09/10/2011, 03:19 PM
Anyone?

Wesley221
09/10/2011, 03:23 PM
And what do you mean with commands dont appear?

DaRkAnGeL[NBK]
09/10/2011, 05:33 PM
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

IstuntmanI
09/10/2011, 05:39 PM
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;
}

DaRkAnGeL[NBK]
09/10/2011, 05:42 PM
yep ^^^^^^^^^ or you can change
return 0;

To:

return SendClientMessage(playerid,color,"what ever you want your error text to be");

IstuntmanI
09/10/2011, 05:46 PM
;1451381']yep ^^^^^^^^^ or you can change
return 0;

To:

return SendClientMessage(playerid,color,"what ever you want your error text to be");

No, SendClientMessage returns 1.

iPLEOMAX
09/10/2011, 05:59 PM
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.

Kostas'
09/10/2011, 06:35 PM
Thank you all!
The
return 0;
works fine and the OnPlayerCommand appears :)

DaRkAnGeL[NBK]
09/10/2011, 06:39 PM
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