Help! fucking errors!
#1

Hello Guys!
I tried to script a vehicle spawner like a carcolor command
and thats the result:



#include <a_samp>

#define COLOR_GREEN 0x33AA33AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_WHITE 0xFFFFFFAA

public OnFilterScriptInit()
{
print("\n");
print("=======================================");
print(" VehS Command");
print("=======================================");
print("\n");
return 1;
}

public OnFilterScriptExit()
{
return 1;
}


new SpawnedVehicles[MAX_PLAYERS];
new VehicleNames[212][] = {
{"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunn er"},{"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"},{"Barra cks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"R C Bandit"},{"Romero"},{"Packer"},{"Monster"},
{"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"} ,{"Tram"},{"Trailer 2"},{"Turismo"},
{"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Ya nkee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
{"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
{"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coa stguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
{"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Bu rrito"},{"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"},{"Vinc ent"},{"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"},{"R C Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
{"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweep er"},
{"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 OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256], idx;
cmd = strtok(cmdtext, idx);

if(!strcmp(cmd, "/v", true))
{
if(GetPlayerMoney(playerid) > 15000)
{
new tmp[256];
tmp = strtok(cmdtext, idx);
new car;
new colour1, colour2;
if(!strlen(tmp)) return
SendClientMessage(playerid, COLOR_WHITE, "Info: /v [id/nome]");
if(!IsNumeric(tmp))
car = GetVehicleModelIDFromName(tmp);
else car = strval(tmp);
if(car < 400 || car > 611) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Nome non corretto! Riprova.");
if(!strlen(tmp)) colour1 = random(126);
if(!strlen(tmp)) colour2 = random(126);
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);
GivePlayerMoney(playerid, -15000);
SendClientMessage(playerid,COLOR_GREEN, "Ecco qua! Veicolo consegnato. Costo 15000$");
}
else
{
SendClientMessage(playerid, COLOR_BRIGHTRED, "Fanculo!! Niente soldi? Niente da Fare!");
}
return 1;
}
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;
}
////////////////////////////////////////////////////////////////////////////////
Errors:


C:\DOCUME~1\casa\DOCUME~1\DOWNLO~1\SERVER~1\_FS_BA ~1\VehS.pwn(60) : error 017: undefined symbol "strtok"
C:\DOCUME~1\casa\DOCUME~1\DOWNLO~1\SERVER~1\_FS_BA ~1\VehS.pwn(60) : error 033: array must be indexed (variable "cmd")
C:\DOCUME~1\casa\DOCUME~1\DOWNLO~1\SERVER~1\_FS_BA ~1\VehS.pwn(67) : error 017: undefined symbol "strtok"
C:\DOCUME~1\casa\DOCUME~1\DOWNLO~1\SERVER~1\_FS_BA ~1\VehS.pwn(67) : error 033: array must be indexed (variable "tmp")
C:\DOCUME~1\casa\DOCUME~1\DOWNLO~1\SERVER~1\_FS_BA ~1\VehS.pwn(59) : warning 203: symbol is never used: "idx"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.

Someone can help me pls?
Reply
#2

My eyes O.O Use dcmd (I use dcmd) or zcmd.

If you use dcmd or zcmd insted of strcmp, im sure that you not will get those errors

Anyway, i think this should fix some errors
pawn Код:
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;
}
EDIT: use sscanf + dcmd or zcmd
Reply
#3

The old stuff is way better. ahahahaahah
Now this works, thank u dude.
Reply
#4

Hahah xD Old School Style, i see xD
Glad i could help :P
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)