Krankenhaus Spawn funktioniert nicht

  • Hallo zusammen,
    Wenn man stirbt kommt das Login Fenster anstatt das man im Krankenhaus spawnt.



    public OnPlayerSpawn(playerid)
    {
    new string[256];
    SetPlayerMapIcon(playerid, 1, 1544.4790,-1673.6595,13.5585, 30, GELB); // LSPD
    SetPlayerMapIcon(playerid, 2, 1480.9323,-1767.7324,18.7958, 38, GELB); // Stadthalle
    SetPlayerMapIcon(playerid, 3, 1176.0037,-1326.3264,13.9999, 22, GELB); // Krankenhaus
    SetPlayerMapIcon(playerid, 5, 1003.2296,-936.9583,42.3354, 42, GELB); // BSN Tanke
    SetPlayerMapIcon(playerid, 6, -91.6243,-1170.1760,2.4145, 42, GELB); // LS-SF Tanke
    SetPlayerMapIcon(playerid, 7, -2025.4976,156.6423,28.8359, 42, GELB); // SF Hafen Tanke
    SetPlayerMapIcon(playerid, 8, 2115.7598,920.4518,10.8203, 42, GELB); // LV Ammu Tanke
    SetPlayerMapIcon(playerid, 9, 655.1419,-564.7432,16.3359, 42, GELB); // Dillmore Tanke
    SetPlayerMapIcon(playerid, 10, 1596.0321,2198.6726,10.5256, 42, GELB); // LV Tanke
    SetPlayerMapIcon(playerid, 11, 1114.9974,-1297.4119,13.7144, 42, GELB); //KH Tanke
    SetPlayerMapIcon(playerid, 12, -1628.0029,651.6329,6.8932, 42, GELB); //SFPD Tanke
    SetPlayerMapIcon(playerid, 13, 1543.9258,-1609.9548,12.9464, 42, GELB); // LSPD Tanke
    SetPlayerMapIcon(playerid, 14, -1327.9417,2677.3276,49.7678, 42, GELB); // LV Tanke
    SetPlayerMapIcon(playerid, 15, 1366.3171,-1279.6683,13.5469, 18, GELB); //Waffenladen
    SetPlayerMapIcon(playerid, 16, 1464.0879,-1031.8586,23.8922, 52, GELB); //LS Bank
    SetPlayerMapIcon(playerid, 17, 2061.2505,-1886.8424,16.8752, 36, GELB); //Fahrschule
    SetPlayerMapIcon(playerid, 19, 70.4484,1219.2515,18.5172, 42, GELB); //Tanke außerhalb von LS
    SetPlayerMapIcon(playerid, 20, 1381.8209,462.8659,19.8424, 42, GELB); //Tanke in LV
    SetPlayerMapIcon(playerid, 21, -1347.2850,459.4279,6.7522, 42, GELB); //Army Tanke
    SetPlayerMapIcon(playerid, 22, -1676.1210,412.5870,6.9054, 42, GELB); //Tanke gegenüber von Army
    SetPlayerMapIcon(playerid, 23, 776.3939,-1351.9756,13.2436, 55, GELB); //Billigautohaus
    SetPlayerMapIcon(playerid, 24, 2127.9531,-1127.1896,25.2422, 55, GELB); //Bikeautohaus
    SetPlayerMapIcon(playerid, 25, -1973.4039,284.3802,34.8771, 55, GELB); //Luxusautohaus
    SetPlayerMapIcon(playerid, 26, -2056.6167,454.3479,35.1719, 52, GELB); //SF Bank
    SetPlayerMapIcon(playerid, 27, 2273.7500,2450.3140,46.9766, 30, GELB); //LVPD
    SetPlayerMapIcon(playerid, 28, -1607.9067,681.0796,-5.2422, 30, GELB); //SFPD
    SetPlayerMapIcon(playerid, 29, -2661.3589,622.8655,14.4531, 22, GELB); //SF Krankenhaus
    SetPlayerMapIcon(playerid, 30, -2766.5366,375.5697,6.3347, 38, GELB); //SF Stadthalle
    SetPlayerMapIcon(playerid, 31, -2519.4587,1215.5695,37.4283, 36, GELB); //SF Fahrschule
    SetPlayerMapIcon(playerid, 32, 962.2885,1735.0990,8.6484, 36, GELB); //LV Fahrschule
    SetPlayerMapIcon(playerid, 33, 2375.8191,2308.9973,8.1406, 38, GELB); //LV Stadthalle
    SetPlayerMapIcon(playerid, 34, 2447.6890,2376.0242,12.1635, 52, GELB); //LV Bank
    SetPlayerMapIcon(playerid, 35, 2242.8030,-1663.7587,15.4766, 45, GELB); //Binco LS grove street
    SetPlayerMapIcon(playerid, 36, 1941.4962,-1769.1779,13.6406, 42, GELB); //Alhambra Tankstelle (Idelwood)
    SetPlayerMapIcon(playerid, 37, -2233.0403,-2558.2966,31.9219, 42, GELB); //Angelpine Tankstelle
    SetPlayerMapIcon(playerid, 38, -1608.5887,-2715.7720,48.9453, 42, GELB); //Whetstone Tankstelle
    SetPlayerMapIcon(playerid, 39, -1470.0267,1864.5287,32.6328, 42, GELB); //Tierra Robada Tankstelle
    SetPlayerMapIcon(playerid, 40, -2410.8398,973.2244,45.4609, 42, GELB); //Juniper hill Tankstelle
    SetPlayerMapIcon(playerid, 41, 615.9429,1690.1908,6.9922, 42, GELB); //Bone Conuty Tankstelle
    SetPlayerMapIcon(playerid, 42, 2637.5703,1116.1748,10.8203, 42, GELB); //Come A Lot Tankstelle
    SetPlayerMapIcon(playerid, 43, 2190.5928,2470.4636,11.2422, 42, GELB); //Emerald Tankstelle
    SetPlayerMapIcon(playerid, 44, 2153.2043,2736.5422,11.1763, 42, GELB); //Spinybed Tankstelle
    GangZoneShowForPlayer(playerid,NoDMSH,ROT);
    GangZoneShowForPlayer(playerid,NoDMNoob,ROT);
    GangZoneShowForPlayer(playerid,NoDMSHLV,ROT);
    GangZoneShowForPlayer(playerid,NoDMNoobSf,ROT);
    GangZoneShowForPlayer(playerid,NoDMNoobLV,ROT);
    GangZoneShowForPlayer(playerid,NoDMSFSH,ROT);
    GangZoneShowForPlayer(playerid,GSZone,GRÜN);
    GangZoneShowForPlayer(playerid,VZone,GELB);
    GangZoneShowForPlayer(playerid,BZone,LILA);
    //NPC/Bots
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,botname,sizeof(botname));
    if(!strcmp(botname,"Wache",true))
    {
    new Text3D:Wache;
    Wache = Create3DTextLabel("Alcatraz-Wache",GELB,0,0,0.65, 50.0, 0);
    Attach3DTextLabelToPlayer(Wache, playerid, 0,0,0);
    SetPlayerSkin(playerid,287);
    GivePlayerWeapon(playerid,31,1000);
    }
    if(!strcmp(botname,"Wache1",true))
    {
    new Text3D:Wache1;
    Wache1 = Create3DTextLabel("Alcatraz-Wache",GELB,0,0,0.65, 50.0, 0);
    Attach3DTextLabelToPlayer(Wache1, playerid, 0,0,0);
    SetPlayerSkin(playerid,287);
    GivePlayerWeapon(playerid,31,1000);
    }
    if(!strcmp(botname,"Wache2",true))
    {
    SetPlayerSkin(playerid,287);
    GivePlayerWeapon(playerid,31,1000);
    new Text3D:soldatt;
    soldatt = Create3DTextLabel("US Veteran Richard (2. Weltkrieg)\n{19FF00}Kriegsveteran",WEIS,0,0,0.65, 50.0, 0);
    Attach3DTextLabelToPlayer(soldatt, playerid, 0,0,0);
    }
    if(!strcmp(botname,"Wache3",true))
    {
    SetPlayerSkin(playerid,287);
    GivePlayerWeapon(playerid,31,1000);
    new Text3D:soldatt;
    soldatt = Create3DTextLabel("US Veteran Peter (2. Weltkrieg)\n{19FF00}Kriegsveteran",WEIS,0,0,0.65, 50.0, 0);
    Attach3DTextLabelToPlayer(soldatt, playerid, 0,0,0);
    }
    if(!strcmp(botname,"Mission",true))
    {
    new Text3D:questt;
    questt = Create3DTextLabel("Quest/Mission abholen für Belohnungen\n{19FF00}Legale Missionen",GELB,0,0,0.65, 50.0, 0);
    Attach3DTextLabelToPlayer(questt, playerid, 0,0,0);
    SetPlayerSkin(playerid,33);
    }
    if(!strcmp(botname,"Soldat",true))
    {
    SetPlayerSkin(playerid,287);
    new Text3D:soldat;
    soldat = Create3DTextLabel("US Veteran Joseph (1. Weltkrieg)\n{19FF00}Kriegsveteran",WEIS,0,0,0.65, 50.0, 0);
    Attach3DTextLabelToPlayer(soldat, playerid, 0,0,0);
    GivePlayerWeapon(playerid,31,1000);
    }
    if(!strcmp(botname,"Tom",true))
    {
    SetPlayerSkin(playerid,30);
    }
    }
    if(IsPlayerNPC(playerid)) return 1;
    if(sSpieler[playerid][Geburtstag] == 5)
    {
    ClearChat(playerid);
    SendClientMessage(playerid,WEIS,"Das Hollywood Street of Life Administratoren Team wünscht dir Happy Birthday,");
    SendClientMessage(playerid,WEIS,"anbei erhältst du noch ein kleines Geldgeschenkt von uns!");
    new randtime = 1250 + random (321);
    GivePlayerCash(playerid,randtime);
    sSpieler[playerid][Geburtstag] = 1;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && sSpieler[i][Tut] == 1)
    {
    format(string, sizeof(string), "%s hat heute Geburtstag, herzlichen Glückwunsch und alles Gute ;)",SpielerName(playerid));
    SendClientMessage(i, GELB,string);
    }
    }
    }
    if(sSpieler[playerid][Tod] == 1 && sSpieler[playerid][Tut] == 1 && PlayerSpieltPaintball[playerid] == 0 && GetPVarInt(playerid, "Autoscooter") == 0)
    {
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
    SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);
    SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);
    SetPlayerInterior(playerid, 0);
    SendClientMessage(playerid, HELLBLAU, "Du bist noch im Krankenhaus!");
    TodTimer[playerid] = SetTimerEx("tot",60133,false,"i",playerid);
    }
    if(GetPlayerScore(playerid) <= 3 && PlayerSpieltPaintball[playerid] == 0 && sSpieler[playerid][Tod] == 0 && sSpieler[playerid][Tut] == 1 && sSpieler[playerid][Knast] == 0)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    SetPVarInt(playerid, "Spawnkill", 1);
    SpawnKilllabel[playerid] = Create3DTextLabel("SpawnKillSchutz aktiv",0x0C9BCBFF,X,Y,Z-0.4,15.0,0);
    Attach3DTextLabelToPlayer(SpawnKilllabel[playerid], playerid, 0.0, 0.0, 0.8);
    SetPlayerHealth(playerid,999.9);
    SetTimerEx("SpawnKillSchutzende", 15077, false, "d", playerid);
    SendClientMessage(playerid,BLAU,"Dein Spawnkillschutz ist nun für 15 Sekunden aktiv!");
    }
    if(sSpieler[playerid][SpawnChange] == 4 && PlayerSpieltPaintball[playerid] == 0 && sSpieler[playerid][Tod] == 0 && sSpieler[playerid][Knast] == 0 && sSpieler[playerid][Fraktion] == 0 && sSpieler[playerid][Tut] == 1)
    {
    SetPlayerPos(playerid,-1962.4498,138.0814,27.6940);
    SetCameraBehindPlayer(playerid);
    SetPlayerFacingAngle(playerid,89.7789);
    }
    if(sSpieler[playerid][SpawnChange] == 5 && PlayerSpieltPaintball[playerid] == 0 && sSpieler[playerid][Tod] == 0 && sSpieler[playerid][Knast] == 0 && sSpieler[playerid][Fraktion] == 0 && sSpieler[playerid][Tut] == 1)
    {
    SetPlayerPos(playerid,1433.9365,2619.2686,11.3926);
    SetCameraBehindPlayer(playerid);
    SetPlayerFacingAngle(playerid,175.6535);
    }
    if(sSpieler[playerid][Paintball] == 1 && PlayerSpieltPaintball[playerid] != 0 && sSpieler[playerid][Tut] == 1 && sSpieler[playerid][Tod] == 0 && sSpieler[playerid][Knast] == 0)
    {
    SetPlayerPos(playerid,-975.975708,1060.983032,1345.671875);
    SetPlayerInterior(playerid,10);
    GivePlayerWeapon(playerid,24,100);
    GivePlayerWeapon(playerid,25,100);
    GivePlayerWeapon(playerid,34,100);
    }
    if(sSpieler[playerid][Gangjail] == 1 && sSpieler[playerid][Tod] == 0 && sSpieler[playerid][Tut] == 1)
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, -230.5179,1506.8551,75.5625);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 1);
    SendClientMessage(playerid, BLAU, " Du befindest dich noch im GangJail!");
    }
    if(pFirstLog[playerid] == true && sSpieler[playerid][Tut] < 1)
    {
    SetPlayerPos(playerid,839.3776,-2062.0535,12.8672); // Tutorial Position
    SetPlayerCameraPos(playerid,794.2142,-2184.9741,31.8352);
    SetPlayerCameraLookAt(playerid,839.3776,-2062.0535,12.8672);
    SetPlayerFacingAngle(playerid,179.0452);
    TogglePlayerControllable(playerid,false);
    TutTime[playerid] = 1;
    TutTimer[playerid] = SetTimerEx("Tutorial",1000,1,"i",playerid);
    }
    if(Frei[playerid] != -1 && sSpieler[playerid][Knast] == 1 && sSpieler[playerid][Tod] == 0 && sSpieler[playerid][Tut] == 1)
    {
    new rand = random(sizeof(KnastSpawn));
    SetPlayerPos(playerid, KnastSpawn[rand][0], KnastSpawn[rand][1], KnastSpawn[rand][2]);
    SetPlayerFacingAngle(playerid,KnastSpawn[rand][3]);
    SendClientMessage(playerid,ROT,"Haftstrafe noch nicht abgessen!");
    SetPlayerPos(playerid,197.8290,161.8141,1003.0300);
    SetPlayerInterior(playerid,3);
    ResetPlayerWeapons(playerid);
    SetTimerEx("Gefaengnis",60000,0,"i",playerid);
    }
    if(Frei[playerid] != -1 && sSpieler[playerid][Alcatrazz] == 1 && sSpieler[playerid][Tut] == 1 && sSpieler[playerid][Tod] == 0)
    {
    SetPlayerPos(playerid,2978.7654,-319.1464,2.7515);
    SetPlayerFacingAngle(playerid,180.5927);
    SetCameraBehindPlayer(playerid);
    SetTimerEx("Alcatraz",720000,0,"i",playerid);
    ResetPlayerWeapons(playerid);
    }
    if(sSpieler[playerid][Prison] == 1 && sSpieler[playerid][Tod] == 0)
    {
    SendClientMessage(playerid,ROT,"Prisonzeit noch nicht abgessen!");
    SetPlayerPos(playerid, 271.1351,1858.3071,8.7578);
    SetPlayerInterior(playerid,0);
    ResetPlayerWeapons(playerid);
    SetTimerEx("Prisonzeit",60000,0,"i",playerid);
    }
    if(sSpieler[playerid][Hotel] > 0 && sSpieler[playerid][Tod] == 0 && sSpieler[playerid][Haus] == -1 && sSpieler[playerid][Tut] == 1 && PlayerSpieltPaintball[playerid] == 0 && sSpieler[playerid][Knast] == 0)
    {
    SetHotelSpawn(playerid);
    }
    if(sSpieler[playerid][SpawnChange] == 1 && sSpieler[playerid][Tod] == 0 && sSpieler[playerid][Haus] != 255 && sSpieler[playerid][Hotel] == 0 && sSpieler[playerid][Tut] == 1 && PlayerSpieltPaintball[playerid] == 0 && sSpieler[playerid][Knast] == 0 && sSpieler[playerid][Prison] == 0)
    {
    new house = sSpieler[playerid][Haus];
    SetPlayerInterior(playerid,HouseInt_Interior[HouseInfo[house][hInteriorID]]);
    SetPlayerPos(playerid, HouseInt_Spawn_X[HouseInfo[house][hInteriorID]],HouseInt_Spawn_Y[HouseInfo[house][hInteriorID]],HouseInt_Spawn_Z[HouseInfo[house][hInteriorID]]);
    SetPlayerVirtualWorld(playerid, house);
    return 1;
    }
    if(sSpieler[playerid][Haus] == 255 && sSpieler[playerid][SpawnChange] == 1 && sSpieler[playerid][Tut] == 1)
    {
    sSpieler[playerid][SpawnChange] = 0;
    }
    if(sSpieler[playerid][Wohnwagen] == 0 && sSpieler[playerid][SpawnChange] == 2 && sSpieler[playerid][Tut] == 1)
    {
    sSpieler[playerid][SpawnChange] = 0;
    }
    if(sSpieler[playerid][Tut] == 1 && sSpieler[playerid][Hotel] == 0 && sSpieler[playerid][SpawnChange] == 0 && PlayerSpieltPaintball[playerid] == 0 && sSpieler[playerid][Tod] == 0 && sSpieler[playerid][Knast] == 0) //Fraktionsspawn und Normaler Spawn
    {
    SetFraktionsSpawn(playerid);
    }
    SetPVarInt(playerid,"Airbrake", 0);
    SetPVarInt(playerid,"Airbrakew", 0);
    return 1;
    }
    public Tot(playerid)
    {
    sSpieler[playerid][Tod] = 0;
    SendClientMessage(playerid,HELLBLAU, "Du bist aus dem Krankenhaus entlassen.");
    SetPlayerPos(playerid,1178.3287,-1323.7129,14.1147);
    SetPlayerFacingAngle(playerid,270.4384);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, true);
    SetPlayerHealth(playerid,100);
    SetPlayerInterior(playerid,0);
    KillTimer(TodTimer[playerid]);
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    new string[128];
    if(PlayerSpieltPaintball[playerid] == 0 || GetPVarInt(playerid, "Autoscooter") == 0)
    {
    sSpieler[playerid][Tod] = 1;
    }
    if(GetPVarInt(playerid, "Autoscooter") != 0)
    {
    AutoscooterPlayers -= 1;
    }
    if(Robber[playerid] == 1 && IsACop(killerid))
    {
    ClearChat(playerid);
    PlayerPlaySound(killerid, 1139, 0.0, 0.0, 0.0);
    SendClientMessage(killerid,GELB,"Du hast den gesuchten 24/7 Räuber geschnappt!");
    SendClientMessage(killerid,GELB,"Dir wird eine Prämie für den nächsten Zahltag gutgeschrieben.");
    SendClientMessage(playerid,GELB,"Du wurdest von der Polizei gestoppt, dein Geld wird dir abgezogen!");
    StoreRobed[playerid] = 0;
    Robber[playerid] = 0;
    SetPlayerWantedLevel(playerid,0);
    sSpieler[killerid][Preamie] += 1000;
    sSpieler[playerid][Wanteds] = 0;
    sSpieler[playerid][Knast] = 1;
    sSpieler[playerid][Knastzeit] = 900;
    sSpieler[playerid][Ladenrob] = 0;
    if(IsACop(playerid))
    {
    format(string, sizeof(string), "%s hat den gesuchten 24/7 Laden Räuber %s geschnappt!", SpielerName(killerid), SpielerName(playerid));
    SendClientMessageToAll(HELLBLAU, string);
    }
    GivePlayerCash(playerid,-GetPVarInt(playerid, "247Cash"));
    RegK+=GetPVarInt(playerid, "247Cash");
    SetPVarInt(playerid,"247Cash",0);
    SpielerSpeichern(playerid);
    }
    //24/7 Rob
    if(Robber[playerid] == 1 && killerid == playerid)
    {
    SendClientMessage(playerid,GELB,"Du bist gestorben,Dein 24/7 Überfall ist fehlgeschlagen, dein Geld wird dir abgezogen!");
    StoreRobed[playerid] = 0;
    Robber[playerid] = 0;
    SetPlayerWantedLevel(playerid,0);
    sSpieler[playerid][Wanteds] = 0;
    sSpieler[playerid][Ladenrob] = 0;
    if(IsACop(playerid))
    {
    format(string, sizeof(string), "Der gesuchte 24/7 Laden Räuber %s ist gestorben!",SpielerName(playerid));
    SendClientMessageToAll(HELLBLAU, string);
    }
    GivePlayerCash(playerid,-GetPVarInt(playerid, "247Cash"));
    SetPVarInt(playerid,"247Cash",0);
    }
    //Bankraub
    if(GetPVarInt(playerid, "BankRaub") > 0 && IsACop(killerid))
    {
    ClearChat(playerid);
    PlayerPlaySound(killerid, 1139, 0.0, 0.0, 0.0);
    SendClientMessage(killerid,GELB,"Du hast den gesuchten Bankräuber geschnappt!");
    SendClientMessage(killerid,GELB,"Dir wird eine Prämie für den nächsten Zahltag gutgeschrieben.");
    SendClientMessage(playerid,GELB,"Du wurdest von der Polizei gestoppt, dein Geld wird dir abgezogen!");
    SetPlayerWantedLevel(playerid,0);
    sSpieler[killerid][Preamie] += 1500;
    sSpieler[playerid][Wanteds] = 0;
    sSpieler[playerid][Knast] = 1;
    sSpieler[playerid][Knastzeit] = 1200;
    sSpieler[playerid][Bankraube] = 0;
    sSpieler[playerid][Geldsack] = 0;
    RemovePlayerAttachedObject(playerid,0);
    if(IsACop(playerid))
    {
    format(string, sizeof(string), "%s hat den gesuchten Bankräuber %s geschnappt!", SpielerName(killerid), SpielerName(playerid));
    SendClientMessageToAll(HELLBLAU, string);
    }
    GivePlayerCash(playerid,-GetPVarInt(playerid, "BankGeld"));
    RegK+=GetPVarInt(playerid, "BankGeld");
    SetPVarInt(playerid,"BankGeld",0);
    DeletePVar(playerid, "BankRaub");
    DisablePlayerCheckpoint(playerid);
    //Angehängte Objecte entfernen
    RemovePlayerAttachedObject(playerid,0);
    SpielerSpeichern(playerid);
    }
    //Bankräuber
    if(GetPVarInt(playerid, "BankRaub") > 0 && killerid == playerid)
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,GELB,"Du bist gestorben,dein Bankraub ist fehlgeschlagen, dein Geld wird dir abgezogen!");
    SetPlayerWantedLevel(playerid,0);
    sSpieler[playerid][Wanteds] = 0;
    sSpieler[playerid][Bankraube] = 0;
    if(IsACop(playerid))
    {
    format(string, sizeof(string), "Der gesuchte Bankräuber %s ist gestorben!",SpielerName(playerid));
    SendClientMessageToAll(HELLBLAU, string);
    }
    GivePlayerCash(playerid,-GetPVarInt(playerid, "BankGeld"));
    DeletePVar(playerid, "BankGeld");
    DeletePVar(playerid, "BankRaub");
    //Angehängte Objecte entfernen
    RemovePlayerAttachedObject(playerid,0);
    }
    if(sSpieler[playerid][Tod] == 1 && sSpieler[playerid][Tut] == 1 && PlayerSpieltPaintball[playerid] == 0 && GetPVarInt(playerid, "Autoscooter") == 0)
    {
    SendClientMessage(playerid, HELLBLAU, "Du bist schwer verletzt und landest im Krankenhaus!");
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
    SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);
    SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);
    SetPlayerInterior(playerid, 0);
    TogglePlayerControllable(playerid, false);
    TodTimer[playerid] = SetTimerEx("tot",60000,false,"i",playerid);
    }
    ResetPlayerWeapons(playerid);
    if(sSpieler[playerid][Helm] > 0 && GetPVarInt(playerid, "Helm") == 1)
    {
    RemovePlayerHelm(playerid);
    SetPVarInt(playerid, "Helm", 0);
    }
    if(PlayerSpieltPaintball[playerid] == 0 || GetPVarInt(playerid, "Autoscooter") == 0 || sSpieler[playerid][Tod] == 1)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid, pX, pY, pZ);
    TotenKopf[playerid] = CreateDynamicPickup(1254,1, pX, pY, pZ);
    KadaverX[playerid] = pX;
    KadaverY[playerid] = pY;
    KadaverZ[playerid] = pZ;
    format(string, sizeof(string), "{FFFFFF}Leichnam von {FFFF00}%s",SpielerName(playerid));
    TotenKopfLabel[playerid] = CreateDynamic3DTextLabel(string,0xAAAAFFFF,pX,pY,pZ+1.0,10.0);
    if(sSpieler[playerid][Krankenhausversicherung] == 0)
    {
    Totentimer[playerid] = SetTimerEx("DeleteTotenkopf",60337,false,"i",playerid);
    }
    else if(sSpieler[playerid][Krankenhausversicherung] == 1)
    {
    Totentimer[playerid] = SetTimerEx("DeleteTotenkopf",30029,false,"i",playerid);
    }
    }
    Injourney[playerid] = 0;
    if(high[playerid] == 1)
    {
    DrugsOff(playerid);
    KillTimer(drugtimer[playerid]);
    }
    DisablePlayerCheckpoint(playerid);
    pizzen[playerid] = 0;
    if(sSpieler[playerid][Auftrag] > 0)
    {
    if(IsPlayerConnected(killerid))
    {
    if(sSpieler[killerid][Member] == 11 || sSpieler[killerid][Leader] == 11)
    {
    if(GoChase[killerid] == playerid)
    {
    //new string[128];
    new killer[MAX_PLAYER_NAME];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    new fkasse = sSpieler[playerid][Auftrag]/2;
    HitmanK += fkasse;
    GivePlayerCash(killerid, sSpieler[playerid][Auftrag]/2);
    format(string,128,"Hitman %s hat den Auftrag an %s erfüllt und bekommt: $%d",killer,name,sSpieler[playerid][Auftrag]/2);
    SendClientMessageToAll(GELB, string);
    sSpieler[playerid][Auftrag] = 0;
    GotHit[playerid] = 0;
    GetChased[playerid] = 999;
    GoChase[killerid] = 999;
    }
    }
    }
    }
    if(high[playerid] == 1)
    {
    DrugsOff(playerid);
    KillTimer(drugtimer[playerid]);
    }
    if(koffermission[playerid] != 0)
    {
    GameTextForPlayer(playerid,"~r~Mission Fehlgeschlagen", 2000, 0);
    DisablePlayerCheckpoint(playerid);
    koffermission[playerid] = 0;
    }
    if(liefermission[playerid] != 0)
    {
    GameTextForPlayer(playerid,"~r~Mission Fehlgeschlagen", 2000, 0);
    DisablePlayerCheckpoint(playerid);
    liefermission[playerid] = 0;
    }
    if(mission[playerid] != 0)
    {
    GameTextForPlayer(playerid,"~r~Mission Fehlgeschlagen", 2000, 0);
    StartmissionCP[playerid] = 0;
    Startmission[playerid] = 0;
    DisablePlayerCheckpoint(playerid);
    mission[playerid] = 0;
    }
    if(sSpieler[playerid][Wanteds] > 0)
    {
    if(IsACop(playerid))
    {
    new killstring[264];//,string[128];
    if(sSpieler[playerid][Leader] == 1 || sSpieler[playerid][Member] == 1)
    {
    format(killstring,sizeof(killstring),"LS-Officer %s hat den Verbrecher %s getötet.",SpielerName(killerid),SpielerName(playerid));
    SendClientMessageToAll(GRÜN,killstring);
    format(string, sizeof(string), "Gesuchten getötet! + 400$");
    GameTextForPlayer(killerid, string, 5000, 1);
    SetTimerEx("Gefaengnis",60000,0,"i",playerid);
    sSpieler[playerid][Preamie] += 400;
    SendClientMessage(playerid,GELB,"Am Zahltag bekommst du deine Belohnung!");
    }
    if(sSpieler[playerid][Leader] == 2 || sSpieler[playerid][Member] == 2)
    {
    format(killstring,sizeof(killstring),"SFPD-Officer %s hat den Verbrecher %s getötet.",SpielerName(killerid),SpielerName(playerid));
    SendClientMessageToAll(GRÜN,killstring);
    format(string, sizeof(string), "Gesuchten getötet! + 400$");
    GameTextForPlayer(killerid, string, 5000, 1);
    SetTimerEx("Gefaengnis",60000,0,"i",playerid);
    sSpieler[playerid][Preamie] += 400;
    SendClientMessage(playerid,GELB,"Am Zahltag bekommst du deine Belohnung!");
    }
    if(sSpieler[playerid][Leader] == 3 || sSpieler[playerid][Member] == 3)
    {
    format(killstring,sizeof(killstring),"Soldat %s hat den Verbrecher %s getötet.",SpielerName(killerid),SpielerName(playerid));
    SendClientMessageToAll(GRÜN,killstring);
    format(string, sizeof(string), "Gesuchten getötet! + 400$");
    GameTextForPlayer(killerid, string, 5000, 1);
    sSpieler[playerid][Preamie] += 400;
    SetTimerEx("Gefaengnis",60000,0,"i",playerid);
    SendClientMessage(playerid,GELB,"Am Zahltag bekommst du deine Belohnung!");
    }
    if(sSpieler[playerid][Leader] == 13 || sSpieler[playerid][Member] == 13)
    {
    format(killstring,sizeof(killstring),"LVPD-Officer %s hat den Verbrecher %s getötet.",SpielerName(killerid),SpielerName(playerid));
    SendClientMessageToAll(GRÜN,killstring);
    format(string, sizeof(string), "Gesuchten getötet! + 400$");
    GameTextForPlayer(killerid, string, 5000, 1);
    sSpieler[playerid][Preamie] += 400;
    SetTimerEx("Gefaengnis",60000,0,"i",playerid);
    SendClientMessage(playerid,GELB,"Am Zahltag bekommst du deine Belohnung!");
    }
    }
    }
    if(!IsACop(killerid))
    {
    new str[128],str1[128],pname[MAX_PLAYER_NAME];
    new wantedlevel = GetPlayerWantedLevel(killerid);
    GetPlayerName(playerid,pname,sizeof(pname));
    format(str,sizeof(str),"Du hast einen Verbrechen begangen (Vorsätzlicher Mord). Zeuge: Niemand", pname);
    SendClientMessage(killerid,ORANGE,str);
    format(str1,sizeof(str1),"Dein Aktuelles WantedLevel: %d",sSpieler[killerid][Wanteds]);
    SendClientMessage(killerid,GELB,str1);
    SetPlayerWantedLevel(killerid, wantedlevel + 2);
    }
    sSpieler[playerid][Deaths] ++;
    sSpieler[killerid][Kills] ++;
    PaintballKills[killerid]++;
    if(sSpieler[killerid][Paintball] == 1)
    {
    SetPlayerWantedLevel(killerid,0);
    }
    if(sSpieler[playerid][Paintball] >= 1)
    {
    new nachricht[128];
    format(nachricht,sizeof(nachricht),"Du hast einen Spieler getötet. Dein Paintballscore beträgt nun: %d",PaintballKills[killerid]);
    SendClientMessage(killerid,GELB,nachricht);
    return 1;
    }
    return 1;
    }


    Ich hoffe mir kann jemand sagen wo das Problem ist, danke ^^

  • Ich hoffe mir kann jemand sagen wo das Problem ist, danke

    Du erwartest jetzt, dass wir 525 Zeilen schlechten Code durcharbeiten, um dein Problem zu finden.


    Wir wissen nicht, was für Werte die einzelnen Variablen haben, inwiefern OnPlayerDeath da eine entscheidende Rolle spielt etc pp.


    Du solltest dir noch mal die Basics anschauen, wie du selbst print-Debugs machen kannst um eigenständig Fehler zu finden und eventuell crashdetect nutzen.


    Zumal solltest du dir Tutorials anschauen, wie man Modular Skriptet bzw genrell mal schauen, wie man das in anderen Sprachen macht.


    Den Code straight runter zu schreiben...sieht 1. Scheiße aus, 2. ist ineffizient und 3. Man findet nix mehr, genau deshalb stehst du jetzt vor deinem Problem.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hallo zusammen,
    Wenn man stirbt kommt das Login Fenster anstatt das man im Krankenhaus spawnt.

    Wie sieht denn dein Login Fenster aus?
    Dialog oder Textdraws, bin auf keines der beiden gestoßen in deinen Code.
    Bzw. was genau passiert denn du stirbst und dann ist instant das Login fenster da oder wirst noch irgendwo gespawnt oder so...?

  • @Mogly1 Dialog, ich füge ein Bild hinzu., mittlerweile spawne ich im Krankenhaus und das Login Fenster kommt.

    Okay, wo wird denn überall der Dialog genutz mit ShowpalyerDialog, also in den Code ist er nunmal nicht zu finden oder ich hab eihn übersehen ^^?

  • Er wird bei OnPlayerRequestClass benutzt und bei stock Login wenn das Passwort falsch eingegeben wurde.



    public OnPlayerRequestClass(playerid, classid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Sname);
    if(dini_Exists(Spieler))
    {
    logintimer = SetTimerEx("LoginTimer",120000,0,"i",playerid);
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid, BLAU, "{ff0000}....:{E1E1E1}Willkommen auf Hollywood-Street-of-Life !!! {ff0000}:....");
    SendClientMessage(playerid, WEIS, "{ff0000}....:{E1E1E1}Der {ff0000}Server{E1E1E1} hat deinen {ff0000}Account{E1E1E1} gefunden, Viel Spaß :) {ff0000}:....");
    SendClientMessage(playerid, WEIS, "{ff0000}....:{E1E1E1}Login geht nicht? Kommt noch {ff0000}:....");
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Hollywood Street of Life: Login","{FEFEFE}Dein {FF9600}Account {FEFEFE}wurde in unserer Datenbank gefunden, bitte gebe nun dein Passwort ein und logge dich somit ein.","Login","Abbrechen");
    PlayAudioStreamForPlayer(playerid, "http://listen.housetime.fm/dsl.pls");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid,ORANGE,"");
    SendClientMessage(playerid, BLAU, "{ff0000}|---------------{E1E1E1} Willkommen auf dem Hollywood-Street-of-Life Server {ff0000}---------------|{E1E1E1}");
    SendClientMessage(playerid, WEIS, "{ff0000}....:{E1E1E1}Hollywood-Street-of-Life Registration - Willkommen !!{ff0000}:....");
    SendClientMessage(playerid, WEIS, "{ff0000}....:{E1E1E1}Du hast noch kein {ff0000}Account{E1E1E1}. Du kannst nun einen {ff0000}Erstellen{E1E1E1}!{ff0000}:....");
    SendClientMessage(playerid, WEIS, "{ff0000}....:{E1E1E1}Dein {ff0000}Account{E1E1E1} wurde {ff0000}nicht{E1E1E1} gefunden. Du kannst dir aber ein Account {ff0000}Erstellen{E1E1E1}! {ff0000}:....");
    SendClientMessage(playerid, WEIS, "{ff0000}....:{E1E1E1}Login geht nicht? Kommt noch{ff0000}:....");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_PASSWORD,"Hollywood Street of Life: Registrieren","Bitte wähle ein Passwort ein um dir ein Account zu erstellen","Registrieren","Abbrechen");
    PlayAudioStreamForPlayer(playerid, "http://listen.housetime.fm/dsl.pls");
    return 1;
    }
    }


    stock Login(playerid,key[])
    {
    new string[128],zielip1[128];
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Sname);
    if(!strcmp(key,dini_Get(Spieler,"Passwort"),true))
    {
    SendClientMessage(playerid,HELLBLAU,"Login erfolgreich . . . Spielerdaten werden geladen!");
    SpielerLaden(playerid);
    StopAudioStreamForPlayer(playerid);
    KillTimer(logintimer);
    SpawnPlayer(playerid);
    //sSpieler[playerid][sEingeloggt] = 1;
    FalschesPW[playerid] = 0;
    CheckHaus(playerid);
    SendClientMessage(playerid, GRÜN, "");
    SendClientMessage(playerid, GRÜN, "--------------------------------------------------------------------------------");
    format(string, sizeof(string), "Willkommen auf {FFCC00}Hollywood Street of Life{FFFFFF}, {FFFFFF}%s.",SpielerName(playerid));
    SendClientMessage(playerid, GELB,string);
    if(sSpieler[playerid][Adminlevel] == 1)
    {
    format(string, sizeof(string), "Suppoter: {FFFFFF}%s",SpielerName(playerid));
    SendClientMessage(playerid, GELB,string);
    }
    if(sSpieler[playerid][Adminlevel] == 2)
    {
    format(string, sizeof(string), "Moderator: {FFFFFF}%s",SpielerName(playerid));
    SendClientMessage(playerid, GELB,string);
    }
    if(sSpieler[playerid][Adminlevel] == 3)
    {
    format(string, sizeof(string), "Admin: {FFFFFF}%s",SpielerName(playerid));
    SendClientMessage(playerid, GELB,string);
    }
    if(sSpieler[playerid][Adminlevel] == 4)
    {
    format(string, sizeof(string), "Head-Admin: {FFFFFF}%s",SpielerName(playerid));
    SendClientMessage(playerid, GELB,string);
    }
    if(sSpieler[playerid][Adminlevel] == 5)
    {
    format(string, sizeof(string), "Projektleiter: {FFFFFF}%s",SpielerName(playerid));
    SendClientMessage(playerid, GELB,string);
    }
    if(sSpieler[playerid][Vip] > 0)
    {
    SendClientMessage(playerid,GELB,"Du hast einen Premiumaccount!");
    }
    if(sSpieler[playerid][Vip] > 0)
    {
    if(sSpieler[playerid][Waffenschein] > 0)
    {
    GivePlayerWeapon(playerid,24,30);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,GRAU,"Du hast kein Waffenschein also bekommst du auch nicht die Waffe!");
    return 1;
    }
    }
    if(sSpieler[playerid][Scheinsperrezeit] > 0 && sSpieler[playerid][Scheinsperre] > 0)
    {
    new days,hours,mins;
    new scheinsperrezeit = sSpieler[playerid][Scheinsperre];
    new restzeit= scheinsperrezeit -gettime();
    days = floatround(restzeit / 86400,floatround_floor);
    hours = restzeit - (days * 86400);
    hours = floatround(hours / 3600,floatround_floor);
    mins = restzeit - ( (days * 86400) + (hours * 3600) );
    mins = floatround(mins / 60,floatround_floor);
    format(string, sizeof(string), "Verbleibende Scheinsperre: %d Tage.",days);
    SendClientMessage(playerid, GELB,string);
    }
    if(sSpieler[playerid][Geburtstag] == 0)
    {
    SpielerGeburtstag(playerid);
    }
    /*if(sSpieler[playerid][Vipzeit] > 0 && sSpieler[playerid][Vip] > 0)
    {
    new days,hours,mins;
    new premiumzeit = sSpieler[playerid][Vipzeit];
    new restzeit= premiumzeit -gettime();
    days = floatround(restzeit / 86400,floatround_floor);
    hours = restzeit - (days * 86400);
    hours = floatround(hours / 3600,floatround_floor);
    mins = restzeit - ( (days * 86400) + (hours * 3600) );
    mins = floatround(mins / 60,floatround_floor);
    format(string, sizeof(string), "Verbleibende Premiumzeit: %d Tage.",days);
    SendClientMessage(playerid, GELB,string);
    }*/
    SendClientMessage(playerid, GRÜN, "---------------------------------------------------------------------------------");
    return 1;
    }
    if(FalschesPW[playerid] >= 3)
    {
    FalschesPW[playerid] = 0;
    SendClientMessage(playerid,ROT,"Du wurdest vom Server gekickt da du dein Passwort 3x falsch eingeben hast!");
    SendClientMessage(playerid,ROT,"");
    SetTimerEx("KickTimer", 300,false, "i",playerid);
    format(Sname,sizeof(Sname),"/Gekickt/%s.ini",zielip1);
    dini_Create(Sname);
    new Datum[30];
    new tag,monat,jahr,sekunden,minuten,stunden;
    getdate(jahr,monat,tag);
    gettime(stunden,minuten,sekunden);
    format(Datum, sizeof(Datum), "%s",SpielerName(playerid));
    dini_Set(Sname,"Name",Datum);
    format(Datum, sizeof(Datum), "3x Falsche Passwort eingabe");
    dini_Set(Sname,"Grund",Datum);
    format(string,sizeof(string),"(%d/%d/%d) [%d:%d:%d] %s wurde vom Server gekickt! Grund: 3x Falsche Passwort eingabe",tag,monat,jahr,stunden,minuten,sekunden,SpielerName(playerid));
    dini_Set(Sname,"Gekickt",string);
    return 1;
    }
    else
    {
    FalschesPW[playerid] ++;
    SendClientMessage(playerid,ROT,"Das eingebene Passwort ist inkorrekt!");
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","{FEFEFE}Dein {FF9600}Account {FEFEFE}wurde in unserer Datenbank gefunden, bitte gebe nun dein Passwort ein und logge dich somit ein.","Login","Abbrechen");
    }
    return 1;
    }

  • Bei meinem anderen Problem konnte man ja auch helfen.. ach ja da waren es ja "nur" 300 Zeilen.

    Ich sage ja nicht, dass man es nicht kann.


    Ich sage nur, dass es eine ziemliche Frechheit ist.


    Schau dir das mal an und versuche etwas die Basics besser zu lernen: Modularer Skripten


    Aber dein Code buggt eh, da wenn man F4 drückt in die Class-Selection kommt.


    Und so wie ich deinen Code sehe, kommt dann automatisch wieder der Login-Dialog ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • @Douq Ich habe beides raus gemacht und siehe da nach dem Tod kommt das Loginmenü nicht mehr. Aber jetzt habe ich das Problem das nicht mehr gespeichert, geladen wird und der Spawn funktioniert nicht auch nicht mehr :(?(


    Edit: Habe mein Account gelöscht und neu erstellt jetzt Speichert/Lädt wieder alles, allerdings wenn ins Krankenhaus komme, spawne ich nicht mehr raus :(


    Edit1: Ich habe es jetzt soweit das Ich aus dem Krankenhaus spawne aber nicht an den Koordinaten. Die Koordinaten sind vor dem Krankenhaus gesetzt aber ich Spawne am Noobspawen.....



    public Krankenhaus(playerid)
    {
    sSpieler[playerid][Tod] = 0;
    SendClientMessage(playerid,HELLBLAU, "Du bist aus dem Krankenhaus entlassen.");
    SetPlayerPos(playerid,1178.7651,-1324.4899,14.1362);
    SetPlayerFacingAngle(playerid,269.0957);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, true);
    SetPlayerHealth(playerid,100);
    SetPlayerInterior(playerid,0);
    return 1;
    }