Heyho,
Ich arbeite derzeit an einem Truckerscript und stehe vor folgendem Problem:
Ich lasse den Truck per Befehl(/duty) erstellen(CreateVehicle) und setze den Spieler hinein.
Explodiert der Truck jedoch, bekomme ich keine meldung, dass mein Truck explodiert sei und ich respawnt werde(Eigener text)
Mein OnVehicleDeath Snippet:
public OnVehicleDeath(vehicleid, killerid)
{
new playerd = GetPlayerIdByVehicleId(vehicleid);
if(vehicleid == Truck[playerd])
{
SendClientMessage(playerd, 0xFFFFFF, "Dein Truck wurde zerstört, du wirst nun zum Spawn geportet.");
Truck[playerd] = 0;
}
if(vehicleid == Trailer[playerd])
{
SendClientMessage(playerd, 0xFFFFFF, "Dein Trailer wurde zerstört. Du kannst einen neuen mit /trailer in der Base anfordern.");
Trailer[playerd] = 0;
}
}
stock GetPlayerIdByVehicleId(vehicleid)
{
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(!IsPlayerConnected(i))continue;
if(vehicleid == GetPlayerVehicleID(i))return i;
}
return -1;
}
Alles anzeigen
Frage 2:
Wie mache ich es möglich, dass der Truck nach einer Explosion(oder Wasser etc..) nicht mehr spawnt?
Ich speichere die Modelid mit Truck[playerid].
Danke jedenfalls im Vorraus für jede Hilfe.
Freundliche grüße
Domi
PS: Ja, ich bin nicht gut in Pawno...
Edit:
Befehl /duty:
CMD:duty(playerid,params[])
{
if(Truck[playerid] != 0)
{
DestroyVehicle(Truck[playerid]);
Truck[playerid] = CreateVehicle(515,-491.5083,-523.4584,25.9628,180.8332, 0, 0, -1);
PutPlayerInVehicle(playerid, Truck[playerid], 0);
}
if(GetPlayerTeam(playerid) == TEAM_TRUCKER)
{
if(Truck[playerid] != 0)
{
DestroyVehicle(Truck[playerid]);
Truck[playerid] = CreateVehicle(515,-491.5083,-523.4584,25.9628,180.8332, 0, 0, -1);
PutPlayerInVehicle(playerid, Truck[playerid], 0);
}
if(Truck[playerid] == 0)
{
Truck[playerid] = CreateVehicle(515,-491.5083,-523.4584,25.9628,180.8332, 0, 0, -1);
PutPlayerInVehicle(playerid, Truck[playerid], 0);
}
}
return 1;
}
Alles anzeigen