Hallo!
Ich habe folgendes Problem:
Ich möchte, dass man ins Krankenhaus kommt wenn man stirbt, da soll dann eine Kamerafahrt sein und danach soll man vor dem Krankenhaus gespawnt werden.
Das ganze funktioniert aber nicht richtig.
Wenn man stirbt, beginnt keine Kamera fahrt und man wird am standart Spawn gespawnt.Außerdem soll ein Pickup erstellt werden, dass wieder gelöscht werden Soll, wenn der Spieler lebt, das wird dann aber nicht mehr gelöscht. Behoben
//OnPlayerDeath
SetPlayerHealth(playerid, 100.0);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
KrankenPickup[playerid]=CreateDynamicPickup(1254, 1, X, Y, Z);
sInfo[playerid][gestorben] = 1;
for(new i=0; i<250; i++)
{
SendClientMessage(playerid, COLOR_WHITE, " ");
}
SpawnPlayer(playerid);
TogglePlayerSpectating(playerid, 1);
InterpolateCameraPos(playerid, 1726.174072, -1268.656860, 31.427850, 1848.518188, -1249.270507, 30.470912, 180000);
InterpolateCameraLookAt(playerid, 1727.962158, -1264.103759, 30.392429, 1844.484863, -1246.447753, 29.596525, 180000);
KrankenTimer[playerid]=SetTimerEx("KHTimer", 180000, 0, "i", playerid);
SendClientMessage(playerid, COLOR_BLUE, "[Info] Die Behandlung wird ca. 3 Minuten dauern!");
public KHTimer(playerid)
{
SpawnPlayer(playerid);
new money2=300, value, string[128];
value = random(99);
money2 += value;
format(string, sizeof(string), "[Info] Die Behandlung hat dich %i€ gekostet!", money2);
SendClientMessage(playerid, COLOR_BLUE, string);
sInfo[playerid][money] -= money2;
SetPlayerMoney(playerid);
sInfo[playerid][gestorben] =0;
return 1;
}
{
SpawnPlayer(playerid);
new money2=300, value, string[128];
value = random(99);
money2 += value;
format(string, sizeof(string), "[Info] Die Behandlung hat dich %i€ gekostet!", money2);
SendClientMessage(playerid, COLOR_BLUE, string);
sInfo[playerid][money] -= money2;
SetPlayerMoney(playerid);
sInfo[playerid][gestorben] =0;
return 1;
}
//OnPlayerSpawn
if(sInfo[playerid][gestorben] == 0)
{
switch(sInfo[playerid][spawnchange])
{
case 0:
{
SetPlayerPos(playerid, 475.2139,-1768.3831,14.1287);
SetPlayerFacingAngle(playerid, 139.3004);
SetCameraBehindPlayer(playerid);
}
}
StopAudioStreamForPlayer(playerid);
TogglePlayerControllable(playerid, 0);
SetTimerEx("Login", 888*3, 0, "i", playerid);
TogglePlayerSpectating(playerid, 0);
}
else
{
SetCameraBehindPlayer(playerid);
DestroyDynamicPickup(KrankenPickup[playerid]);
SetPlayerPos(playerid, 1786.5051,-1230.0046,14.0820);
SetPlayerFacingAngle(playerid,180.5842);
}
if(sInfo[playerid][gestorben] == 0)
{
switch(sInfo[playerid][spawnchange])
{
case 0:
{
SetPlayerPos(playerid, 475.2139,-1768.3831,14.1287);
SetPlayerFacingAngle(playerid, 139.3004);
SetCameraBehindPlayer(playerid);
}
}
StopAudioStreamForPlayer(playerid);
TogglePlayerControllable(playerid, 0);
SetTimerEx("Login", 888*3, 0, "i", playerid);
TogglePlayerSpectating(playerid, 0);
}
else
{
SetCameraBehindPlayer(playerid);
DestroyDynamicPickup(KrankenPickup[playerid]);
SetPlayerPos(playerid, 1786.5051,-1230.0046,14.0820);
SetPlayerFacingAngle(playerid,180.5842);
}
//Ein Problem Behoben