Random Spawn mit Random Skin

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 Leute ,


    also ich habe ein Problem , dass ich es einfach nicht hinbekomme , einen Wechselnden Skin und Spawn zu machen.


    Denn es ist wircklich Zufall , ob es funktioniert ode nicht , denn manchmal versetzt er ein nur in das andere Team , wenn man den Command eingibt , aber man bekommt den Skin nicht, und die PlayerColor verändert sich nicht.


    Also , ob ihr daraus es vielleicht richtig machen könntet.


    Team 1 :


    if(strcmp(cmd, "/Teamrot", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new string[256];
    PlayerInfo[playerid][pTeam] = 1;
    SetPlayerColor(playerid,COLOR_RED);
    OnPlayerDataSave(playerid);
    new zufall = random(3);
    if(zufall == 1) {
    SetPlayerPos(playerid, -131.2876,-87.3749,3.1181);
    SetPlayerSkin(playerid,28);
    SetSpawnInfo(playerid,0,28,-131.2876,-87.3749,3.1181,0,0,0,0,0,0,0);
    }
    else if(zufall == 2) {
    SetPlayerPos(playerid, -146.7958,-95.9391,3.1181);
    SetPlayerSkin(playerid,30);
    SetSpawnInfo(playerid,0,30,-146.7958,-95.9391,3.1181,0,0,0,0,0,0,0);
    }
    else if(zufall == 3) {
    SetPlayerPos(playerid, -137.5432,-98.0654,3.1181);
    SetPlayerSkin(playerid,143);
    SetSpawnInfo(playerid,0,143,-137.5432,-98.0654,3.1181,0,0,0,0,0,0,0);
    }
    if(GetPlayerSkin(playerid) != 28 || 30 || 143) {
    SetPlayerSkin(playerid,30);
    SetPlayerPos(playerid, -146.7958,-95.9391,3.1181);
    SetSpawnInfo(playerid,0,30,-146.7958,-95.9391,3.1181,0,0,0,0,0,0,0);
    format(string, sizeof(string), "[Info:] Skin: %d Team Terroristen", GetPlayerSkin(playerid));
    SendClientMessage(playerid, COLOR_RED, string);
    } else {
    format(string, sizeof(string), "[Info:] Skin: %d Team Terroristen", GetPlayerSkin(playerid));
    SendClientMessage(playerid, COLOR_GREEN, string);
    }
    }
    return 1;
    }
    }



    Team 2


    if(strcmp(cmd, "/Teamblau", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new string[256];
    PlayerInfo[playerid][pTeam] = 2;
    SetPlayerColor(playerid,COLOR_BLUE);
    OnPlayerDataSave(playerid);
    new zufall = random(3);
    if(zufall == 1) {
    SetPlayerPos(playerid, -5.1574,-12.6715,3.1172);
    SetPlayerSkin(playerid,281);
    SetSpawnInfo(playerid,0,281,-5.1574,-12.6715,3.1172,0,0,0,0,0,0,0);
    }
    else if(zufall == 2) {
    SetPlayerPos(playerid, 9.0554,-19.8566,3.1172);
    SetPlayerSkin(playerid,285);
    SetSpawnInfo(playerid,0,285,9.0554,-19.8566,3.1172,0,0,0,0,0,0,0);


    }
    else if(zufall == 3) {
    SetPlayerPos(playerid, -3.6320,-5.9046,3.1172);
    SetPlayerSkin(playerid,286);
    SetSpawnInfo(playerid,0,286,-3.6320,-5.9046,3.1172,0,0,0,0,0,0,0);
    }
    if(GetPlayerSkin(playerid) != 281 || 285 || 286) {
    SetPlayerSkin(playerid,286);
    SetPlayerPos(playerid, -3.6320,-5.9046,3.1172);
    SetSpawnInfo(playerid,0,286,-3.6320,-5.9046,3.1172,0,0,0,0,0,0,0);
    format(string, sizeof(string), "[Info:] Skin: %d Team Counter Terroristen", GetPlayerSkin(playerid));
    SendClientMessage(playerid, COLOR_BLUE, string);
    } else {
    format(string, sizeof(string), "[Info:] Skin: %d Team Counter Terroristen", GetPlayerSkin(playerid));
    SendClientMessage(playerid, COLOR_GREEN, string);
    }
    }
    return 1;




    Währe wircklich nett von euch ;)

  • enum dat_
    {
    skin,
    Float:sx,Float:sy,Float:sz
    }
    new skindaten[][dat_] = {
    {skinid,x,y,z},
    {skinid,x,y,z} // usw...
    }


    new rand = random(sizeof skindaten);
    SetPlayerSkin(playerid,skindaten[rand][skin]);
    SetPlayerPos(playerid,skindaten[rand][x],skindaten[rand][y],skindaten[rand][z]);


    Hier mal ein Beispiel zu so einem System, bzw. das zufällige einstellen von Daten usw.

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Hallo BFX ,


    danke das du mir helfen wolltest.



    Nur verstehe ich dein System garkein bisschen , kannst du mir ein anderes machen , denn wir müssen das für 2 Teams machen , oder genau erklären ?


    Oder jemand anders : D ?



    Währe sehr nett von euch ;)

  • so gehts auch:


    new Float:Spawns[2][3] = // die erste zahl ist die anzahl von spawns die du auflistest (in meinem falle 2)
    {
    {X, Y, Z},
    {X, Y, Z},
    ...
    }
    bei OnPlayerSpawn:


    new rand = random(sizeof(Spawns));
    SetPlayerPos(Spawns[rand][0], Spawns[rand][1],Spawns[rand][2]);


    korrigiert mich, wenns falsch ist

  • Fehlt da nicht die Playerid ?


    Ich versteh's nicht.


    C:\DOKUME~1\HP_BES~1.002\Desktop\dm.pwn(765) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\HP_BES~1.002\Desktop\dm.pwn(765) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\HP_BES~1.002\Desktop\dm.pwn(765) : warning 215: expression has no effect
    C:\DOKUME~1\HP_BES~1.002\Desktop\dm.pwn(765) : error 001: expected token: ";", but found "]"
    C:\DOKUME~1\HP_BES~1.002\Desktop\dm.pwn(765) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Einmal editiert, zuletzt von Anthemes ()

  • mach es doch so wie BFX es gezeigt hat ..



    // edit hier für spawn


    new Float:Spawns[][17] =
    {
    {1505.0670,-892.1097,58.7301}, //GuySpawn1 LS
    {764.9804,-1040.6945,23.9476}, //GuySpawn2 LS
    {1883.7588,-1386.8582,13.5703}, //SkatePark LS
    {2464.7781,2546.3823,22.0781} //LVParking
    Cods musst selber machen
    };


    und unter OnPlayerSpawn



    new rnd = random(sizeof(Spawns));
    SetPlayerPos(playerid, Spawns[rnd][0], Spawns[rnd][1], Spawns[rnd][2]);
    SetPlayerFacingAngle(playerid, Spawns[rnd][3]);
    SetCameraBehindPlayer(playerid);

    Einmal editiert, zuletzt von Kevin. ()

  • Achso ,


    ich dachte ich muss unter Spawn die Koordinaten nochmal eingeben , habe mich auch schon gewundert :D



    Ich raff das einfach nicht, wie ich dann noch die Skins hinzufügen kann , ich habe ganzeuros Schreibweise genommen.

    Einmal editiert, zuletzt von Anthemes ()

  • Nur ich verstehe nicht wo ich dann die Koords und so einfügen muss ,ich habe gerade eine ziemliche Denk lücke.

  • so hier jetzt das von BFX


    enum dat_
    {
    skin,
    Float:sx,Float:sy,Float:sz
    }
    new skindaten[][dat_] = {
    {Hier die SKin ID,Hier der Kord},
    {Hier die SKin ID,Hier der Kord} // usw...
    }


    und das unter OnPlayerSpawn


    new rand = random(sizeof skindaten);
    SetPlayerSkin(playerid,skindaten[rand][skin]);
    SetPlayerPos(playerid,skindaten[rand][x],skindaten[rand][y],skindaten[rand][z]);

  • Ahhhhh , danke liebe Leute ;)


    Ich habe es kapiert :D



    Also wir wissen einfach nicht weiter.
    Wir haben eine andere Variante , nur wird man einfach nicht Respawnt ,deshalb wollte ich es auch anders probieren.


    Was sollen wir tun ?

    Einmal editiert, zuletzt von Anthemes ()