Nutze die mysql_static.so .
(Entweder wenn es dir jemand hochladen kann, oder wenn du es später selbst herunterladen kannst)
Diese hat die Library bereits inkludiert, dann ist der Fehler weg. ![]()
Nutze die mysql_static.so .
(Entweder wenn es dir jemand hochladen kann, oder wenn du es später selbst herunterladen kannst)
Diese hat die Library bereits inkludiert, dann ist der Fehler weg. ![]()
In der Theorie, ja, aber nicht perfekt.
Du kannst es bei OnPlayerUpdate prüfen, ob ein Fahrzeug (wenn der Spieler in einem ist) eine andere Health (GetVehicleHealth) hat als beim Update zuvor (in einer Variable speichern und vergleichen). Falls ja, setzt du eine SpielerVariable auf die Zeit (gettime) die gerade ist. Dann prüfst du, ob in der Zeit schonmal ein Spieler sein Auto geschrottet hat, falls ja, prüfst du, ob sich der Spieler nahe dem Spieler befindet, dessen Autohealth gerade weniger geworden ist. Falls ja, haben die zwei sich gerammt.
Herauszufinden wer der Übeltäter ist geht wohl eher nicht.
Außerdem solltest du beachten, dass diese Variante nicht bei "Lag-Ram" klappt, außerdem würde es wohl auch angesprochen werden, wenn die zwei nebeneinander auf eine Wand fahren.
EDIT: Oder so wie NicoWiss es sagte, aber das funktioniert auch nur dann, wenn sich der sichtbare Schaden verändert, das ist nicht immer bei einem Rammer der Fall.
Die Seite ist wie für dich auch für mich gerade nicht zu erreichen, daher kann ich es dir auch nicht herunterladen, bzw. für dich dann hochladen.
Heruntergeladen habe ich das Plugin nicht. Ein Klick auf den Link reicht ja schon um die Funktionalität zu prüfen. ![]()
Es wird gar nicht beansprucht, da du über localhost auf deine Datenbank zugreifst. Dazu brauchst du nicht mal eine Internetverbindung.
Du brauchst diese nur um dir z.B. NaviCat oder XAMPP runterzuladen, logisch.
Die Seite scheint gerade down zu sein, versuche es einfach später/morgen nochmal.
http://isup.me/http://files.g-stylezzz.com
Als ich es vor 30 Minuten getestet habe ging es noch. ![]()
Dazu gibt es die Alternative SQLite: [ SCRIPTING ] SQLite | Die alternative zu MySQL
phpMyAdmin ist nur ein Programm um eine Datenbank zu bearbeiten. Du kannst auch NaviCat oder sonstige verwenden.Mit SQLite kannst du eben nur vom Server aus zugreifen, nicht wie bei MySQL über Webseiten etc. (Danke an Slash™: für den Hinweis, da war ich wohl nicht aktuell.)
MySQL => phpMyAdmin/NaviCat/...
SQLite => Lokale Datei
Alter ist ein MySQL Befehl.
Benenne entweder die Spalte Alter um, zu Age, oder pAlter, oder sonstwas, oder mach es so:
Alter='%i'
zu:
`Alter`='%i'
http://forum.sa-mp.com/showthread.php?t=56564
Etwas runter kurbeln, dann findest du:
(Quelle: http://forum.sa-mp.com/showthread.php?t=56564)
ist es schwer ein 7k zeilen script in MYSQL umzuschreiben?
Schwer ist immer relativ.
Es dauert halt seine Zeit, schwer ist es meiner Meinung nach nicht.
Funktioniert doch... ![]()
Klappt es ingame auch so wie du dir es vorgestellt hast, mit dem Erstellen und Löschen der Labels?
mysql_init(LOG_ALL, 1);
So muss dein mysql_init aussehen, dann neu kompilieren und dann einloggen. Dann den Log posten.
Das denke ich auch. Deshalb würde ich gerne den gesamten detaillierten Log sehen wollen.
Bei den MySQL Plugins gibt es die Möglichkeit alles (wirklich alles) loggen zu lassen, mach das bitte.
Falls du nicht weißt wie: Welches Plugin verwendest du denn? (steht beim Server Start im Server Log).
Der Error sagt, dass die Tabelle nicht existiert. Du rufst bei den Autos irgend eine Tabelle auf die es nicht gibt.
Wegen dem Login:
Es muss doch mindestens das hier geprintet werden, wenn du dich einloggst.
printf("Anmelden für %s gestartet.",SpielerName(playerid));
Schalte den mysql_log so ein, dass alles geloggt wird.
<
Zu
>
Du fragst ab ob die Fraktion kleiner ist als 0, Grade falsch herum.
Den Log den du da gepostet hast, der gehört aber nicht zum Login. Es wäre gut, wenn du den Log posten kannst, der kommt wenn du dich einloggst.
Außerdem stimmt in dem Teil den du gepostet hast auch was nicht:
Zitat[Tue Aug 26 02:16:29 2014] Error (1): Could not execute query. Table 'samp4337_datenbanksql.wanted' doesn't exist.
print("Start");
for(new j;j<sizeof(eInfo);j++)
{
printf("Index: %d", j);
eInfo[j][eLabel] = Text3D:-1;
}
print("Ende");
Debugge es mal so, was wird geprintet? Der Code an sich sollte nicht falsch sein.
Dann zeig den Code wie du ihn hast bei OnGameModeInit.
Ganz am Anfang bei OnGameModeInit:
eInfo[j][eLabel] = Text3D:-1;
Die Abfrage:
if(eInfo[j][eLabel] == Text3D:-1)
-1 = existiert nicht. Wir müssen eben den Tag beachten.
SynonymousZ hat es zwar schon richtig gepostet, aber du hast es falsch kopiert.
ocmd:buy(playerid,params[])
{
for(new i=0; i<sizeof(buyInfo); i++)
{
if(!IsPlayerInRangeOfPoint(playerid,3, buyInfo[i][buy_x], buyInfo[i][buy_y], buyInfo[i][buy_z]))continue;
ShowPlayerDialog(playerid,DIALOG_BUY,DIALOG_STYLE_LIST,"Shop - Kaufen",buyInfo[i][buykaufliste],"Kaufen","Abbrechen");
}
return 1;
}
Du musst i für die Indexe (eckige Klammern) nehmen und playerid für IsPlayerInRangeOfPoint und ShowPlayerDialog.