25.11.2009, 04:14
That same method of vehicle checking is used in GF/PEN and it SUCKS! That means every single time you add/remove a vehicle you have to recalculate all of those functions.
Here's what I would use
Then you would never have to worry about changing anything ever again, and you could also create ownable cars midgame using something like this
Here's what I would use
pawn Код:
//Up top
new OwnableVehicle[MAX_VEHICLES];
new gOwnableVehicles; //Just an integer to keep track of how many you have
// Example OnGameModeInit
public OnGameModeInit()
{
OwnableVehicle[gOwnableVehicles]=CreateVehicle(522,0,0,0,-1,-1);gOwnableVehicles++; //Creates the vehicle and adds 1 to gOwnableVehicles
OwnableVehicle[gOwnableVehicles]=CreateVehicle(411,0,0,0,-1,-1);gOwnableVehicles++;
OwnableVehicle[gOwnableVehicles]=CreateVehicle(487,0,0,0,-1,-1);gOwnableVehicles++;
}
public IsanOwnableCar(vehicleid)
{
for(new o; o<gOwnableVehicles;o++)if(OwnableVehicle[o]==vehicleid)return 1;
return 0;
}
pawn Код:
public OnPlayerCommandText(playerid,cmdtext[])
{
if(!strcmp(cmdtext[1],"ownveh",true,6))
{
if((strval(cmdtext[8])>612)||(strval(cmdtext[8]<400))return SendClientMessage(playerid,0xFF0000FF,"Invalid Vehicle Type!");
if(gOwnableVehicles>=MAX_VEHICLES)return 0; //If for some reason you have more ownable vehicles than you do none-ownable vehicles
OwnableVehicle[gOwnableVehicles]=CreateVehicle(strval(cmdtext[8]),X,Y,Z,-1,-1);
gOwnableVehicles++;
return SendClientMessage(playerid,0xFF0000FF,"OwnableVehicle Created!");
}
}