Hilfe bei Randomspawn

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,


    Ich habe momentan ein Problem und desweiteren noch Fragen.


    Ich mache momentan ein Random Spawn für DM
    Ist alles richtig eingordnet, mache es so damit ich nicht so oft auf PWN drücken muss :D.

    new RandomSpawn[MAX_PLAYERS];


    new Float:RandomSpawns[4][2] = {
    {-2789.2852,-271.1917,7.1875},
    {-2714.6638,-232.5632,7.1871}
    };


    forward RandomSpawn(playerid);


    public RandomSpawn(playerid)
    {
    if(RandomSpawn{playerid] == 0)
    {
    new rand = random(sizeof(RandomSpawns);
    SetPlayerPos(playerid, RandomSpawns[rand][0], RandomSpawns[rand][1]);
    }
    return 1;
    }


    Problem: PAWNO Stürzt ab. / Funktioniert nicht mehr.


    Die Fragen:
    Wie kann ich es machen, dass /exit nur in DM machbar ist und sonst nirgendwo anders?


    2te:
    Wie kann ich scripten, dass der Spieler in DM GARKEINE Befehl auser /exit machen kann?
    Hier noch die Commands:



    ocmd:dm(playerid,params[])
    {
    RandomSpawn(playerid);
    GivePlayerWeapon(playerid,24,999);
    return 1;
    }


    ocmd:exit(playerid,params[])
    {
    SetPlayerPos(playerid,2522.2588,-1678.1085,15.4970);
    SetCameraBehindPlayer(playerid);
    return 1;
    }


    Hoffe auf Antworten :/


    lg

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • new RandomSpawn[MAX_PLAYERS];//das hier brauchst du nicht! wofür denn bitte diese zeile???!!



    new Float:RandomSpawns[2][3] = {//Sind doch erstmal nur 2 Werte und keine 4 und in die zweite Klammer gehört hier eine 3 (ich seh da aufjedenfall x,y,z)
    {-2789.2852,-271.1917,7.1875},
    {-2714.6638,-232.5632,7.1871}
    };//Sonst in Ordnung.



    forward RandomSpawn(playerid);


    public RandomSpawn(playerid)
    {
    if(RandomSpawn{playerid] == 0)
    {
    new rand = random(sizeof(RandomSpawns);
    SetPlayerPos(playerid, RandomSpawns[rand][0], RandomSpawns[rand][1],RandomSpawns[rand][2]);//Du hast die Z-Coordinate vergessen
    }
    return 1;
    }


    Sonst sollte es passen.



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )

  • ocmd:dm(playerid,params[])
    {
    RandomSpawn(playerid);
    SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
    GivePlayerWeapon(playerid,24,999);
    return 1;
    }


    ocmd:exit(playerid,params[])
    {
    new rand = random(sizeof(RandomSpawn));
    SetPlayerPos(playerid,2522.2588,-1678.1085,15.4970);
    SetCameraBehindPlayer(playerid);
    return 1;
    }


    So müsste es auch gehen :)

  • Danke schonmal für eure Hilfe.
    Weitere Errors machen den weg schwrer.



    Zeile (120) : Ungültiges Array (kein Array?): "RandomSpawn"
    Zeile (120) : Befehl hat keinen Sinn
    Zeile (120) : Erwartete Zeichen ";", aber gefunden "]"
    Zeile (120) : Ungültiger Befehl
    Zeile (120) : Zuviele Fehler in einer Zeile



    public RandomSpawn(playerid)
    {
    if(RandomSpawn[playerid] == 0) /*<--- 120*/
    {
    new rand = random(sizeof(RandomSpawns);
    SetPlayerPos(playerid, RandomSpawns[rand][0], RandomSpawns[rand][1],RandomSpawns[rand][2]);
    }
    return 1;
    }


    Freue mich auf Antworten!


    lg

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Nein Sry, die Errors bleiben gleich wie oben beschrieben.
    Desweiteren,

    Wie kann ich es machen, dass /exit nur in DM machbar ist und sonst nirgendwo anders?


    Wie kann ich scripten, dass der Spieler in DM GARKEINE Befehl auser /exit machen kann?


    Bin gespannt!


    lg

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Du setzt eine Variable, welche enthält, ob sich der Spieler im DM befindet oder nicht.
    Hierfür gibt es extra den "Boolean". Eine Variable, welche nur zwei Werte annehmen kann: True (1), oder False (0).


    also oben im Script definieren wir die Variable:
    new bool:PlayDM[MAX_PLAYERS];


    Beim Connecten ist diese natürlich auf "false" zu setzen:


    Wenn der Spieler das DeathMatch betritt, setze die Variable auf "true":
    PlayDM[playerid]=true;
    Beim Verlassen natürlich wieder auf "false":
    PlayDM[playerid]=false;


    Nun zum Command Block:
    (unter OnPlayerCommandText)

    if(PlayDM[playerid]==true && /*Hier kommt dein Exit command hin, aber verneint!!!!!, sonst kann er ja die DM-Zone nichtmehr verlassen*/) { return SendClientMessage(playerid, 0xFFAAAA,"Du bist in der DM-Zone und kannst keine CMDs benutzen!");}


    Nun zum /exit Command:
    (wieder unter OnPlayerCommandText)

    if(/*dein Exit Command*/)
    {
    if(PlayDM[playerid]==true){/*Dein Code zum Verlassen der DM arena*/}else{SendClientMessage(playerid,0xFFAAAA,"Du bist nicht in der DM-Arena");}
    return 1;
    }



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )