Wie erstellst du die Schranke?
Wird der Code aufgerufen?
Beiträge von Jeffry
-
-
Dann habe ich das normale MySQL.so und 5.5 Plugin herausgenommen und nur mit dem Static gestartet hat auch alles funktioniert .
Das ist auch korrekt, nur eins davon muss gestartet werden.
Das mysql_static.so hat die Libraries bereits eingebaut, die die anderen beiden nicht haben, daher ist das in deinem Fall das richtige.Jetzt benötige ich hilfe das ich hinbekomme das Plugin zum laufen zu bekommen aber natürlich auch ohne diese mysql_tquery Fehler
Sieht so aus als lässt du mysql_tquery ausführen, bevor du eine Verbindung zur Datenbank (mysql_connect) hergestellt hast.
-
Aber wieso funktioniert es aufn USB ? xD
Das weiß ich nicht, es hin und wieder mal so seltsame Phänomene. Ist nur eine Vermutung, weil das Fehlen von AddPlayerClass diesen Fehler verursachen kann.
-
Hast du in deinem Gamemode mindestens eine "AddPlayerClass" stehen?
Wenn nicht, füge eine dazu. -
Ist die von der str_lib
Versuche es hiermit:
stock str_replace2(const search[],const replace[], source[], size=sizeof source)
{
new i=strfind(source,search),tmp=strlen(search),len=strlen(replace);
if(i==-1) return 0;
for( ; i!=-1; i=strfind(source,search,false,i+len))
{
strdel(source,i,i+tmp);
strins(source,replace,i,size);
}
return 1;
}new number[20];
format(number, sizeof number, inputtext);
str_replace2(" ", "", number); -
str_replace ist keine Standard Funktion.
Kannst du die Funktion bitte posten? -
Du benötigst das MySQL R39 Plugin für diesen Code.
Ich bin leider noch nicht dazu gekommen, das Tutorial auf R40+ zu aktualisieren.Tutorial: [jTuT] Fraktions-Fahrzeug-System mit MySQL R39-5
Plugin: https://github.com/pBlueG/SA-MP-MySQL/releases/tag/R39-6Danach hast du noch 3 Warnungen.
Um die zu entfernen musst du in Zeile 175 das entfernen:
return 1;und dann noch
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
mysql_log(LOG_ERROR | LOG_WARNING);
sqlverbindung = mysql_connect("127.0.0.1", "ni1113669_1_DB", "password", "ni1113669_1_DB");
LoadFracVehicles();
SetTimer("SaveAllFracVehs", 60000, true); //Timer wird alle 60 Sekunden ausgeführt
return 1;
}
public OnFilterScriptExit()
{
SaveAllFracVehs();
mysql_close(sqlverbindung);
return 1;
}
#else
main()
{
print("Dieses Script ist erstellt worden von GamerJewels");
}
#endif
zu:
public OnFilterScriptInit()
{
mysql_log(LOG_ERROR | LOG_WARNING);
sqlverbindung = mysql_connect(db_host, db_user, db_pass, db_db);
LoadFracVehicles();
SetTimer("SaveAllFracVehs", 60000, true); //Timer wird alle 60 Sekunden ausgeführt
return 1;
}
public OnFilterScriptExit()
{
SaveAllFracVehs();
mysql_close(sqlverbindung);
return 1;
}
ändern.
Bzw zu dem hier, falls es ein Gamemode ist, in dem der Code ist:
main() { }
public OnGameModeInit)
{
mysql_log(LOG_ERROR | LOG_WARNING);
sqlverbindung = mysql_connect(db_host, db_user, db_pass, db_db);
LoadFracVehicles();
SetTimer("SaveAllFracVehs", 60000, true); //Timer wird alle 60 Sekunden ausgeführt
return 1;
}
public OnGameModeExit)
{
SaveAllFracVehs();
mysql_close(sqlverbindung);
return 1;
}Danach kompiliert der Code ohne Probleme.
-
Zitat
Scripting Base
Hier findest du Hilfe zur Erstellung von Gamemodes und FilterscriptenDeine Anfrage gehört eher hin:
SA:MP & MTA:SA-Marktplatz -
Nutze dafür diese Funktion:
stock IsAnyPlayerInVehicle(vehicleid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerVehicleID(i) == vehicleid) return 1;
}
return 0;
}Und dann so:
for(new i=0; i < sizeof(yakuzacar); i++) if(!IsAnyPlayerInVehicle(yakuzacar[i])) DestroyVehicle(yakuzacar[i]); -
DestroyVehicle(yakuzacar[9]);
Zu
for(new i=0; i < sizeof(yakuzacar); i++) DestroyVehicle(yakuzacar[i]); -
Ah, dann hat also immer nur eines gefehlt.
Ja, das liegt dann daran, dass du irgendwo Labels löscht, die noch nicht zugewiesen sind. Dann hat die Variable ja den Wert 0, somit wird das Label 0 gelöscht.
-
JobTimer[playerid] = SetTimerEx("JobExit",10000,false,"i",playerid);
Zu
JobTimer[playerid] = SetTimerEx("JobExit",10000,false,"ii",playerid, vehicleid);
Dazu dann eben noch das public und forward zum JobExit um die vehicleid erweitern, und bei GetBusIndex in der Zeile vor dem Print die vehicleid nehmen, anstatt GetPlayerVehicleID. -
Das heißt dann, dass der Spieler in keinem der Busse aus dem Busse Array drin ist.
Da müsstest du dem Timer noch die vehicleid mitgeben, wenn der Spieler aussteigt. Sprich zusätzlich zur playerid noch die vehicleid und dann damit dem Index auslesen, anstatt mit GetPlayerVehicleID.
-
Das spielt keine Rolle.
Generell empfiehlt es sich aber, alles was mit Spielern direkt in Verbindung steht (z. B. Befehl zum Öffnen von Toren) im Gamemode zu haben, falls sich Abfragen im Befehl auf die Statistiken des Spielers beziehen.
-
Was gibt dir der Log aus, wenn du vor
if(idx == -1) return 1; //Kein Bus
das einfügst:
printf("Index: %d", idx); -
Wie installiere ich das ? (server)
bin neu
Steht im ersten Post unter dem Punkt Installation:
[INCLUDE] Straßensperre & Nagelbänder -
Die Verbindung kann nicht hergestellt werden, zu deiner Datenbank.
Was sagt der MySQL Log dazu?
-
Hmm, bei 10 ist das Limit natürlich nicht erreicht. Was wird dir denn ausgegeben, wenn du den print für ein Label machst, das du nicht siehst? Wird da dann 11 ausgegeben (oder ähnliches)?
Wenn ja, dann wird das Label erstellt, aber vielleicht irgendwo danach gelöscht?
Oder du bist nicht an der richtig Position in der richtigen virtuellen Welt? -
Was heißt nicht richtig? Was passiert, bzw. was passiert nicht?
-
public loginregistertimer(playerid)
Suche nach "forward loginregistertimer" in deinem Code und ändere das dann zu
forward loginregistertimer(playerid);