Max. 3 Objecte spawnen Nach tot / respawn

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
  • Ich möchte das man 3 Objecte spawnen lassen kann, aber die sollen auch per cmd oder so auch weggehen kann das evll jemand machen?
    Hab hier nen code aber man kann mehr als 3 objecte spawnwn und des will ich nicht. :l
    Man soll nur 3x spawnen können, und wenn man tot ist / respawnt soll man wieder 3x objecte spawnen können


    Mein Code:
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(PRESSED(KEY_FIRE))
    {
    if(ObjectCount[playerid] < 4)
    {
    new Float:angle,Float:x,Float:y,Float:z;
    GetPlayerPos(playerid, x, y, z);
    angle = GetXYInFrontOfPlayer(playerid, x, y, GetOptimumRampDistance(playerid));
    angle -= 90.0;
    if (angle < 0.0) angle += 360.0;
    z += 0.5;
    rampe=CreateObject(800, x, y, z - 0.1, 0.0, 0.0, angle+90);
    }
    }
    return 1;
    }

  • Denke mal das if(ObjectCount[playerid] < 4)


    zu if(ObjectCount[playerid] < 3) wird?

  • kann trotzdehm so viele objecte wie möglich spawnen

    Einmal editiert, zuletzt von [RLG]Zepp. ()

  • Wie mache ich jetzt das alle objecte verschwinden?
    Bei DestroyObject(rampe); verschwindet immer nur das letzte object. o.o

  • Du hast oben bestimmt so etwas stehen:
    new rampe;
    Daraus machst du:
    new rampe[3];


    Danach machst du halt erstellen mit rampe[0], rampe[1] und rampe[2].
    Also bsp. komplett:
    new rampe[MAX_PLAYERS][3];
    new ObjectCount[MAX_PLAYERS];


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(PRESSED(KEY_FIRE))
    if(ObjectCount[playerid] < 4)
    {
    new Float:Pos[4];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    Pos[3] = GetXYInFrontOfPlayer(playerid, Pos[0], Pos[1], GetOptimumRampDistance(playerid));
    Pos[3] -= 90.0;
    if(Pos[3] < 0.0)
    Pos[3] += 360.0;
    Pos[2] += 0.5;
    rampe[playerid][ObjectCount[playerid]] = CreateObject(800, Pos[0], Pos[1], Pos[2] - 0.1, 0.0, 0.0, Pos[3] + 90);
    ObjectCount[playerid]++;
    }
    return 1;
    }


    Removen per:
    for(new a; a < sizeof rampe; a++)
    DestroyObject(rampe[a]);

    Miete mich (nicht) :love:

  • wie lässt man die objecte da verschwinden? alle?
    bei DestroyObject wird nur eins verschwunden steht da auch

  • bekomme error
    error 035: argument type mismatch (argument 1)


    Zeile 4 : (Destroy...)
    public ramptimer()
    {
    for(new a; a < sizeof rampe; a++)
    DestroyObject(rampe[a]);
    return 1;
    }