Beiträge von janpplayer

    muss ich es immer einzelnd damit meine ich so


    Code
    cache_get_row(0,29,savedata);
    SpielerInfo[playerid][pBank]=strval(savedata);
    cache_get_row(0,30,savedata);
    SpielerInfo[playerid][pTelefon]=strval(savedata);
    usw....


    oder kann man die Tabelle nicht so ordnen wie das Enum und gibt dann nur SpielerInfo[playerid] an?


    ich will es möglichst serverschonend und übersichtlich gestalten...


    //edit Ich habe mir das Tutorial ja schon angesehen komme noch nicht ganz klar aber das was ich bis jetzt hab, hab ich von da

    Hallo ich versuche gerade mit dem neuen Mysql Plugin von Blue G zu arbeiten das Mysql R7 Plugin doch ich komme nicht weiter wie funktioniert es weiter ich hab über das tutorial hier im forum es schonmal soweit gebracht:



    dazu nochmal mein enum:


    ist es so okay oder kann man es verbessern evtl server schonender scripten ? und was fehlt ich komm da nicht ganz weiter wie Setz ich das jetzt in mein enum ein (z.bSpielerInfo[playerid][pLevel])?


    würde mich über jede hilfe freuen danke schonmal im vorraus


    //edit auf goldkiller's anweisung nochmal überarbeitet war nur versehendlich

    also das r7 plugin geht nicht so wirklich bei mir denn die funktion mysql_query fehlt da irgendwie oder wurde sie umbenannt?


    wie soll ich das denn mit cache machen wenn ich das r7 plugin benutze ?

    Hallo ich habe eine frage wie kann ich Mysql vereinfachen?


    das beduetet z.b ich habe ca. 40 spielerbezogene sachen die ich speichern muss wie mach ich das am besten serverschonend


    soll ich das mit einem großen oder mehreren format's machen mit UPDATE


    beim auslesen kann ich ja sscanf2 benutzen nur beim spiechern wie vereinfache ich das etwas?

    danke erstmal jetzt hab ich es in 2048 geändert es klappt nun mehr hier wieder die debugs :
    ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3e-R2, (C)2005-2012 SA-MP Team


    [15:49:07] filterscripts = "" (string)
    [15:49:07] weburl = "www.sa-mp.com" (string)
    [15:49:07]
    [15:49:07] Server Plugins
    [15:49:07] --------------
    [15:49:07] Loading plugin: mysql
    [15:49:07]


    > MySQL plugin R5 successfully loaded.


    [15:49:07] Loaded.
    [15:49:07] Loading plugin: sscanf
    [15:49:07]


    [15:49:07] ===============================


    [15:49:07] sscanf plugin loaded.


    [15:49:07] (c) 2009 Alex "Y_Less" Cole


    [15:49:07] 0.3d-R2 500 Players "dnee"


    [15:49:07] ===============================


    [15:49:07] Loaded.
    [15:49:07] Loaded 2 plugins.


    [15:49:07]
    [15:49:07] Filterscripts
    [15:49:07] ---------------
    [15:49:07] Loaded 0 filterscripts.


    [15:49:07] <-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!
    [15:49:07]
    ----------------------------------
    [15:49:07] Blank Gamemode by your name here
    [15:49:07] ----------------------------------


    [15:49:07] Number of vehicle models: 0
    [15:49:27] Incoming connection: 127.0.0.1:59714
    [15:49:27] [join] Jan_Coleman has joined the server (0:127.0.0.1)
    [15:49:36] vor der while schleife
    [15:49:36] loadplayer ist nun dran
    [15:49:46] spieler speichern begonnen
    [15:49:46] jetzt new query
    [15:49:46] spieler gespeichert
    [15:49:46] DEBUG: UPDATE `user` SET `Name`= `Jan_Coleman`,`Passwort`= ´
    [15:49:46] [part] Jan_Coleman has left the server (0:1)
    aber mehr klappt wieder nicht ich versuche eine variable zu speichern aber sie ändert sich nicht in meiner datenbank ich ändere sie per hand ingame
    // hab jetzt auch mal das probiert was Mellnik gepostet hat klappt auch nicht wie könnte ich mein problem denn noch lösen ... währe dankbar über jede hilfe..



    MFG


    janpplayer


    // edit etwas hinzugefügt was ich noch ausprobiert hab

    Hallo ich habe Versucht alles vom user auf einmal zu speichern und zu laden doch mein script macht es nie so weit ich habe es mir debuggen lassen hier mein script : http://pastebin.com/rLvVkhVA


    hier meine publics zum laden und zum speichern :stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.
    {
    printf("jetzt new query");
    new query[4000],Nama[MAX_PName];
    GetPlayerName(playerid, Nama, MAX_PName);
    format(query,sizeof(query),"UPDATE `user` SET `Name`= `%s`,`Passwort`= ´%s´,`Kills`= `%i`,`Deaths`= `%i`,`Id`=`%i`,`Health`=´%f´,`Adminlvl`=´%i´],\
    `Timeout`=´%i´,`x`=´%f´,`y`=´%f´,`z`=´%f´,`Intid`=´%i´,`world`=´%i´,`Connect`=´%i´,`Level`=´%i´,`Skin`=´%i´,`Rps`=´%i´,`Premiums`=´%i´,\
    `AutoDiebRate`=´%f´,`Krankenhaus`=´%i´,`Fraktion`=´%i´,`Job`=´%i´,´Geld´=`%i`,`Spawn`=`%i` WHERE ´Name´=´%s´",SpielerInfo[playerid][Name],
    SpielerInfo[playerid][Passwort],SpielerInfo[playerid][Kills],SpielerInfo[playerid][Deaths],SpielerInfo[playerid][Id],SpielerInfo[playerid][Health],
    SpielerInfo[playerid][Adminlvl],SpielerInfo[playerid][Timeout],SpielerInfo[playerid][x],SpielerInfo[playerid][y],SpielerInfo[playerid][z],
    SpielerInfo[playerid][intid],SpielerInfo[playerid][world],SpielerInfo[playerid][Connect],SpielerInfo[playerid][Level],SpielerInfo[playerid][Skin],
    SpielerInfo[playerid][Rps],SpielerInfo[playerid][Premiums],SpielerInfo[playerid][AutoDiebRate],SpielerInfo[playerid][Krankenhaus],
    SpielerInfo[playerid][Fraktion],SpielerInfo[playerid][Job],SpielerInfo[playerid][Geld],SpielerInfo[playerid][Spawn],Nama);
    mysql_query(query);
    printf("spieler gespeichert");
    printf("DEBUG: %s",query);
    DeletePVar(playerid,"Eingeloggt");
    }
    }
    return 1;
    }


    stock LoadPlayer(playerid)
    {
    SendClientMessageToAll(0xFFFF00FF,"vor abfrage ob npc oder connected");
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist (nur zur sicherhheit)
    {
    GetPlayerName(playerid, SpielerInfo[playerid][Name], MAX_PName); //Wir Speichern den Namen des Spielers in der Variable [i]SpielerInfo[playerid][pName][/i]
    new str[4000],query[128];
    format(query,128,"SELECT * FROM `user` WHERE `Name` = `%s`",SpielerInfo[playerid][Name]);
    mysql_query(query);
    mysql_store_result();
    printf("vor der while schleife");
    SendClientMessageToAll(0xFFFF00FF,"while");
    while(mysql_fetch_row(str))
    {
    printf("spielerdaten gefunden");
    sscanf(str, "e<p<|>ssdddfddfffdddddddfddddd>",SpielerInfo[playerid]);
    printf("DEBUG: %s",str);
    printf("DEBUG: %i",strlen(str));
    printf("alles durch");
    SpawnPlayer(playerid);
    }
    }
    return 1;
    }


    zum debuggen lassen kam ich nur soweit: [14:44:42] Incoming connection: 127.0.0.1:57937
    [14:44:43] [join] Jan has joined the server (0:127.0.0.1)
    [14:45:08] spieler speichern begonnen
    [14:45:08] jetzt new query
    [14:45:08] [part] Jan has left the server (0:1)


    man kann sich auch nur einloggen mehr nicht


    // edit überschrift geändert

    ich schätze er meint das alle variablen wieder auf null sind im gespeicherten system wie sql oder dini das problem hatte ich auch und hab es durch einen timer gelöst der 10 sek später erst den server neu startet und vorher alle spieler speichert die online waren..


    hoffe ich konnte helfen


    MFG


    janpplayer

    okay dann mach doch oben eine variable im script wie z.b new list[64][64];


    dann kannst du es so machen format(list[listitem],64,"%s", ......); dann hast du es ja in einer varibale und kannst es später abrufen wenn der spieler den listitem anklickt


    ich kann es dir fertig machen dafür brach ich aber auch den format bzw die abfrage wo du alle members einträgst/abfragst



    MFG

    Hallo ich habe diesen fehler : C:\Users\Jan\Desktop\was gejt\gamemodes\neu.pwn(413) : error 075: input line too long (after substitutions)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    und hier dazu die zeile: format(query,sizeof(query),"UPDATE `user` SET `Name`= `%s`,`Passwort`= ´%s´,`Kills`= `%i`,`Deaths`= `%i`,`Id`=`%i`,`Health`=´%f´,`Adminlvl`=´%i´],`Timeout`=´%i´,`x`=´%f´,`y`=´%f´,`z`=´%f´,`Intid`=´%i´,`world`=´%i´,`Connect`=´%i´,`Level`=´%i´,`Skin`=´%i´,`Rps`=´%i´,`Premiums`=´%i´,`AutoDiebRate`=´%f´,`Krankenhaus`=´%i´,`Fraktion`=´%i´,`Job`=´%i´,´Geld´=`%i`,`Spawn`=`%i` WHERE ´Name´=´%s´",
    SpielerInfo[playerid][Name],SpielerInfo[playerid][Passwort],SpielerInfo[playerid][Kills],SpielerInfo[playerid][Deaths],SpielerInfo[playerid][Id],
    SpielerInfo[playerid][Health],SpielerInfo[playerid][Adminlvl],SpielerInfo[playerid][Timeout],SpielerInfo[playerid][x],SpielerInfo[playerid][y],
    SpielerInfo[playerid][z],SpielerInfo[playerid][intid],SpielerInfo[playerid][world],SpielerInfo[playerid][Connect],SpielerInfo[playerid][Level],
    SpielerInfo[playerid][Skin],SpielerInfo[playerid][Rps],SpielerInfo[playerid][Premiums],SpielerInfo[playerid][AutoDiebRate],
    SpielerInfo[playerid][Krankenhaus],SpielerInfo[playerid][Fraktion],SpielerInfo[playerid][Job],SpielerInfo[playerid][Geld],
    SpielerInfo[playerid][Spawn],Nama);


    wäre sehr dankbar wenn mir jemand helfen könnte...


    MFG Janpplayer

    Hallo ich versuche mein Login Register Script zu verbessern das problem ist ich weiß noch nicht wie ich hab das von dem tutorial hier würde aber lieber einfach eine abfrage machen nicht wie diese hier: stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE %s SET %s = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }


    sondern direkt so zb. format(query, sizeof(query), "INSERT INTO autobesitzer (AutoID, Besitzer) VALUES ('%i', '%s')", auto[vid], name); geht das oder muss ich wirklich alles immer so machen und die publics benutzen wie hier? hätte lieber 3 zeilen und das nicht so : mysql_SetInt("accounts", "Level", SpielerInfo[playerid][Level], "Name", name);
    mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][Geld], "Name", name);
    mysql_SetInt("accounts", "AdminLvl", SpielerInfo[playerid][AdminLevel], "Name", name);
    mysql_SetInt("accounts", "Fraktion", SpielerInfo[playerid][Fraktion], "Name", name);
    mysql_SetInt("accounts", "Timeout", SpielerInfo[playerid][Timeout], "Name", name);
    mysql_SetFloat("accounts", "Tmox", SpielerInfo[playerid][Tmox], "Name", name);
    mysql_SetFloat("accounts", "Tmoy", SpielerInfo[playerid][Tmoy], "Name", name);
    mysql_SetFloat("accounts", "Tmoz", SpielerInfo[playerid][Tmoz], "Name", name);
    GetPlayerHealth(playerid,SpielerInfo[playerid][Hp]);
    mysql_SetFloat("accounts", "Leben", SpielerInfo[playerid][Hp], "Name", name);
    GetPlayerArmour(playerid,SpielerInfo[playerid][Sp]);
    mysql_SetFloat("accounts", "Rüstung", SpielerInfo[playerid][Sp], "Name", name);
    mysql_SetInt("accounts", "Respekt", SpielerInfo[playerid][Rps], "Name", name);
    mysql_SetInt("accounts", "Premium", SpielerInfo[playerid][Premiums], "Name", SpielerInfo[playerid][Name]);
    mysql_SetInt("accounts", "Bank", SpielerInfo[playerid][Bank], "Name", name);
    mysql_SetInt("accounts", "Biz", SpielerInfo[playerid][Biz], "Name", name);
    mysql_SetInt("accounts", "Getötet", SpielerInfo[playerid][Kills], "Name", name);
    mysql_SetInt("accounts", "Gestorben", SpielerInfo[playerid][Death], "Name", name);
    mysql_SetInt("accounts", "Wanteds", SpielerInfo[playerid][Wanteds], "Name", name);
    mysql_SetInt("accounts", "Eingesperrt", SpielerInfo[playerid][Eingesperrt], "Name", name);
    mysql_SetInt("accounts", "Eingesperrt2", SpielerInfo[playerid][Eingesperrt2], "Name", name);
    mysql_SetInt("accounts", "KnastZeit", SpielerInfo[playerid][KnastZeit], "Name", name);
    mysql_SetInt("accounts", "ZellenID", SpielerInfo[playerid][ZellenID], "Name", name);
    mysql_SetInt("accounts", "LastKnast", SpielerInfo[playerid][LastKnast], "Name", name);
    mysql_SetInt("accounts", "Tod", SpielerInfo[playerid][Tod], "Name", name);
    SpielerInfo[playerid][Skin] = GetPlayerSkin(playerid);
    mysql_SetInt("accounts", "Skin", GetPlayerSkin(playerid), "Name", name);
    mysql_SetInt("accounts","handynummer",SpielerInfo[playerid][handynr],"Name",name);


    dann lieber einmal insert into ... könnte mir jemand da mal ein anlauf geben ich hab voll den blackout..


    währe sehr dankbar


    MFG


    janpplayer

    dachte es währe weniger arbeit in nem string zusammen mit sscanf..


    jetzt muss ich im grunde genommen jeden slot + dazugehörigen ammu geben richtig?


    da es ja waffenslots gibt und man nicht 2 waffen aus einem slot haben kann richtig?


    MFG

    kannst du mir mal helfen hab nen blackout und komm nit weiter hab ingame ein dialog für die jeweilig fraktion und möchte dann speichern und laden sowie abfragen welche waffen diese fraktion beim duty kriegen soll und wvl magazin also munni wie mach ich das man es dynamisch macht?



    MFG


    janpplayer

    ja aber wenn ich sie als %i in den string speicher ? das ich schon einen string hab:


    format(string,sizeof(string),"%i,%i|",waffenid,waffenmunition);
    format(allewaffen,sizeof(allewaffen),"%s%s",allewaffen,string);


    somit kann ich schonmal waffen einfügen


    jetzt brauche ich nurnoch ne abfrage wie ich die anzahl der waffen abfrage bzw filter


    ich will es ja so machen das ich es dynamisch ingame einstellen kann und dann will ich nicht für jede fraktion es extra im script machen und da ist es sehr praktisch

    Hallo ich hab gerade ein denkproblem mit meinem Fraktionssystem


    wie kann ich dynamisch speichern in nem string welche waffen ich dem spieler beim duty point gebe so das ein admin (hab ich schon) in nem dialog z.b auswählen kann deagel 60 schuss das dann z.b in nem string steht 22,66| dann könnte man ja eigl das herausfiltern nur wie mach ich das dynämisch z.b von ner string länge von 1000 das ich das dann dynamisch lade halt das dann bei /duty es gefiltert wird und dem spieler es gegeben wird.



    hoffe ihr versteht mich



    MFG


    janpplayer

    Hallo wollte gerade wieder Sscanf 2 benutzen nur startet er es nicht denn msvcr100.dll kann nicht gestartet werden weil es angeblich fehlt obwohl ich microsoft runtime x64 installiert hab wozu msvcr100.dll gehöt ...


    muss ich sonst nch was beachten?
    oder irgendwas installieren?


    Habe win 7 ultimate 64x


    dadurch steht auf dem server immer plugin not found das prob ist ich brauche sscanf2


    MFG


    // edit frage hinzugefügt