#define Max_Bomben 5
enum bomben
{
bobjectid
};
new bombe[Max_Bomben][bomben];
stock Bombe(playerid)
{
new Float:VBPos[3];
GetVehiclePos(GetPlayerVehicleID(playerid),VBPos[0],VBPos[1],VBPos[2]);
new b = FindFreeBombe();
if(b==-1)return SendClientMessage(playerid,-1,"Es sind schon zu viele Bomben unterwegs, warte bitte noch");
bombe[b][bobjectid]=CreateObject(980, VBPos[0],VBPos[1],VBPos[2]-3, 0.0, 0.0, 0.0);// id und evt, die z Achse anpassen falls es im Flugzeug stuckt und die Rotation evt auch
//Create muss über MapAndreas, da sonst z Achse schon veränder ist
MapAndreas_FindZ_For2DCoord(VBPos[0], VBPos[1], VBPos[2]);
new movetime = MoveObject(bombe[b][bobjectid], VBPos[0], VBPos[1], VBPos[2], 2.00);// speed evt anpassen :D
movetime -= 500;//weil Millisekunden und dadrurch sah die Explosion Smoother aus aber evt. apasssen bei deinen Object dann
SetTimerEx("EinSchlag", movetime, false, "ifff", b,VBPos[0], VBPos[1], VBPos[2]);
return 1;
}
forward EinSchlag(b,Float:x,Float:y,Float:z);
public EinSchlag(b,Float:x,Float:y,Float:z)
{
CreateExplosion(x,y,z, 7, 20.0);
DestroyObject(bombe[b][bobjectid]);
bombe[b][bobjectid]=0;
return 1;
}
stock FindFreeBombe()
{
for(new i=0;i<Max_Bomben;i++)
{
if(bombe[i][bobjectid]==0)return i;
}
return -1;
}
Hier zu ist zu sagen, das auf dem Server mindestens 1 Obejct schon geladen werden muss da sonst der Id 0 bug für das Enum eintrifft (meines wissen's nach