08.08.2009, 17:57
Here is my original filter script that adds nitro to vehicles when you enter them:
#include <a_samp>
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print("Tpg");
print("--------------------------------------\n");
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
AddVehicleComponent(vehicleid, 1010);
return 1;
}
but when you enter vehicles that can't have nos, it crashes. so i tried changing it to this:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
for(new i = 0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerInInvalidNosVehicle(i,GetPlayerVehicle ID(i)))
{
new vehicle = GetPlayerVehicleID(i);
AddVehicleComponent(vehicle, 1010);
}
}
}
IsPlayerInInvalidNosVehicle(playerid,vehicleid)
{
#define MAX_INVALID_NOS_VEHICLES 29
new InvalidNosVehicles[MAX_INVALID_NOS_VEHICLES] =
{
581,523,462,521,463,522,461,448,468,586,
509,481,510,472,473,493,595,484,430,453,
452,446,454,590,569,537,538,570,449
};
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid,vehicleid))
{
for(new i = 0; i < MAX_INVALID_NOS_VEHICLES; i++)
{
if(GetVehicleModel(vehicleid) == InvalidNosVehicles[i])
{
return true;
}
}
}
return false;
}
(thanks bert for help with this)but it has seven errors:
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(13) : warning 235: public function lacks forward declaration (symbol "OnPlayerEnterVehicle")
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(3) : error 017: undefined symbol "MAX_PLAYERS"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(5) : error 017: undefined symbol "GetPlayerVehicleID"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(7) : error 017: undefined symbol "GetPlayerVehicleID"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(
: warning 217: loose indentation
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(
: error 017: undefined symbol "AddVehicleComponent"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(7) : warning 204: symbol is assigned a value that is never used: "vehicle"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(24) : error 017: undefined symbol "GetPlayerVehicleID"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(26) : error 017: undefined symbol "IsPlayerInVehicle"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(30) : error 017: undefined symbol "GetVehicleModel"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(24) : warning 204: symbol is assigned a value that is never used: "vehicleid"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(13) : warning 203: symbol is never used: "playerid"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
7 Errors.
Please help!
#include <a_samp>
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print("Tpg");
print("--------------------------------------\n");
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
AddVehicleComponent(vehicleid, 1010);
return 1;
}
but when you enter vehicles that can't have nos, it crashes. so i tried changing it to this:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
for(new i = 0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerInInvalidNosVehicle(i,GetPlayerVehicle ID(i)))
{
new vehicle = GetPlayerVehicleID(i);
AddVehicleComponent(vehicle, 1010);
}
}
}
IsPlayerInInvalidNosVehicle(playerid,vehicleid)
{
#define MAX_INVALID_NOS_VEHICLES 29
new InvalidNosVehicles[MAX_INVALID_NOS_VEHICLES] =
{
581,523,462,521,463,522,461,448,468,586,
509,481,510,472,473,493,595,484,430,453,
452,446,454,590,569,537,538,570,449
};
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid,vehicleid))
{
for(new i = 0; i < MAX_INVALID_NOS_VEHICLES; i++)
{
if(GetVehicleModel(vehicleid) == InvalidNosVehicles[i])
{
return true;
}
}
}
return false;
}
(thanks bert for help with this)but it has seven errors:
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(13) : warning 235: public function lacks forward declaration (symbol "OnPlayerEnterVehicle")
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(3) : error 017: undefined symbol "MAX_PLAYERS"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(5) : error 017: undefined symbol "GetPlayerVehicleID"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(7) : error 017: undefined symbol "GetPlayerVehicleID"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(

C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(

C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(7) : warning 204: symbol is assigned a value that is never used: "vehicle"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(24) : error 017: undefined symbol "GetPlayerVehicleID"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(26) : error 017: undefined symbol "IsPlayerInVehicle"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(30) : error 017: undefined symbol "GetVehicleModel"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(24) : warning 204: symbol is assigned a value that is never used: "vehicleid"
C:\Documents and Settings\Administrator\Desktop\SAMP\sampserver\fil terscripts\SSnSCars.pwn(13) : warning 203: symbol is never used: "playerid"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
7 Errors.
Please help!