Kannst du uns deine a_mysql.inc zeigen? ![]()
Beiträge von Kaliber
-
-
steht auch kein fehler drin?
Und du bist sicher, dass du crashdetect geladen hast?
Wie sieht denn der log aus?
-
Okay danke hat geklappt hab jetzt nur noch 1 Warning
Jaaaa...uuund welchen?!
Script läuft nicht
Dann lade mal crashdetect...
-
warning 219: local variable "modelid" shadows a variable at a preceding level
Das kommt daher, da du wohl global einmal modelid deklariert hast.
Das war nicht sehr smart...also du hast 2 Möglichkeiten:
1. Du änderst die globale Variable (evtl auch in einem enum) zu etwas anderem wie z.B. e_modelid oder what ever...
Dann benennst du modelids zu modelid in dem Callback um.
2. Du änderst es wieder zurück zu modelids gehst in das Include und ändert das forward OnPlayerModelSelectionEx so um, dass da auch modelids drinnen steht

-
modelids
Das s muss weg

-
Nur beim login hab ich nicht wirklich ahnung wie ich das vorhandene passwort vergleichen soll
Mach es so:
C
Alles anzeigenforward OnAccountCheckPW(playerid, name[], text[]); public OnAccountCheckPW(playerid, name[], text[]){ new rows, fields; cache_get_data(rows, fields, mysql); if(!rows) return Kick(playerid); new PW[BCRYPT_HASH_LENGTH]; cache_get_field_content(0, "passwort", PW, mysql); bcrypt_check(text, PW, "OnPasswordChecked", "d", playerid); return 1; } forward OnPasswordChecked(playerid); public OnPasswordChecked(playerid) { new bool:match = bcrypt_is_equal(); if(match) LoadAccount(playerid); else { if(GetPVarInt(playerid,"failpass")==2) { SendClientMessage(playerid,ROT,"Du hast zu oft ein falsches Passwort angegeben."); KickEx(playerid); } else { SetPVarInt(playerid,"failpass",GetPVarInt(playerid,"failpass")+1); ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FFD700}Falsches Passwort\n\nDu kannst dich nun mit deinen Passwort einloggen.","Login","Abbrechen"); } } return 1; } -
Wird irgendwo nochmal OnGameModeInit aufgerufen?
Wird es gehookt...evtl mal in die Includes schauen...
Wird irgendwo SendRconCommand und dann eben gmx verwendet?
Das könnte das erklären...
-
Kennt sich hier jemand mit C intrisics aus?
Einfach die Frage stellen...wirst du dann sehen

-
Aber genau das passiert doch im minuten/stunden takt (je nachdem in welchen timer ich es einfüge) oder irre ich mich?
Ja, es wird jede Minute/Stunde abgefragt, ob es der 1. im Monat ist.
Da es ja aber nur 24 Stunden im Monat der 1. im Monat ist, und der delay dafür sorgt, dass das nicht 2x am Tag aufgerufen wird, passiert da nichts.
Halt eben nur am 1. und 1x im Monat.
-
meine frage steht noch, irgendjemand ne idee wie man das am besten umsetzen könnte? bräuchte hier nur den ansatz. danke im voeraus.
C
Alles anzeigen//Oben im Skript new month_delay; //Im Minuten Timer von mir aus...oder im Stunden Timer whatever new Year, Month, Day; getdate(Year, Month, Day); if(Day == 1 && gettime() > month_delay) { //irgendwas month_delay = gettime()+60*60*48; }Dadurch ist sichergestellt, dass es nur 1x im Monat aufgerufen wird

-
Versuche gerade Mersenne Twister in PAWN zu implementieren, scheiter jedoch noch an dem Block hier.
Wieso auch immer man das wollen würde...die random Funktion tuts doch auch ganz gut xD
Naja, im Endeffekt kannst du diesen Block fast 1:1 übernehmen.
Das UL steht einfach nur für unsigned long (also positive 64 Bit Integer)
In Pawn gibt es nur 32 Bit Integer, aber sollte auch damit funktionieren.
Und diese ganzen anderen Operatoren (bis auf den ternary operator) sind einfach nur Bit-Shifting Operationen: https://forum.sa-mp.com/showthread.php?t=177523
-
Weiß zwar nicht was Distibution ist aber Debian 10
Jaaa...nice one, Debian ist doch die Distribution hahaha xD
Google ist ein mächtiges Werkzeug: https://www.linuxuprising.com/…test-firefox-non-esr.html
Wenn du mit VNC drauf bist, kannst dir doch auch einfach über einen anderen Browser firefox downloaden...musst das doch gar nicht über das Terminal machen...
Aber, jeder wie er mag

-
Ehhm, welche Linux Distribution nutzt du denn?
-
Kannst du erläutern was das Ausrufezeichen vor dem PVar Namen zu bedeuten hat?
Das packt den String: https://forum.sa-mp.com/showthread.php?t=480529
Der verbraucht dann nur 1/4 an Speicherplatz.
-
Mach es so:
AddPlayerClass muss es meines Wissens geben.
Es geht beides...
aber ich möchte diese billige Skin Auswahl nicht
Einfach so:
Cpublic OnPlayerRequestClass(playerid, classid) { SetSpawnInfo(playerid,0,299,0,0,3,0,0,0,0,0,0,0); SpawnPlayer(playerid); return 1; }Dann gibt es auch keine billige Skin-Auswahl.
Musst halt dann noch den Startscreen vom Spieler entsprechend setzen, also was er sehen soll.
Zum Beispiel unter OnPlayerConnect machst du ein SetPVarInt(playerid,!"new_connected",1);.
Und dann unter OnPlayerSpawn (ganz oben prüfst du):
Cif(GetPVarInt(playerid,!"new_connected")) { TogglePlayerControllable(playerid, 0); SetPlayerCameraPos(playerid, 0,0,50); SetPlayerCameraLookAt(playerid, 0,0,100); DeletePVar(playerid, !"new_connected"); return 1; }und warum geht es Localhost kann mir jemand die Frage beantworten
Weil es irgendwo irgendeinen Unterschied gibt...habe ich doch schon gesagt...
Vergleich doch einfach mal die Server Logs.
Lädst du evtl auf Windows noch Filterscripts?!
-
Nein, das ist nicht möglich. Linux ist auch nicht zum Spiele spielen ausgelegt.
Natürlich ist das möglich, dazu gab es sogar schon einen Thread vor 11 Jahren

-
aber wieso geht das localhost?
Na, da wird wohl irgendwas anders sein.
Connecten da zufällig eig noch Bots?
oooder hast du da auch sicher die selbe ID?
Wie ist das Skript denn aufgebaut? Unabhängig davon, verwendest du denn SetSpawnInfo oder AddPlayerClass?!
Sicher, dass das für dich aufgerufen wird?
-
Wieso googelt eig niemand mehr erstmal seine Probleme?

Du musst entweder SetSpawnInfo oder AddPlayerClass verwenden

-
-
//einfach nur if ohne alles.. ??
Nein, das ist nicht ohne alles, die Klammer dafür, ist einfach nur versetzt. Unter dem if steht ja eine ( Klammer, für die Abfrage, keine {.
