Hilfe bei Script: Warum spawne ich immer wieder tot?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,
    brauche Hilfe bei einem Script. Das Problem am Script ist, dass immer wenn man spawnt, man als erstes tot spawnt und dann nochmal wieder normal spawnt.Hoffe ihr versteht was ich meine.


    if (strcmp("/dm", cmdtext, true) == 0)
    {
    if(dmon[playerid] == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    RemovePlayerFromVehicle(playerid);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 28, 500);
    dmon[playerid] = 1;
    SetPlayerDmSpawn(playerid);
    SendClientMessage(playerid, COLOR_YELLOW, "Du hast dich zum Deathmatch geportet ! Um das Deathmatch wieder zu verlassen /exit.");
    SetPlayerColor(playerid, 0);
    }
    else
    {
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 28, 500);
    dmon[playerid] = 1;
    SetPlayerDmSpawn(playerid);
    SendClientMessage(playerid, COLOR_YELLOW, "Du hast dich zum Deathmatch geportet ! Um das Deathmatch wieder zu verlassen /exit.");
    SetPlayerColor(playerid, 0);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du bist schon im Deathmatch!");
    }
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    new playercash;
    if(dmon[playerid] == 1)
    {
    SetPlayerDmSpawn(playerid);
    }
    else if(killerid == INVALID_PLAYER_ID)
    {
    SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
    ResetPlayerMoney(playerid);
    }
    else
    {
    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
    playercash = GetPlayerMoney(playerid);
    if (playercash > 0)
    {
    GivePlayerMoney(killerid, playercash);
    ResetPlayerMoney(playerid);
    }
    }
    return 1;
    }


    Hoffe ihr könnt mir weiterhelfen.

  • public OnPlayerDeath(playerid, killerid, reason)
    {
    new playercash;
    else if(killerid == INVALID_PLAYER_ID)
    {
    SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
    ResetPlayerMoney(playerid);
    }
    else
    {
    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
    playercash = GetPlayerMoney(playerid);
    if (playercash > 0)
    {
    GivePlayerMoney(killerid, playercash);
    ResetPlayerMoney(playerid);
    }
    }
    return 1;
    }



    public OnPlayerSapwn(playerid)
    {
    if(dmon[playerid] == 1)
    {
    SetPlayerDmSpawn(playerid);
    }
    }

  • Habe es so geändert wie du (sniper) meintest habe 2 errors


    C:\Users\Florian\Desktop\Server\gamemodes\lvdm.pwn(354) : error 029: invalid expression, assumed zero
    C:\Users\Florian\Desktop\Server\gamemodes\lvdm.pwn(354) : warning 215: expression has no effect
    C:\Users\Florian\Desktop\Server\gamemodes\lvdm.pwn(354) : error 001: expected token: ";", but found "if"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Edit: Reihe 354: else if(killerid == INVALID_PLAYER_ID)