destroy vehicle help please
#1

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;
  }
Reply
#2

Код:
#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.
Reply
#3

ok thanks ill try it

Edit....... Nope didnt work it crashes the server as soon as i get off the bike
Reply
#4

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
Reply
#5

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
Reply
#6

Код:
#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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)