Das sind keine Gleitkommazahlen (Floats).
Beiträge von Campbell
-
-
Wie? Die sollen da ja nicht sein in den Dateien sind dort die Koords auch nicht die Pickups will ich da nicht haben
Gebe dir die Enter-Koordinaten aus dem Array vor dem Erstellen des Pickups aus. -
[10:27:10] Loading plugin: mysql.so
[10:27:10] Failed (plugins/mysql.so: undefined symbol: _Z13stringvprintfPKcPc)
[10:27:10] Loading plugin: sscanf.soIch benutze das MySQL System V7 für Linux und bekomme leider nur einen Fehler. Bitte einmal genau erklären wie du den oben angegebenen Fehler umgehst. Ich möchte hier keine andere MySQL Version, lediglich eine Lösung.
MySQL R7 hatte unter Linux schon des öfteren Probleme bereitet. Folgende Lösung für das Problem wurde im englischen Forum gefunden: http://forum.sa-mp.com/showpost.php?p=1741866&postcount=2248 -
Versuche zu debuggen. Lasse dir die Koordinaten, an denen das Pickup erstellt wird ausgeben und vergleiche, ob es so sein soll.
-
Dann verwende es doch wie du es willst, guck dir nebenbei den Native an und behaupte dann weiter Dinge

Klick - Seite 125 -
Es unterdrückt einen Warning, nicht aber die Verwendung von der Variable.
-
Das ganze wird dann auf die "Private" sowie "Global" Ebene gezogen. Solltest du es als "Unused" beschreiben ( -> durch das #pragma ) und sie dennoch verwenden kann das zu Fehler während dem Compilen führen. Ist daher abzuraten.
MfG.
Falsch, es wird nicht zu Errors kommen. #pragma unused dient nur dazu, um Unused-Warnings zu unterdrücken - sind jedoch für die Codestruktur nicht zu empfehlen. Mehr steckt hier nicht dahinter. -
Dann ist die Variable unter OnGameModeInit nicht mehr zu gebrauchen.
Außerhalb aber schon
Falsch, probiert es doch einfach aus:
#include <a_samp>main() {
new Hami = 6;
#pragma unused Hami
printf("%i", Hami + 6);
}Ausgabe:
Zitat12
-
Es heißt 'Krise' und 'denken'.
-
Eine alternative zum escapen ist direkt mysql_format zu verwenden um dies noch hinzuzufügen da
mysql_format das escapen schon beinhaltet jedoch muss man dazu den Platzhalter %e verwenden
Das ist keine Alternative, man escaped nur mit einer anderen Funktion. Trotzdem wird es so, wie es oben beschrieben ist nicht gut funktionieren, da eben Zahlen, SQL-Begriffe, Tabellen, Felder etc. eben mal nicht escaped werden sollen. -
Sind die beiden Variablen groß genug?
-
Tabellen-, Feldnamen und Zahlen etc. zu escapen ist Schwachsinn. Man escaped NUR Strings und setzt diese in String-Begrenzer.
-
Ist definitiv nicht für Anfänger geeignet.
Dennoch gute Erklärungen und ein anschauliches Format!
Gute Arbeit
Das ist korrekt. Ein wenig Vorkenntnis über Pawno und MySQL sollte bereits vorhanden sein, dennoch ist es trotzdem für jeden geeignet, der sich mal Gedanken über ein Haussystem machen möchte (auch Anfänger, damit diese sich ein Bild machen können). Denn im Tutorial wird das Handhaben von Queries und der einzelnen Funktionen erklärt. Weiterhin werden alle Funktionen in den Kommentaren angesprochen und zu mindest am Rande erklärt. Für Anfänger wird es einfach etwas länger dauern, da diese sich die Funktionen evt. genauer im Wiki anschauen möchten. Aber dieses Tutorial ist ja auch nicht dazu gedacht, die Basics des Scriptens zu erläutern. Wenn man bisher keine Ahnung vom Scripten hat, sollte man sich auch nicht mit Haussystemen befassen, sondern mit kleineren Bausteinen, die evt. Teil eines Haussystems sind. -
bei campel ist nen fehler drin, zudem muss bind in der servercfg eingetragen werden. den default ist das nicht in der servercfg.
Man möchte ja so oder so den Script nur selbst verwenden, daher ist es ja ein kleineres Übel, bind in die Config einzutragen. Und bei Weiterverbreitung an zB. Kunden muss man diese ja bereits über Plugins etc. in der server.cfg aufklären. Im gleichen Moment kann man über bind aufklären. Ansonsten kann man ebenfalls Fehlermeldungen ausgeben, falls bind NULL ist.hier der scriptfehler:
Richtig, danke für die Anmerkung. -
Kannst ja auch wie folgt vorgehen:
#define ip12 "127.0.0.1"#if !defined isnull
#define isnull(%1) \
((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endifpublic OnGameModeInit() {
new bind[16];
GetServerVarAsString("bind", bind, sizeof(bind));
if(isnull(bind) || strcmp(bind , "ip12")) {
SendRconCommand("exit");
} else {
// ... IPs stimmen überein.
}
} -
- Ohne Verschlüsselung/Hashen bringt dies garnichts, da Strings einfach in einer .amx Datei geändert werden können.
- Überprüfe, ob 'bind' NULL ist, da strcmp() 0 zurückgibt, wenn einer der Parameter NULL ist.
- Wenn du es lokal prüfst müsste es ja stimmen, da localhost 127.0.0.1 ist.
-
-
Hast du die Variable evt. nicht als String definiert? Ohne Quellcode kann man dir nur schlecht helfen.
-
wie währe es einfach das rcon pw im script zu setzen ?
und denn ohne rcon keine adminrechte
wenn dann einer die amx klaut verliert der ohne adminrechte schnell das interesse
Da strapaziert man Nerven, sichert jedoch das Script nicht. -
Man müsste nicht einmal den Umweg über PHP gehen:
- Parameter 'bind' aus der server.cfg auslesen (Bind: Force the server to use a specific IP on a server. This IP must match one assigned to a network card on the server. This is useful for running multiple servers on the same port on the same box) via GetServerVarAsString() (http://wiki.sa-mp.com/wiki/GetServerVarAsString).
- Verschlüsselt/Gehasht die IPs derer Server in der AMX halten, welche zugelassen sind.
- Ausgelesenen String aus server.cfg verschlüsseln/hashen und vergleichen.
- Falls keine Übereinstimmung gefunden wird wird 'exit' per RCON gesandt.