Wie mehrere Random Spawns machen?

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 habe folgendes Problem:


    Wenn Ich Bei Minigun bin und sterbe, komme ich wieder zu Minigun, ganz normal, klappt supi!


    Minigun Code:


    new dm[MAX_PLAYERS];


    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 OnPlayerSpawn(playerid)
    {
    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;
    }

    ShowPlayerDialog(playerid,SpawnDialog,DIALOG_STYLE_MSGBOX,"Hilfreiche Infos!","Willkommen auf unseren Server!\n\nHier seht ihr die wichtigsten Befehle, die es auf diesem Server gibt!\n\nTeleports kannst du mit /Teles sehen\nAndere Command kannst du mit /cmds sehen!\n\n\n\n\n\n\nViel Spaß auf dem Server, wünscht das Team!","OK","Schließen");
    return 1;
    }



    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(/Minigun)!", pname);
    SendClientMessageToAll(HELLBLAU, string);
    SendClientMessage(playerid,HELLBLAU,"Mit /back oder /leave kommst du wieder zurück!");
    SetPlayerInterior(playerid, 1);
    new rand = random(sizeof(MinigunRandomSpawn));
    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)==0)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,-2661.2402,1331.4813,16.9922);
    dm[playerid] = 0;
    return 1;
    }




    Nur wollte ich jetzt noch einen RandomSpawn machen.... Aber wenn ich sterbe komme ich nicht zu (in dem fall Panzer Krieg) sondern zu Minigun^^


    hier der code:


    new Float:TankRandomSpawn[5][4] =
    {
    {288.9691,1831.2079,17.6481,356.8011},
    {350.9186,1809.1115,18.4660,16.8546},
    {269.6313,1956.0020,17.6406,268.4565},
    {285.2894,2002.0461,17.6406,119.6218},
    {196.8248,2066.7168,22.6444,265.4585}
    };


    if (strcmp("/PanzerKrieg", cmdtext, true) == 0)
    {
    new pname[MAX_PLAYER_NAME];
    new string[100];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "%s ist nun bei /PanzerKrieg!", pname);
    SendClientMessageToAll(HELLBLAU, string);
    SendClientMessage(playerid,HELLBLAU,"Mit /back oder /leave kommst du wieder zurück!");
    new rand = random(sizeof(TankRandomSpawn));
    SetPlayerPos(playerid, TankRandomSpawn[rand][0], TankRandomSpawn[rand][1], TankRandomSpawn[rand][2]);
    ResetPlayerWeapons(playerid);
    return 1;
    }


    Bitte Hilfe! :thumbup:

  • if(dm[playerid] == 1 )
    {
    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);
    else if(dm[playerid] == 2 )
    {
    new rand = random(sizeof(TankRandomSpawn));
    SetPlayerInterior(playerid, 1);
    SetPlayerPos(playerid, TankRandomSpawn[rand][0], TankRandomSpawn[rand][1], TankRandomSpawn[rand][2]);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,38,50000);
    SetPlayerHealth(playerid,100);
    }


    }


    dm[playerid] = 1; // Wenn er immer in Minugunspawnen soll
    dm[playerid] = 2; // Wenn er immer in Panzer spawnen soll


    Im Befehl wird die Position das erste mal gesetzt. Dort musst du natürlich dann die Variable auf den entsprechenden Wert setzten.