Beiträge von The.Boonze

    Hallo Community,


    ich muss dieses Thema nochmals aufgreifen. Ich habe das selbe Sytsem mal wieder in unserem neuen Skript verwendet und mir sind 2 Sachen aufgefallen


    Wenn ich mich rechts durch meine Skins klicke passt alles, wenn ich mich links durchklicke taucht mal wieder der CJ Skin auf obwohl er in keinem Skin Array steht.
    Weiterhin fällt mir auf wenn ich bei einem Skin beginne und 2 weiter klicke Skin1 Skin2 Skin3 und dann ab Skin3 wieder 2 zurück also Skin3 Skin2 und dann kommt komischerweise wieder Skin3.
    Woran kann sowas liegen?


    Gruß,


    The.Boonze

    Hallo liebe Community,


    wie wir einzelne Zeilen in der Datenbank auslesen wissen wir. Aber wie lese ich alles aus einer Tabelle aus?


    Hintergrund ist folgender,


    Ich möchte zum Start des Servers alle Fraktionen die in der Datenbank gespeichert sind laden.
    Dazu gehören Sachen wie Name, Leader vorhanden ja/nein, Geld etc.
    Nur habe ich keine Ahnung wie ich alle Werte zum Start zuordne.
    Folgendes haben wir probiert:



    frakDBInfo ist dabei das enum zur MySQL Datenbank und frakInfo ist ein enum in der die selben fraktionen stehen, nur andere Informationen dazu.


    Vielleicht habt ihr ja eine Idee.. MySQL Log schmeißt keine Fehler, aber wenn ich zB


    Code
    ocmd:frak(playerid,param[])
    {
    	new string[128];
    	format(string,sizeof(string),"%s",frakDBInfo[1][fraktion_name]);
    	SendClientMessage(playerid,COLOR_GREEN,string);
    	return 1;
    }

    ausführe schreibt er eine leere Zeile.


    Lieben Gruß,


    The.Boonze

    Hallo Community,


    gibt es eine Möglichkeit die Anzahl der existierenden Fahrzeuge abzufragen?
    Ziel ist es, dass bei einem Spawn so die vehicleid des Fahrzeugs ermittelt werden kann.


    Hatte erst an sowas gedacht:


    AutoID = MAX_VEHICLES+1;


    ergibt aber leider 2001 und nicht die aktuelle ID.


    Gruß,


    Boonze

    Sorry war gestern ein wenig spät.
    Also leider muss ich zugestehen, dass es an meinem wirr warr an ordnerstruktur lag..
    ich bin von pawno auf pawnstar gewechselt und habe dabei vergessen die ganzen includes mitzunehmen.. ich habe also mit den
    falschen includes kompiliert.. nach auswechseln auf die neuen versionen gings dann..


    sorry für die umstände, aber vielleicht hilft es ja anderen in zukunft solche fehler zu vermeiden


    lieben gruß und danke an jeffry für die mühe

    Leider nein. Schon probiert.



    Eine kleine Zeile ändert sich da nur.


    #2 0000090c in public OnGameModeInit () at G:\PawnStar\cc\include\sscanf2.inc:205


    Soll da ein Fehler in der sscanf2.inc sein? 8|

    [21:32:38] [debug] #1 00002854 in MySQL_SetupConnection (ttl=3) at test.p:369


    habe ich weg bekommen indem ich


    dbhandle = mysql_connect(db_host, db_user, db_db, db_pass);


    in OnGameModeInit geschrieben habe und aus dem Stock genommen habe.


    Nach dem ich plugin und .inc der sscanf rausgenommen habe, läuft der server wieder an.


    ich komm einfach nicht dahinter..

    also wie folgt sieht es nun aus:





    leider alles wie gehabt, ich nehm jetzt nochmal das include <sscanf2> raus und schaue was passiert. leider brauchen wir es für manche befehle aber..


    EDIT:
    mit augeklammertem #include <sscanf2> kommt folgendes,


    kann man daraus nicht ablesen, dass bei line 369 und line 44 was verkehrt ist? 8|

    Hey Jeffry,


    wir haben nach dem Fehler gesucht und ihn eingrenzen können. Es scheint irgendetwas mit den mySQL Befehlen faul zu sein.
    Solange ich den MySQL Teil aus dem Script lasse funktioniert alles einwandfrei. Ich habe nun folgendes gemacht und bin nach deinem MySQL R39-3 Tutorial vorgegangen.
    Selbes Spiel von vorn.
    Hier die Daten:

    selber Fehler. Hatte aber das Plugin und .inc von der Seite die du geschickt hattest kA warum da 2.8.2 steht
    es ist die 2.8.1 dann :-/

    @Jeffry probiere ich aus. Hier die Crashdetect wenn ich den #include <sscanf2> in die .pwn schreibe
    wenn ich das include nicht schreibe ist alles iO
    wenn ich es schreibe kommt folgender Fehler:





    Gruß,


    The.Boonze

    Das geschieht mit:


    Code
    savePlayer(playerid)
    {
    	if(sInfo[playerid][eingeloggt]==0)return 1;
    	//Speichern Level,Geld
    	new query[128];
    	format(query,sizeof(query),"UPDATE user SET level='%i',money='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][id]);
    	mysql_function_query(dbhandle,query,false,"","");
    	return 1;
    }


    Am Anfang frage ich ja ab:
    Neuer Spieler oder nicht -> Dann kommt entweder vorhandenes PW einbgeben oder neues passwort (wenn noch nicht registriert) -> wenn noch nicht registriert kommt man zur skinauswahl und wird danach gespawnt.


    Deshalb habe ich dort:


    Damit müsste ich doch den davor gewählten Skin speichern oder nicht?

    Habe jetzt folgendes geändert:


    Code
    public Spawn(playerid)
    {
    	SpawnPlayer(playerid);
     	SetPlayerSkin(playerid,sInfo[playerid][skin]);
    }


    Leider ohne Erfolg, der Skin wird nicht mal in der DB gespeichert. ?(

    Hallo liebe Community,


    nach längerer Zeit der Inaktivität haben wir uns entschlossen mal wieder ein wenig zu scripten bzw. es zu versuchen.


    Um von Anfang an den richtigen Weg zu gehen habe ich da 1-2 Fragen.
    Wir nutzen zur Zeit folgende Befehle um mit der DB zu kommunizieren:



    Code
    format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password=MD5('%s')",name,passwort);
    mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);




    oder aber:


    Code
    sInfo[playerid][id] = cache_get_field_content_int(0,"id",dbhandle);


    Mir wurde nahe gelegt, diese Methode nicht mehr zu verwenden, da sie veraltet ist und später zu Serverlaggs führen könnte.
    Meine Frage an euch wäre, wie sieht die neue Methode aus um Variablen zu speichern/laden sodass es effizienter wird?


    Meine zweite Frage wäre dann,


    wir versuchen einen Skin in die Datenbank zu speichern und nach erneutem einloggen wieder abzurufen.
    Leider funktioniert dies nicht.


    Code
    public OnPlayerSpawn(playerid)
    {
        if(newPlayer)
        {
     	new query[128];
    	format(query,sizeof(query),"UPDATE user SET skin='%i' WHERE id='%i'",GetPlayerSkin(playerid),playerid);
    	mysql_function_query(dbhandle,query,false,"","");
        }
        return 1;
    }

    Soll dafür sorgen, wenn dieser Spieler neu ist sich also vorher Registriert hat und einen Skin gewählt hat, das der gespeichert wird sobald er dann Spawnt.


    Soll weiter schauen, wenn es ein neuer Spieler ist, dann darf er sich einen Skin aussuchen, wenn nicht dann soll er direkt spawnen und den vorhandenen Skin laden.


    Leider funktioniert der Teil mit dem Skin laden nicht :(



    Gruß,


    The.Boonze

    Hallo Freunde.


    Ich möchte euch einen Youtube Channel zeigen, den ich mit einen paar Freunden seit kurzer Zeit betreibe. Unser Ziel ist es lustige Videos zu basteln um euch das ein oder andere Grinsen ins Gesucht zu zaubern. Wir stecken sehr viel Arbeit hinein und würden uns freuen wenn ihr mal eure Meinung dazu abgebt. SAMP Videos werden auch folgen.


    Über ein Abo würden wir uns sehr freuen.


    Mit freundlichem Gruß,


    The. Boonze und die Gulasch Crew


    P.S. Wir freuen uns auch über Anmerkungen und Kritik und gerne auch über Wünsche wenn ihr etwas bestimmtes sehen möchtet


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.