Hilfe beim Deathmatch!

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
  • Hallo ich brauche mal eure Hilfe! Ich bekomme es nicht hin, das wenn man in einem Deathmatch ist und stirbt da wieder spawnt!


    Hier ist der Code....Random Spawn geht perfekt, nur wenn ich sterbe spawne ich am anfang des servers ;( und wenn ich /back oder /leave mache spawne ich zwar dort, aber ich sehe nur die gemappten Objkte ;(



    //dm
    new dm[MAX_PLAYERS];


    //RandomSpawn



    new Float:MinigunRandomSpawn[6][4] =
    {
    {2217.5364,1612.6948,999.9766,351.4077},
    {2196.6765,1580.0128,999.9774,18.2842},
    {2194.3135,1626.1508,999.9700,126.6564},
    {2197.0576,1607.3002,999.9692,325.0873},
    {2229.8691,1573.6051,999.9680,357.1877},
    {2186.9644,1577.3427,999.9653,350.9584}
    };


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(dm[playerid] >= 0 )
    {
    new rand = random(sizeof(MinigunRandomSpawn));
    SetPlayerInterior(playerid, 1);
    SetPlayerPos(playerid, MinigunRandomSpawn[rand][0], MinigunRandomSpawn[rand][1], MinigunRandomSpawn[rand][2]);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,38,50000);
    SetPlayerHealth(playerid,100);
    dm[playerid] = 1;
    return 1;
    }
    return 0;
    }

    und hier der command und der /back cmd:


    if (strcmp("/Minigun", cmdtext, true) == 0)
    {
    new pname[MAX_PLAYER_NAME];
    new string[100];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "%s ist nun bei Minigun!", pname);
    SendClientMessageToAll(HELLBLAU, string);
    SendClientMessage(playerid,HELLBLAU,"Mit /back oder /leave kommst du wieder zurück!");
    new rand = random(sizeof(MinigunRandomSpawn));
    SetPlayerInterior(playerid, 1);
    SetPlayerPos(playerid, MinigunRandomSpawn[rand][0], MinigunRandomSpawn[rand][1], MinigunRandomSpawn[rand][2]);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,38,50000);
    dm[playerid] = 1;
    return 1;
    }
    if(strcmp(cmdtext, "/back", true, 2) == 0 || strcmp(cmdtext, "/leave", true, 2) == 0)
    {
    SetPlayerPos(playerid,-2661.2402,1331.4813,16.9922);
    dm[playerid]= 0;
    return 1;
    }


    Hoffe ihr könnt mir helfen! :D

  • das was bei OnPlayerDeath ist must unter OnPlayerSpawn

  • Meinst du das du immernoch dort spawnst obwohl du /back gemacht hast ?
    Benutz mal das hier:


    Mach bei OnPlayerSpawn außerhalb der Minigun Funktion einfach SetPlayerInterior(playerid,0); hin

  • nein, wenn ich auf den Server komme, komme ich zu /minigun und wenn ich /back machen, werden die objekte immernoch nicht angezeigt, kp warum, sonst hat immer alles supi funktioniert!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Das kannst du genauso mit einer IF-Anweisung abfragen.
    Einfach so wie auch bei den Command um dorthin zu kommen
    checken ob er sich in /minigun befindet,
    wenn ja gibst du ihn die Message aus das er sich noch in Minigun befindet und sich nicht porten kann
    wenn nein lässt du es eben zu.


    Kannst du auch machen im dem du einer Variable den Wert 0 oder 1 zuteilst und denn wie gesagt mit IF
    abfragst ob Variable größer als 0 ist. Wenn ja verbietest du ihn das Teleportieren wenn nein denn wie gesagt lässt du es zu ;)