Es gibt nicht nur das Filesystem sondern auch SQLite von Anfang an.
Beiträge von Logan
-
-
Ich könnte schwören das man einen Pfeil(►) so macht, aber anderer seits müsstest du dann ganz viele kleine machen und wie ein puzzle zusammenfügen
MfG
Ist es eben nicht. Das ist ein Sprite und zwar die left.png.
Ich hoffe du weißt, wie man Sprites dann in ein Textdraw einbinden kann.LG
-
Dies ist mir klar. aber mit welchen Dini befehl setzt man Floats ?
Mit dini_FloatSet setzt man solche,
mit dini_Float liest man sie wieder aus.LG
-
Hallo,
auch wenn ich dich aufgrund deiner langen Beschäftigungszeit verstehen kann, dass du nicht willst,
dass irgendwelche Kiddys dein Script als ihres ausgeben wollen.
Jedoch,nach deiner jetzigen Methode, kann das gleiche wieder passieren.
Du kannst das o.g. nicht ganz verhindern, wenn du es veröffentlichst, damit muss man klar kommen.P.S: Und nein, ich habe nicht das Script angefragt und werde es auch nicht.
LG
-
und mit ocmd?

Das liegt daran dass du noch eine alte Version von OCMD benutzt. Suche mal hier im Forum nach ocmd.
Da ist v2 iwo drinnen, da ist case-sensitive deaktiviert.LG
-
Befehle mit rCmd v2 erstellen:
Befehle so einfach wie nie!
Vorwort:
Hallo Leute,
ich heiße euch hiermit herzlich Willkommen zu einem weiteren Tutorial von mir.
Bevor jetzt irgendeiner damit kommt, dass es ein Tutorial über dieses Thema schon einmal gabt,
möchte ich gerne darüber aufmerksam machen, dass dieses Tutorial sich auf die v2 bezieht.
Die Include wurde nochmal komplett neugeschrieben, da einige Bugs drinnen waren, die zur Folge hatten, das viele Befehle nicht
funktioniert haben & die "Art" bzw. "Vorangehensweise" Befehle zu erstellen hat sich auch geändert.
rCmd ? Oh Gott, bitte nicht noch ein anderer Commandprozessor ...
werden sich sicherlich viele von euch just gerade in diesem Augenblick denken.
Viele kennen es ja: OCMD,DCMD,ZCMD,BCMD, uvm. ( Ich kann hier nur Maddin zitieren: "XCMD [für X bitte einen beliebigen Buchstaben aus dem Alphabet einfügen]"). Bei solchen Commandprozessoren ist eben der Fall, dass die Syntax immer die selbe ist. Die Befehle für OCMD,DCMD,ZCMD,etc. erstellen sich immer gleich.
Doch das hier soll nicht das Thema des Tutorials sein.
Es geht hier um rCmd. Dieser Commandprozessor hebt sich von diesen andern CMDProzessoren erheblich ab.
Die Include wurde von RyDeR` aus dem englischen SAMP-Forum entwickelt.
Ihr könnt sozusagen "dynamische Parameter" in euren Befehlen verwenden (wie eben in sscanf auch), jedoch ist diese Art, meiner Meinung nach
einfacher & auch leichter zu handhaben.
Um sich hier einfach mal konkret auf die v2 zu beziehen, hat sich geändert, dass das sscanf2 Plugin nun mit integriert wurde.
D.h., ihr braucht die sscanf2 Include und auch dementsprechend dann das Plugin für den Server.Benötigte Includes:
So, wie bei vielen anderen Sachen, braucht ihr auch hier ein paar Dinge im Voraus.
Das wären:
--- > sscanf2 Include + Plugin
---> rCmd.inc
---> dynamicparams.inc
Ihr verschiebt alle Includes in den pawno/includes Ordner und das sscanf.dll/so Plugin in den Ordner "plugins".
Danach passt ihr in der server.cfg bitte noch den Abschnitt "plugins" an.
Natürlich müsst ihr dann auch noch mit #include <rCmd> den Commandprozessor in euer/en Filterscript/Gamemode inkludieren.
Wichtig: Bitte unbedingt rCmd so schreiben! Bei mir gabs sonst Fehler! Bei den Befehlen auch immer: rCmd[]->...Befehlserstellung:
Doch wie kann ich nun mit rCmd dementsprechend Befehle erstellen ?
Ruhig, dazu kommen wir genau jetzt
Wenn ich mich jetzt grob ausdrücken könnte, würde ich den allgemeinen rCmd Befehl ungefährt so gliedern:
rCmd["Bezeichner für die Befehlsparameter"]->befehlsname(playerid,success,parameter1,parameter2,...)
Wir werden dann noch genauer darauf eingehen, jedoch unterteile ich dieses "Kapitel" jetzt noch einmal in zwei Untergliederungen.
Befehle mit Parameter:
So da wären wir mal bei den Befehlen mit Parametern.
Wir beziehen uns oben jetzt mal auf den Grobaufbau, den ich oben ausführlich geschildert habe.
Man schreibt generell immer "rCmd" vor den eigentlichen Befehl.
Danach, in den eckigen Klammern, kommen die entsprechenden sscanf2 Bezeichner für die Datentypen der Parameter jeweils hin (so wie ihr immer u für playerid, usw. nehmt). Danach folgt ein "->". Das bedeutet eigentlich nur so viel, dass hier danach der eigentliche Befehl folgt.
Für den Befehlsnamen gebt ihr dann eben den Namen für den gewünschten Befehl an (z.B ban,kick,etc.).
In der runden Klammern bzw. der Parameterliste danach, folgt danach erst einmal "playerid" & danach "success".
"playerid" steht hier einfach nur für den ID des Spielers, die den Befehl ausführt.
"success" steht hier dafür, ob der Spieler "inGame" die richtige Syntax für den Befehl eingegeben hat (z.B ob der auch wirklich alle Parameter für den /kick Befehl belegt hat). Danach für den Parameter1 bzw. 2 und 3. ( wie viele ihr eben haben wollt) schreibt ihr dann die Variablennamen für die Parameter hin ( Bei OCMD z.B habt ihr dann einfach halt, das im Funktionsbauch gemacht, z.B new pID oder new grund[]).Wichtig: Vor alle nicht array Variablen (also Floats,Integers ...) müsst ihr immer ein & Zeichen davor setzen (aber nicht vor playerid und success), da sonst die Parameter verbuggt wären würden.
Hier schreibe ich einfach mal ein kleines Beispiel rein:
rCmd["r"]->kick(playerid,success,&pID) { //"r" ist hier der Bezeichner für pID (da das nur eine Spielerid oder Name sein soll). Vor pID muss ein &! (nicht array Variable)
if(!success)return SendClientMessage(playerid,-1,"Falsche Verwendung! Benutze: /kick <playerid>"); //"Syntax" Check
if(pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,"Ungültiger Spieler!"); //Wenn Spieler nicht verbunden
Kick(pID); //Ansonsten kicke den Spieler vor dem Server
return 1;
}
Ich denke, dass im Code in den Kommentaren alles nochmals ausführlich erklärt ist.
Wer immer noch nicht weiß, wie die richtigen Bezeichner für die "Datentypen" der Parameter ist, sollte sich mal das sscanf2 Tutorial von maddin: ! anschauen!Befehle ohne Parameter:
Jetzt werden sich aber einige fragen, was denn ist, wenn man z.B einen Befehl ohne Parameter erstellen will ?
Das geht auch sehr einfach. Man lässt einfach die Bezeichner in den eckigen Klammern weg und schreibt in die Parameterliste einfach nur "playerid" noch mit rein.
Beispiel:
rCmd[]->test(playerid) {
SendClientMessage(playerid,-1,"Du hast gerade einen Befehl ohne Parameter eingegeben!");
return 1;
}Callbacks:
Wie auch in ZCMD, gibt es in rCmd die gleichen Callbacks, da Sie ziemlich nützlich sind.
Fangen wir mal beim 1. von zweien an.
forward OnPlayerCommandReceived(playerid, cmdtext[]);
Dieser Callback wird aufgerufen, bevor der eigentliche Befehl ausgeführt wird. Sprich: Wenn man hier return 0; hinschreibt, hat das die Folge,
dass der eigentliche Befehl deaktiviert wird. Das eignet sich prima zum Deaktivieren von Befehlen, wenn man z.B gemutet ist.
public OnPlayerCommandReceived(playerid,cmdtext[]) {
if(!strcmp(cmdtext,"/notenabled",true)) { //checken ob der "notenabled" Befehl eingegeben wurde
SendClientMessage(playerid,-1,"Dieser Command ist derzeit leider deaktiviert!"); // Sende ihm dementsprechend eine Nachricht
return 0; //Und verhinder hier, dass der Befehl ausgeführt wird.
}
return 1;
}Dann kommen wir auch noch zum letzen Callback:
forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
Dieser Callback wird dann aufgerufen, nachdem der Befehl ausgeführt wurde.
Nutzen kann man dies z.B um zu überprüfen, ob der Spieler überhaupt einen gültigen Befehl eingegeben hat, wenn nicht, sende ihm eine Nachricht, die ihn über die Nichtexistenz
aufklären soll.
public OnPlayerCommandPerformed(playerid,cmdtext[],success) { //cmdtext ist der eingegebene Befehl, success ob der CMD erfolgreich ausgeführt wurde
if(!success) { //Wenn der CMD nicht ausgeführt wurde, sprich er eigentlich gar nicht existiert ...
return SendClientMessage(playerid,-1,"Dieser Befehl existiert nicht. Benutze /help für verfügbare Befehle!"); //sende ihm eine Infonachricht
}
return 1;
}Probleme mit rCmd:
Es gibt vielleicht auch Leute, bei denen die Benutzung von rCmd zu Problemen führt, bzw. bei denen vielleicht einfach gar kein Befehl klappen will.
Dazu gebe ich folgenden Tipps:
- Wenn ihr ein anders CMD-System wie OCMD,etc. benutzt, entfernt es
- Wenn OnPlayerCommandText sich noch in eurem Script befindet, entfernt es!Schlusswort:
Ich muss sagen, dass die Befehle mit rCMD auf den ersten Blick ein wenig kompliziert wirken.
Das war auch der erste Eindruck auf mich. Jedoch wenn man es wirklich verstanden hat, geht es nach einiger Zeit wirklich viel einfacher so Befehle
mit Parametern zu erstellen, da diese Methode sehr effektiv ist. Mittlerweile bin auch Nutzer der Include.
Falls ihr irgendwelche Fehler findet, scheut euch nicht, diese mir mitzuteilen!
Ich hoffe, dass euch mein Tutorial gefallen hat!LG
-
Ahhhhh... ich bin verwirrt. Was denn jetzt?
Ich denke,er meint, dass die Mods zwar, ich sage jetzt mal auf dem Server liegen, die
Mods jetzt aber nicht serverseitig aktiviert werden sondern über alle Clienten.LG
-
Der Fehler sagt das eine Liste zu groß wird hat du zusätzliche Modifikationen drinnen
Joa dann wird es wohl an den Extra Texuren liegen ....LG
-
Schon mal versucht den Editor mal zu Löschen und ihn nochmal in den GTA Ordner zu verschieben?
Ja das habe ich schon jetzt ca. das 5. Mal gemacht ...LG
-
Durchaus möglich.
Du kannst versuchen den San Andreas Limit Adjuster zu adden. Damit kann San Andreas mehr COL's etc. laden
Hallo,
habe ich installiert & wieder den Editor gestartet, jedoch funktioniert es immer noch nicht.
Hat keiner ne Lösung ?LG
-
Irgendwelche Map Mods drinne?
Hm, jetzt wo du es sagst ja. Ich habe andere Texturen als die standard mäßigen drinnen, macht das das aus ?LG
-
Hey Leute,
wollte mal wieder den SAMP Map Editor starten.
Doch da wurde mir nur ein Fehler ins Gesicht geschleudert.
Und zwar wird mir erst iwas einer kryptischen Sprache angezeigt wenn ich auf LOAD drücke, und danach der Fehler:
"List index out of bounds".
Danach wird einfach die "Welt" nicht geladen ...Hatte jmd. schon ein Mal dieses Problem oder weiß, wie ich es beheben kann ?
Danke im Voraus!
LG

-
Alles anzeigen
Wie halt alle nur die Standartbrowser kennen.
Ich empfehle de.maxthon.com/
Hier mal ein Test Video von mir:
Standard heißt nicht, dass er schlecht ist.
Und so wie dein Browser da aussieht, basiert der auch auf der Chrome Engine
MfG
-
Google Chrome eignet sich eigentlich am besten zum Surfen im Internet.
Schnell, kaum bis keine Wartezeit und auf Seiten mit viel Javascript Verwendung wird die Seite eigentlich nur mit dem Chrome richtig
dargestellt (wie z.B auf mega.co.nz, da funzt die Seite mit dem Firefox nicht,Opera,Safari mit dem IE 10 zu 80 %).
Jedoch muss ich auch sagen, dass der Internet Explorer in seiner aktuellsten Version 10 auch nicht schlecht ist.
Edit: Safari empfehle ich für WINDOWS überhaupt NICHT, da er einfach ziemlich langsam ist, Massen an Sicherheitslücken hat, und ihm ziemlich viele
wichtige Features fehlen.MfG
-
Zeig mal deinen Rollerdel befehl ...
MfG
-
DL war die ganze Zeit down ;D ?!
Irgendwie ja nicht, die Pastebin auf Dropbox war die ganze Zeit erreichbar :O -
Alles anzeigen
:P...
Da muss ich ihm zustimmen

Ich würds rausnehmen und weiter dran arbeiten

Lg
Jetzt, wenn das Script schon über nem halben Jahr released worden ist
-
# Neuer Download Link hinzugefügt!
Bedankt euch bei dem netten Herrn Schmitz
Du musst wenn schon den Decrpytionkey mit reinpacken.
Sonst hilft das ganze allen wenig
-
Yo Leute,
wie schon die Überschrift sagt, habe
Ich seit neustem das Problem, das der Windows Server bzw. der lokale Server nach Anklicken eines Textdraws, in diesem Falle das Login Textdraw crasht.
Folgendes kommt in der Server.log durch crashdetect:ZitatAlles anzeigen[17:36:30] [debug] Server crashed while executing urp.amx
[17:36:30] [debug] AMX backtrace:
[17:36:30] [debug] #0 native mysql_real_escape_string () [100081d0] from mysql.DLL
[17:36:30] [debug] #1 0001c60c in public OnPlayerClickPlayerTextDraw () from urp.amx
[17:36:30] [debug] System backtrace:
[17:36:30] [debug] #0 737d4951 in ?? () from C:\WINDOWS\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6871_none_50944e7cbcb706e5\MSVCR90.dll
[17:36:30] [debug] #1 737d4996 in ?? () from C:\WINDOWS\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6871_none_50944e7cbcb706e5\MSVCR90.dll
[17:36:30] [debug] #2 10009991 in ?? () from C:\Program Files (x86)\Pawn\plugins\mysql.DLL
[17:36:30] [debug] #3 100071dd in ?? () from C:\Program Files (x86)\Pawn\plugins\mysql.DLL
[17:36:30] [debug] #4 1000afa8 in ?? () from C:\Program Files (x86)\Pawn\plugins\mysql.DLL
[17:36:30] [debug] #5 100082c2 in ?? () from C:\Program Files (x86)\Pawn\plugins\mysql.DLL
[17:36:30] [debug] #6 004010b6 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #7 73453c32 in ?? () from C:\Program Files (x86)\Pawn\plugins\crashdetect.DLL
[17:36:30] [debug] #8 73456076 in ?? () from C:\Program Files (x86)\Pawn\plugins\crashdetect.DLL
[17:36:30] [debug] #9 7344c05a in ?? () from C:\Program Files (x86)\Pawn\plugins\crashdetect.DLL
[17:36:30] [debug] #10 73453c5e in ?? () from C:\Program Files (x86)\Pawn\plugins\crashdetect.DLL
[17:36:30] [debug] #11 0046ee2b in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #12 0048d8d9 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #13 771bfd82 in ?? () from C:\WINDOWS\SYSTEM32\ntdll.dll
[17:36:30] [debug] #14 004931b6 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #15 004931d8 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #16 67e8046a in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #17 59000043 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #18 247c83c3 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #19 2277e004 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #20 042474ff in ?? ()
[17:36:30] [debug] #21 ffff75e8 in ?? ()
[17:36:30] [debug] #22 59c085ff in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #23 44391675 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #24 10740824 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #25 042474ff in ?? ()
[17:36:30] [debug] #26 005cdee8 in ?? ()
[17:36:30] [debug] #27 59c08500 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #28 c033de75 in ?? ()
[17:36:30] [debug] #29 ec35ffc3 in ?? ()
[17:36:30] [debug] #30 ff004f26 in ?? ()
[17:36:30] [debug] #31 e8082474 in ?? ()
[17:36:30] [debug] #32 ffffffc5 in ?? ()
[17:36:30] [debug] #33 6ac35959 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #34 22d0680c in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #35 02e8004b in ?? ()
[17:36:30] [debug] #36 8b000044 in ?? ()
[17:36:30] [debug] #37 f6850875 in ?? ()
[17:36:30] [debug] #38 3d835874 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #39 004f2c94 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exe
[17:36:30] [debug] #40 6a407503 in ?? () from C:\Program Files (x86)\Pawn\samp-server.exeSehr komisch, weil ich NICHTS in OnPlayerClickPlayerTextDraw geändert habe.
Aber hier, das dementsprechende Callback:
public OnPlayerClickPlayerTextDraw(playerid,PlayerText:playertextid)
{
if(playertextid != PlayerText:INVALID_TEXT_DRAW) {
if(playertextid == PlayerTextDraw[playerid][LoginBetreten]) {
CancelSelectTextDraw(playerid);
new query[128],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof name);
mysql_real_escape_string(name,name);
format(query,sizeof query,"SELECT * FROM accounts WHERE Name = '%s'",name);
mysql_function_query(dbhandle,query,true,"THREAD_CheckAccount","i",playerid);
}
if(playertextid == PlayerTextDraw[playerid][LoginChangelog]) {
ShowUpdates(playerid);
}
if(playertextid == PlayerTextDraw[playerid][LoginVerlassen]) {
CancelSelectTextDraw(playerid);
SendClientMessage(playerid,ROT,"Auf Wunsch wurdest du vom Server gekickt!");
Kick(playerid);
}
}
return 1;
}Danke im Voraus!
MfG
-
hr viele Idee. Ich kann leider nicht auf alle direkt eingehen, da es etwas zu viel ist.
|-|auke, bitte tu der Menschheit einen Gefalle und release dein Werk

LG

