destroy vehicle help please -
madman227 - 19.04.2009
Does any one know how to get this to work all i can get it to do is display the message and not destroy the vehicle
Код:
#include <a_samp>
#include <seif_vehicles>
forward destroyspawnedvehicle(playerid,vehicleid);
#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
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(nrg,3,cmdtext);
return 0;
}
new starttimer1;
dcmd_nrg(playerid,params[])
{
new Float:X,Float:Y,Float:Z,Float:Angle,veh;
if(!strlen(params))
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
veh = CreateVehicle(522,X,Y,Z,Angle,-1,-1,-1);
PutPlayerInVehicle(playerid,veh,0);
starttimer1 = SetTimer("destroyspawnedvehicle", 520, 1);
return 1;
}
public destroyspawnedvehicle(playerid,vehicleid)
{
new veh;
veh = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid,veh)){
} else {
DestroyVehicle(vehicleid);
GameTextForPlayer(playerid, "~g~Vehicle Destroyed!!", 7000, 5);
KillTimer(starttimer1);
}
return 1;
}
Re: destroy vehicle help please -
Blacklite - 19.04.2009
Код:
#include <a_samp>
#include <seif_vehicles>
forward destroyspawnedvehicle(playerid,vehicleid);
#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
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(nrg,3,cmdtext);
return 0;
}
dcmd_nrg(playerid,params[])
{
new Float:X,Float:Y,Float:Z,Float:Angle,veh;
if(!strlen(params))
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
veh = CreateVehicle(522,X,Y,Z,Angle,-1,-1,-1);
PutPlayerInVehicle(playerid,veh,0);
SetTimerEx("destroyspawnedvehicle", 520, 0, "%i%i", playerid, veh); // use SetTimerEx to set a timer with variables like this
return 1;
}
public destroyspawnedvehicle(playerid,vehicleid)
{
DestroyVehicle(vehicleid);
GameTextForPlayer(playerid, "~g~Vehicle Destroyed!!", 7000, 5);
return 1;
}
Most of the code you wrote isn't needed, I have trimmed it out.
Re: destroy vehicle help please -
madman227 - 20.04.2009
ok thanks ill try it
Edit....... Nope didnt work it crashes the server as soon as i get off the bike
Re: destroy vehicle help please -
Joe Staff - 20.04.2009
it isn't "%i%i" it's "ii"
And you shouldn't delete a vehicle when you're on it, that can sometimes cause your player to appear invisible to others. SetPlayerPos near the vehicle before hand
Re: destroy vehicle help please -
madman227 - 20.04.2009
the ii fixed the crash problem but it destroyes the bike as soon as its spawns now and what im trying to do is spawn a bike and as soon as i get off it the timer destroys the bike
Re: destroy vehicle help please -
Blacklite - 20.04.2009
Код:
#include <a_samp>
#include <seif_vehicles>
forward destroyspawnedvehicle(playerid,vehicleid);
#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
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(nrg,3,cmdtext);
return 0;
}
dcmd_nrg(playerid,params[])
{
new Float:X,Float:Y,Float:Z,Float:Angle,veh;
if(!strlen(params))
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
veh = CreateVehicle(522,X,Y,Z,Angle,-1,-1,-1);
PutPlayerInVehicle(playerid,veh,0);
SetTimerEx("destroyspawnedvehicle", 520000, 0, "ii", playerid, veh); // use SetTimerEx to set a timer with variables like this
return 1;
}
public destroyspawnedvehicle(playerid,vehicleid)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
DestroyVehicle(vehicleid);
GameTextForPlayer(playerid, "~g~Vehicle Destroyed!!", 7000, 5);
return 1;
}
Should work now.