(220) : error 021: symbol already defined: "ERROR"
Sieht so aus als hast du irgendwo schon mal etwas mit "ERROR" deklariert.
Das Gleiche bei INFO.
Der Rest sollten Folgefehler sein.
(220) : error 021: symbol already defined: "ERROR"
Sieht so aus als hast du irgendwo schon mal etwas mit "ERROR" deklariert.
Das Gleiche bei INFO.
Der Rest sollten Folgefehler sein.
Da ich deinen Gamemode nicht kenne, kann ich dir das nicht sagen. Probiere einfach beide aus, das ist ja in 5 Minuten gemacht, dann weißt du welches passt. Andernfalls setze dich mit dem Ersteller des Gamemodes in Verbindung.
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.
Dir fehlt im Ordner /pawno/include die Datei "ProgessBar.inc".
Füge diese dort ein.
Sollte der Code irgendwoher runtergeladen sein - wovon ich ausgehe - dann solltest du diese im Downloadpaket finden. Falls du die dort nicht findest, kontaktiere den Ersteller des Codes oder versuche diese Include:
http://forum.sa-mp.com/showthread.php?t=537468
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.
Der Rest der Funktion.
Ja, so.
Aber da fehlt unten noch was, das ist nicht die komplette Funktion.
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.
Poste bitte dein OnAccountLoad.
Nutze dazu bitte beim Posten die Code-Formatierung (</> - Button im Menü).
Suche nach den beiden Variablen (STRG+F) und lösche die Deklaration (new ...) davon.
cache_get_value_name(i, "besitzer", hInfo[id][h_besitzer], MAX_PLAYER_NAME);
cache_get_value_name_int(i, "id", hInfo[id][h_id]);
Attach3DTextLabelToVehicle(SupCarLabel[playerid], SupCar[playerid], 0.0, 0.0, 0.0);
zu:
Attach3DTextLabelToVehicle(SupCarLabel[SupCar[playerid]], SupCar[playerid], 0.0, 0.0, 0.0);
Alles anzeigen[06:51:51] Loading plugin: mysql_5.5.so
[06:51:51] >> plugin.mysql: R34 successfully loaded.
[06:51:51] Loaded.
[06:51:51] Loading plugin: mysql_static.so
[06:51:51] >> plugin.mysql: R34 successfully loaded.
[06:51:51] Loaded.
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());
Wie sieht dein Code jetzt aus (Laden aus der Datenbank, OnPlayerDisconnect, Fahrzeug per Befehl erstellen).
Was - ganz genau erklärt - machst du nachdem du den Server gestartet hast, bis du ihn wieder beendest, was passiert und was soll passieren?