Taggingsystem komisches Problem mit Dini :D

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
  • Guten Tag/Morgen xd


    Ich bastle zur Zeit an einem Tagging System für SAMP und läuft auch eigentlich alles soweit ganz gut bis auf ein kleiner Fehler der mich zum Verzweifeln bringt.
    Ein paar Infos zum System:
    -Man kann nur als Gangmitglied taggen
    -Man kann Schriftart sowie Farbe und Text wählen
    -Es wird alles per Dini erstellt,geladen und gespeichert


    Mein Problem ist folgendes:
    Ich habe ein /tagremove Befehl eingebaut um eben bereits erstellte Tags wieder zu löschen.
    Die Tags werden alle der Reihe nach erstellt und gespeichert sowie nach einem Restart geladen.
    Nur der /tagremove Befehl bereitet mir Probleme bei der Überprüfung ob ein Spieler in der Nähe ist, ob der Taggername dem Spielername entspricht und bei der Löschung des richtigen Objektes.
    Wenn ich z.b. 2 Tags gesprayt habe und an das erste Tag laufe und /tagremove eingebe kommt die Nachricht: Hier ist kein Tag in der Nähe und Du hast dein Tag entfernt und das 2 Tag verschwindet.
    Allerdings ist im Scriptfiles ordner die richtige Datei gelöscht worden und nach einem Restart ist das richtige Tag was gelöscht werden sollte verschwunden und das andere was vor dem Restart weg war wieder da.
    Eine Dini Datei eines Tags ist so benannt: Graffiti_0,Graffiti_1 usw und diese werden auch richtig erstellt wenn man mehrere Tags sprayt :D


    Ich hoffe das war soweit es geht gut erklärt und ich hoffe mir kann geholfen werden :D
    (Ich bekomme das ordentliche Einrücken mit dem Quellcode irgendwie nicht ganz so hin xd)





    Wissen gibt dir Macht, aber der Charakter verschafft dir Respekt und Anerkennung...
    Bruce Lee 1940 - 1973

  • hier 1 Frage c(:


    Graff3D
    graffity
    sind das globale variablen?


    Bzw. müssen sie ja laut deinem erstell ding.... bedeutet diese variablen sind genau das Tag was du zu letzt erstellt hast...
    (falls es globale Variablen sind)


    Edit:
    Warum nutzt du beim erstellen der tags kein
    CreateObject
    SetObjectMaterialText
    ?


    Edit2:
    Schuldige bitte ganz vergessen noch zu schreiben, ändere mal das so ab..

    new Graff3D[MAX_GRAFFITI];
    new graffity[MAX_GRAFFITI];

    und nutze das dann mal bitte jeweils in den sachen wo es steht so

    Graff3D[i] =..
    graffity[i] =...

    Also so dann ca.

    graffity[i] =CreateObject(19482,dini_Float(file,"Graffiti X"),dini_Float(file,"Graffiti Y"),dini_Float(file,"Graffiti Z"),dini_Float(file,"Graffiti RotX"),dini_Float(file,"Graffiti RotY"),dini_Float(file,"Graffiti RotZ"),0.0);
    Graff3D[i] =Create3DTextLabel(tagname,COLOR_ORANGE,dini_Float(file,"Graffiti X"),dini_Float(file,"Graffiti Y"),dini_Float(file,"Graffiti Z"),7,0,0);


    DestroyObject(graffity[i]);
    Delete3DTextLabel(Graff3D[i]);

    sollte dann eig. gehen?

    Einmal editiert, zuletzt von Mogly1 ()

  • Jap das sind zwei globale Variabeln,habe [MAX_GRAFFITI] hinzugefügt und soweit angepasst jetzt funktioniert alles, was für ein leichtsinnsfehler ... :dash: xd
    Dennoch vielen Dank vor allem für die rasche Antwort,hätte überhaupt nicht damit gerechnet :D :thumbup:
    #Kanngeschlossenwerdenodermachtmandasselbst? xd

    Wissen gibt dir Macht, aber der Charakter verschafft dir Respekt und Anerkennung...
    Bruce Lee 1940 - 1973