Beiträge von Jeffry

    PlayerTextDrawShow(playerid, vRL_Register[playerid]);
    ZuPlayerTextDrawShow(playerid, vRL_Register[playerid][i]);


    Und die Schleife zu
    for(new i = 0; i < sizeof(vRL_Register[]); i++)


    Eventuell musst du auch dein gesamtes Array noch auf zwei Dimensionen anpassen. Zuerst MAX_PLAYERS und dann 20.

    Jetzt ist es viel zu viel.
    Zeile 22 bis 440 ist der Teil um den es geht.


    Erstelle jetzt bitte im Ordner "pawno" eine Datei mit dem Name "pawn.cfg" und schreibe dort "-d3" rein (ohne Anführungszeichen).
    Öffne dann die pawno.exe und kompiliere deinen Code erneut.


    Poste dann bitte das, was der Compiler dir ausgibt und starte außerdem deinen Server neu, logge dich nochmal im Spiel ein und poste zusätzlich, was der Server Log dir dann ausgibt, wenn der Fehler auftritt.

    Das wäre die gesamte Funktion von Aurax. Der rest der fehlt.

    Danke, das ist schonmal gut zu wissen, wie die aussieht.
    Trotzdem sollte Aurax das selbst hinbekommen, da er sonst die anderen Schritte auch nicht hinbekommt.



    So jetzt besser

    Nein.
    Nach wie vor fehlt unten der Rest.
    Es kann doch nicht so schwer sein, die komplette Funktion bis zur nächsten Funktion im Code zu posten.
    Ich verstehe nicht, warum du mitten in der Funktion aufhörst. Poste doch einfach alles bis zur nächsten Funktion (forward ...).
    Das solltest du hinbekommen, ansonsten macht alles andere auch keinen Sinn.

    weil hab es halt ganz normal mit #define XXXX 1 z.b

    Das ist auch besser so, vor allem dann, wenn man Dialoge in mehreren Codes (Gamemode, Filterscript) definiert.
    Beim enum würde die erste ID immer bei 0 anfangen, somit hätte man in beiden Codes den ersten Dialog auf ID 0, das klappt nicht. Man muss daher den ersten Wert des enums explizit anpassen, damit das nicht vorkommt.
    Vergisst man das, sodass sich die IDs überschneiden, kommt es schnell zu Dialog-Konflikten, sprich falsche Dialoge werden angezeigt.
    Vor allem bei Filterscripts, die veröffentlicht werden, sollte man das unbedingt vermeiden, mit enums zu machen.


    Ich empfehle daher die #define - Variante, auch wenn es mehr Schreibarbeit ist.


    Ressourcentechnisch spielt es keine Rolle.

    Auch wenn es bereits funktioniert:
    Entferne bitte das "mysql_5.5.so" aus deiner server.cfg
    Es macht keinen Sinn, das Plugin zwei mal zu laden, das führt nur zu Problemen, wenn du Funktionen ausführst, da diese eventuell doppelt ausgeführt werden.

    Kann ich einfach so die Garagen mit dem Editor entfernen? - Funktionieren sie dann nicht mehr?

    Die einfachste und schönste Möglichkeit dazu ist, das Tor zu entfernen und das gleiche Tor wieder hin zu mappen, das führt zu keinen Problemen. Das neue Tor öffnet sich dann nicht mehr.
    Die Garagen an sich sind nämlich nicht immer nur ein Objekt, sondern können auch noch mehr an sich dran haben.


    Du brauchst dir die Arbeit nicht mal machen, das gibt es bereits fertig hier:
    http://forum.sa-mp.com/showthread.php?t=499780

    Genau..sowas wie Kommentare existieren natürlich nicht.

    Daher "ziemlich genau". Sofern man keine Romane in die Map schreibt.
    Ansonsten einmal das ganze OnGameModeInit in Notepad++ kopieren -> STRG + H -> CreateObject / blabla -> Es wurden X Elemete ersetzt.
    Aber wie gesagt, das sind allesamt keine guten Lösungen, daher die beiden Funktionen, damit bekommt man alles hin, was man mit allen anderen Möglichkeiten zusammen hinbekommt.



    Und man kann es auch einfach an das Objekt machen, was zuletzt erstellt wird..unabhängig von seinem Ort...

    Die Funktionen kann man auch unabhängig von ihrem Ort ausführen und man bekommt sogar zur Laufzeit unterschiedliche Werte, wenn man weitere Objekte erstellt.



    Allet klar das macht natürlich voll Sinn

    Ich finde die Lösung schlecht, aus genannten Gründen. Wenn dir das nicht passt, kann ich dir auch nicht helfen.



    ...doch natürlich F5 funktioniert genauso gut wie deine Lösung?!

    Dann printe das doch mal im Server Log oder zeige es in einem Dialog/Textdraw/... an. Viel Spaß ;)

    ich denke es ging ihm um seine Map

    Das sieht man schon ziemlich genau an der Zeilen-Zahl-Angabe am Rand, da brauch man nichts zählen lassen. Außer der Code ist so durcheinander, dass zwischen den Objekten immer wieder was anderes steht, was wenig Sinn macht.


    Wenn man die Objekte vom Server zählen lassen will, dann richtig. Und in fast allen Anwendungsfällen ist deine "Lösung" nur halbgar, daher bezeichne ich diese als schlecht.



    denn diese funktionieren genauso gut wie deine

    Nur nicht immer ¯\_(ツ)_/¯

    Ja natürlich unter OnGameModeInit löscht man direkt ein Objekt...

    Warum sollte man Objekte nur bei OnGameModeInit erstellen? Es gibt genügend Fälle, Objekte irgendwann zu erstellen und auch wieder zu löschen.



    und das unter F5 zeigt die aktuellen Objekte an.

    Das klappt beim Streamer aber nicht bzw. nur bedingt.



    Wenn man ein Objekt löscht..wird es hier auch nicht angezeigt.

    Korrekt, aber genau das ist das Problem.
    Du erstellst Objekt 0,1,2,3,4,5 und löschst dann Objekt 1.
    Jetzt führst du deinen Code aus, der erstellt dann Objekt 1 wieder, somit ist der Count laut deinem Code 1. Das ist falsch.



    Zudem sollte noch erwähnt werden, dass diese Funktion aufgerufen werden sollte, nachdem die Objekte erstellt wurden...

    Die Funktion kann dann aufgerufen werden, wann immer man möchte. Es wird dann die Anzahl der zu dem Zeitpunkt existierenden Objekte ausgegeben.

    Das ist eine schlechte Lösung, vor allem dann, wenn man ein Objekt löscht, dann klappt das nämlich nicht.


    So zählt man die Objekte richtig:
    stock GetObjectCount()
    {
    new count;
    for(new i = 0; i < MAX_OBJECTS; i++) if(IsValidObject(i)) count++;
    return count;
    }
    Zu nutzen:
    printf("Es gibt insgesamt %d erstellte Objekte.", GetObjectCount());



    Beim Streamer Plugin:
    stock GetDynamicObjectCount()
    {
    return Streamer_CountItems(STREAMER_TYPE_OBJECT);
    }
    Zu nutzen:
    printf("Es gibt insgesamt %d erstellte Objekte, davon sind aktuell %d auf dem Server sichtbar.", GetDynamicObjectCount(), GetObjectCount());