söllte so aussehen
Ne, außer du willst, dass dein Passwort Groß-Kleinschreibung ignoriert.
----
Es scheint mir alles so, als sei der Pfad falsch, den du angibst. Bist du ganz sicher, dass du den richtigen Pfad (/Spieler/%s.txt) angegeben hast?
söllte so aussehen
Ne, außer du willst, dass dein Passwort Groß-Kleinschreibung ignoriert.
----
Es scheint mir alles so, als sei der Pfad falsch, den du angibst. Bist du ganz sicher, dass du den richtigen Pfad (/Spieler/%s.txt) angegeben hast?
[i] musst du zu i ändern, sonst gibt's errors.
new id = GetPlayerVehicleID(playerid);
for(new i=0;i<MAX_PLAYERS;i++) if(id == GetPlayerVehicleID(i)) SendClientMessage(i, Farbe, Nachricht);
Es reicht die Vehicle ID abzufragen.
Zeig mal den Part, wo dein Passwort geladen wird.
Beim einloggen und beim test Befehl geändert? Muss beides mal zu %s geändert werden.
Wenn das dann immer noch nicht tut: Steht es richtig in der Datei drinnen?
%d zu %s
d steht für zahlen.
s steht für strings.
Ich habe grade selbst sehr viel zu tun, daher wird das wohl eher nichts, ich komme immer so um fünf heim und muss dann noch relativ viel für meinen Server machen.
Wenn du mal aufzählen kannst, was dieser Zug bot Alles machen soll, kann ich mal schauen ob ich bis zum Wochenende Zeit und Lust habe. Bitte erkläre es genau weil ich hab noch immer nicht verstanden was du genau mit bot meinst, das ganze hört sich eher nach einem Job an.
Ließ dir am besten mal diesen Post von mir durch:
Wer kann mir das Scripten erklären ;) ?
Wenn du was kleines machen willst, dann mach vielleicht ein teleportmenü oder ein Autoren, irgendsowas in der Art.
Das ist ja was völlig anderes. Da musst du ja sonst fahren und nicht der NPC fährt wenn ich das richtig verstanden habe.
Dann musst du mit checkpoints arbeiten. Du solltest dir vielleicht erstmal was kleineres vornehmen, damit du die Grundlagen der PAWN Sprache lernst.
Wenn du trotzdem dieses System machen willst, brauchst du checkpoints und Spieler-Variablen.
gultigbis[playerid] = dini_Get(Spielerdatei,"Auswgultig");
Zu
format(gultigbis[playerid], 60, "%s", dini_Get(Spielerdatei,"Auswgultig"));
Strings kann man nur gleichsetzen, wenn sie gleich groß sind. Ansonsten muss man sie formatieren.
Kannst du überspringen, alles bis dahin wo die Aufnahme beendet wird kannst du weglassen.
Den Teil der die Aufnahme des bots beschreibt kannst du dir sparen, da die Aufnahme ja schon in dem heruntergeladenen Ordner drinnen ist.
Du gehst einfach wie beschrieben in dem tutorial vor, außer dass du den bot nicht aufnimmst sondern nur die .recht aus /npcmodes/recordings nimmst.
punK_:
http://files.sa-mp.com/samp03x_svr_R1-2_win32.zip
Im Ordner npcmodes findet sich für jeden Teil von GTA:SA ein Zug-NPC (train...).
Ausserdem formatiert man die "array" da es ein string ist
Nein, nicht wenn die Array-Größe gleich ist. Kann man zwar, ist aber nicht von Nöten.
new result[100];
zu:
new result[128];
Die zwei Arrays müssen gleich groß sein.
meiner meinung nach gehört sowieso jeder geschlagen der zwei strings mit format zusammenfügen möchte.
für was gibt es memcpy oder strcat. Nur ist hierzu zu beachten das man die länge angibt da sizeof in dem fall bei den optionalen Parametern eine Funktion nix nutzt.
Für jemanden der nicht 100% optimiert den Code schreibt ist das völlig egal. Letzendlich ist es so übersichtlicher und für Anfänger einfacher zu verstehen. Es wird weder die RAM noch die CPU interessieren, da es bei 1.000.000 Aufrufen nicht einmal 100ms (@3,4GHz) ausmachen, runtergerechnet auf einen Aufruf sind das 0,0001ms = 0,000.000.1s. Ich nenne das mal unwesentlich im normalen Gebrauch, was ca. 99.99% aller SA-MP Server betrifft, auf denen jemals mehr als 10 Spieler online sind. Da halt ich es für schwachsinnig mit Funktionen umzuwerfen, bei denen die meisten hier keine Ahnung haben, was diese machen, bzw. wie sie funktionieren, was als Folge hat, dass nur noch mehr Fehler passieren. Hier gilt es abzuwegen.
Ich wüsste nicht was Tochnas gelernt hat/hätte, wenn er sich einfach deinen Code kopiert und das wars, den kann er zwar benutzen, aber kann ihn nicht nachvollziehen.
Wer wirklich einen effizienten Code schreiben will, der sollte auf MySQL verzichten, das ist tausend mal schlimmer als solch kleine Funktionen.
Ich habe kein Problem über Effizienz zu diskutieren, das sollte aber nicht in diesem Thread geschehen.
case 3: format(SektorInfo[i][sName], 16, "%s", strlen(tmpstring));
zu
case 3: format(SektorInfo[i][sName], 16, "%s",tmpstring);
Dann sollte es gehen. strlen gibt dir ja nur die Länge des namens zurück.
%i zu %0.2f
Health ist ein float.
Hast du dein enum hierzu geändert?
enum sektor_daten {
sCID,
sName[16],
Float:sX1,
Float:sY1,
Float:sX2,
Float:sY2,
sArt
};
new SektorInfo[10][sektor_daten];
Wenn ja, zeig nochmal den gesamten Code samt enum wie er jetzt ist, damit ich es nachtesten kann.
Hier, das hab ich mal gemacht:
http://forum.sa-mp.de/gta-mult…hnelligkeit-2#post1694731
Musst eben die Auto ID(s) abändern.