Respawn am DM spawn point nach 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
  • Hab mal eine Frage,


    ich habe jetzt einen DM filterscript gemacht wo ich /dm eingeben kann und dann in eine DM arena komme und einen befehl /exitdm um DM wieder zu velassen.


    Problem ist nur ich brauche garnicht /exitdm einzugeben da ich nach dem tot wieder am start punkt des servers raus komme. ?(


    Ich würde aber gerne nach dem tot am spawn point vom DM wieder raus kommen und erst wenn ich /exitdm eingebe wieder am start des servers raus kommen.



    Könnt ihr helfen??



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/dm", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid, 103.5677,2238.8469,126.158,89.8136);
    SendClientMessage(playerid,0x0000BBAA, "Du bist nun in Deathmatch!");
    GivePlayerWeapon(playerid, 8, 1);
    GivePlayerWeapon(playerid, 24, 100);
    GivePlayerWeapon(playerid, 31, 500);
    GivePlayerWeapon(playerid, 25, 100);
    GivePlayerWeapon(playerid, 34, 20);
    GivePlayerWeapon(playerid, 17, 10);
    GivePlayerWeapon(playerid, 28, 400);
    return 1;
    }
    if (strcmp("/exitdm", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid, 2361.7505,1049.8511,18.3200,202.3104);
    SendClientMessage(playerid, 0x0000BBAA, "Du hast Deathmatch verlassen!");
    ResetPlayerWeapons(playerid, 8, 1);
    ResetPlayerWeapons(playerid, 24, 100);
    ResetPlayerWeapons(playerid, 31, 500);
    ResetPlayerWeapons(playerid, 25, 100);
    ResetPlayerWeapons(playerid, 34, 20);
    ResetPlayerWeapons(playerid, 17, 10);
    ResetPlayerWeapons(playerid, 28, 400);
    return 1;
    }


    Danke im vorraus

  • ResetPlayerWeapons(playerid, 8, 1);
    ResetPlayerWeapons(playerid, 24, 100);
    ResetPlayerWeapons(playerid, 31, 500);
    ResetPlayerWeapons(playerid, 25, 100);
    ResetPlayerWeapons(playerid, 34, 20);
    ResetPlayerWeapons(playerid, 17, 10);
    ResetPlayerWeapons(playerid, 28, 400);


    ?


    ResetPlayerWeapons(playerid);
    Reicht!

  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/dm", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid, 103.5677,2238.8469,126.158,89.8136);
    SendClientMessage(playerid,0x0000BBAA, "Du bist nun in Deathmatch!");
    GivePlayerWeapon(playerid, 8, 1);
    GivePlayerWeapon(playerid, 24, 100);
    GivePlayerWeapon(playerid, 31, 500);
    GivePlayerWeapon(playerid, 25, 100);
    GivePlayerWeapon(playerid, 34, 20);
    GivePlayerWeapon(playerid, 17, 10);
    GivePlayerWeapon(playerid, 28, 400);
    dm = 1
    return 1;
    }
    if (strcmp("/exitdm", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid, 2361.7505,1049.8511,18.3200,202.3104);
    SendClientMessage(playerid, 0x0000BBAA, "Du hast Deathmatch verlassen!");
    ResetPlayerWeapons(playerid);
    dm = 0
    return 1;
    }


    Und bei OnPlayerDeath frag ab ob die Variable auf 1 ist und wenn ja setz ihn wieder zum Spawnpoint des DM's


    //Edit: Optimiert

  • ja verscheinlich oben definieren.


    new dm[MAX_PLAYERS];


    wenn er im dm ist bzw den befehl /dm eigibt machst du mit rein:


    dm[playerid] = 1;


    wenn er /exitdm macht


    dm[playerid] = 0;


    bei onplayerdeath fragst du ab


    if(dm[playerid] == 1)
    {
    //Hier deine Coodinaten usw
    }

  • Ok hab es jetzt so versucht wie du es gesagt hast klappt auch soweit bis auf wenn ich sterbe komme ich für ungefähr 3Sek. mit null live an den spawnpoint so wie ich es wollte :D :thumbup:


    Aber danach sterbe ich noch mal und spawne am server start 8| ;( ?(


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/dm", cmdtext, true, 10) == 0)
    {
    dm[playerid] = 1;

    SetPlayerPos(playerid, 103.5677,2238.8469,126.158,89.8136);
    SendClientMessage(playerid,0x0000BBAA, "Du bist nun in Deathmatch!");
    GivePlayerWeapon(playerid, 8, 1);
    GivePlayerWeapon(playerid, 24, 100);
    GivePlayerWeapon(playerid, 31, 500);
    GivePlayerWeapon(playerid, 25, 100);
    GivePlayerWeapon(playerid, 34, 20);
    GivePlayerWeapon(playerid, 17, 10);
    GivePlayerWeapon(playerid, 28, 400);

    return 1;
    }
    if (strcmp("/exitdm", cmdtext, true, 10) == 0)
    {
    dm[playerid] = 0;

    SetPlayerPos(playerid, 2361.7505,1049.8511,18.3200,202.3104);
    SendClientMessage(playerid, 0x0000BBAA, "Du hast Deathmatch verlassen!");
    ResetPlayerWeapons(playerid);
    SetPlayerArmour(playerid, 0);
    return 1;
    }
    return 0;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(dm[playerid] == 1)



    SetPlayerPos(playerid, 103.5677,2238.8469,126.158,89.8136);
    GivePlayerWeapon(playerid, 8, 1);
    GivePlayerWeapon(playerid, 24, 100);
    GivePlayerWeapon(playerid, 31, 500);
    GivePlayerWeapon(playerid, 25, 100);
    GivePlayerWeapon(playerid, 34, 20);
    GivePlayerWeapon(playerid, 17, 10);
    GivePlayerWeapon(playerid, 28, 400);


    return 1;
    }