An verschiedenen Punkte Spawnen

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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 Community,
    ich habe eine Paintball Arena, aber ich möchte das der User immer wo anders Spawn.
    Das heißt wenn er in die Arena rein geht sollte er wo anders spawnen immer an verschiedenen Orten:

    ocmd:pbenter(playerid, params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1421.74, -1179.36, 25.32))
    {
    Spieler[playerid][Paintball] = 1;
    SetPlayerPos(playerid,-975.975708,1060.983032,1345.671875);
    SetPlayerInterior(playerid,10);
    PayPlayerMoney(playerid,-500);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,24,150);
    GivePlayerWeapon(playerid,27,80);
    GivePlayerWeapon(playerid,34,50);
    SCM(playerid,BAIGE,"Du befindest Dich in der Paintball Arena. [-500]");
    new pID, n1[128], grund[128];
    format(n1,sizeof(n1),"%s hat die Paintball Arena betretet.",SpielerName(playerid),SpielerName(pID),grund);
    SendClientMessageToAll(GRUEN,n1);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,BAIGE,"Du bist nicht an der Paintball Arena!");
    return 1;
    }
    }


    Nur weiß ich nicht wie das geht.

    :) SWAGETTI & YOLONAISE!


  • new Float:pbSpawns[ANZAHL][3] = {
    {-997.4324,1085.4733,1342.0649},
    {-1026.5931,1044.7457,1342.0952},
    {-1079.7046,1040.9398,1344.1752},
    {-1115.0260,1072.4110,1342.6558},
    {-1132.4392,1034.3738,1345.7334}
    };


    So ist drinne, muss ich das in ocmd:pbenter(playerid, params[])
    rein amchen oder ganz oben bei den new's da?!

    :) SWAGETTI & YOLONAISE!



  • new Float:pbSpawns[5][3] = {
    {-997.4324,1085.4733,1342.0649},
    {-1026.5931,1044.7457,1342.0952},
    {-1079.7046,1040.9398,1344.1752},
    {-1115.0260,1072.4110,1342.6558},
    {-1132.4392,1034.3738,1345.7334}
    };


    beim pbenter:
    new rand = random(sizeof(pbSpawns));
    SetPlayerPos(playerid, random[rand][0], random[rand][1], random[rand][2]);


    Wenns nicht klappt weiss ikke auch ned weiter.


    lg

  • So?

    ocmd:pbenter(playerid, params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1421.74, -1179.36, 25.32))
    {
    Spieler[playerid][Paintball] = 1;
    SetPlayerPos(playerid,-975.975708,1060.983032,1345.671875);
    SetPlayerInterior(playerid,10);
    PayPlayerMoney(playerid,-500);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,24,150);
    GivePlayerWeapon(playerid,27,80);
    GivePlayerWeapon(playerid,34,50);
    SCM(playerid,BAIGE,"Du befindest Dich in der Paintball Arena. [-500]");
    new pID, n1[128], grund[128];
    format(n1,sizeof(n1),"%s hat die Paintball Arena betretet.",SpielerName(playerid),SpielerName(pID),grund);
    SendClientMessageToAll(GRUEN,n1);
    new rand = random(sizeof(pbSpawns));
    SetPlayerPos(playerid, random[rand][0], random[rand][1], random[rand][2]);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,BAIGE,"Du bist nicht an der Paintball Arena!");
    return 1;
    }
    }

    :) SWAGETTI & YOLONAISE!


  • Das nach oben.


    Und bei deinem Command musst du das machen:



    ocmd:pbenter(playerid, params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1421.74, -1179.36, 25.32))
    {
    Spieler[playerid][Paintball] = 1;
    new rand = random(sizeof(pbSpawns));
    SetPlayerPos(playerid, pbSpawns[rand][0], pbSpawns[rand][1], pbSpawns[rand][2]);
    SetPlayerInterior(playerid,10);
    PayPlayerMoney(playerid,-500);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,24,150);
    GivePlayerWeapon(playerid,27,80);
    GivePlayerWeapon(playerid,34,50);
    SCM(playerid,BAIGE,"Du befindest Dich in der Paintball Arena. [-500]");
    new pID, n1[128], grund[128];
    format(n1,sizeof(n1),"%s hat die Paintball Arena betretet.",SpielerName(playerid),SpielerName(pID),grund);
    SendClientMessageToAll(GRUEN,n1);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,BAIGE,"Du bist nicht an der Paintball Arena!");
    return 1;
    }
    }