3DText-ID in Array Speichern?

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, habe gerade ein kleines Problem:
    Ich will einen 3D-Text erscheinen lassen, wenn ein Spieler stirbt.
    Der 3D-Text soll natürlich allen Spielern angezeigt werden.


    Jetzt habe ich ein entsprechendes Array mit der größe MAX_PLAYERS erstellt.
    Doch irgendwie will das nicht so ganz. Bin da gerade ganz ehrlich gesagt mit meinem Latein am Ende:


    new Text3D:TodPickUpText[MAX_PLAYERS];
    TodPickUpText[playerid] = Create3DTextLabel(text,COLOR_WHITE,coord[0],coord[1],coord[2],5.0,0,1);


    Errors:

    Code
    C:\Users\Alex\Desktop\Script\Server\gamemodes\meduna.pwn(2802) : error 017: undefined symbol "TodPickupText"
    C:\Users\Alex\Desktop\Script\Server\gamemodes\meduna.pwn(2802) : warning 215: expression has no effect
    C:\Users\Alex\Desktop\Script\Server\gamemodes\meduna.pwn(2802) : error 001: expected token: ";", but found "]"
    C:\Users\Alex\Desktop\Script\Server\gamemodes\meduna.pwn(2802) : error 029: invalid expression, assumed zero
    C:\Users\Alex\Desktop\Script\Server\gamemodes\meduna.pwn(2802) : fatal error 107: too many error messages on one line


    Jemand ne Idee woran es liegen könnte?
    MfG Firer

  • new TodPickupText[MAX_PLAYERS];


    haste das oben stehen?

  • Jo, steht ganz oben ausserhalb einer Funktion oder eines Callbacks.
    Die anderne dinge die dort nicht stehen (z.B. die Variable 'text') sind in meinem Script vorhanden, fehlen hier aber der übersichtshalber.
    Ich glaube das Problem ist klar genug dargelegt ;)

  • Hier mal alles, was den fehler verursachen könnte
    new text[128]; format(text,sizeof(text),"** Leiche von: {FF9900}%s{FFFFFF} **",pname[playerid]);
    TodPickup[playerid] = 1;
    TodPickupID[playerid] = CreatePickup(1254,1,coord[0],coord[1],coord[2],-1);
    TodPickUpText[playerid] = Create3DTextLabel(text,COLOR_WHITE,coord[0],coord[1],coord[2],5.0,0,1); // <------ Fehler
    TodPickupZeit[playerid] = 300;

  • ne
    nicht so, sondern:
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);



    new text[128]; format(text,sizeof(text),"** Leiche von: {FF9900}%s{FFFFFF} **",pname[playerid]);
    TodPickup[playerid] = 1;
    TodPickupID[playerid] = CreatePickup(1254,1,x,y,z,-1);
    TodPickUpText[playerid] = Create3DTextLabel(text,COLOR_WHITE,x,y,z,5.0,0,1); // <------ Fehler
    TodPickupZeit[playerid] = 300;


    Ungetestet, gerade aus dem Kopf Geschrieben

    Stahlbau Azubi deswegen kaum Aktiv

  • Was macht das für einen Unterschied?
    Ob ich jetzt ein Array als Float definiere oder 3 einzelne Variablen ist eigentlich kein großer Unterschied.
    Ich sehe in meiner Methode für mich mehr übersicht.


    Erklärt ausserdem nicht, warum es beim Pickup nichts ausspuckt.


    //EDIT: Habs in mein Globales Array für sämtliche Spieler eingebaut.
    Ist zwar unsauberer aber funktioniert nun.

    Einmal editiert, zuletzt von Firerfan ()