Von Dini zu MySQL

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Abend breadfish,


    Ich möchte ein System von Dini auf MySQL umschreiben, nun wollte ich fragen wie ich sowas am besten mache. Wie könnte man dies auf MySQL R5 umschreiben (siehe Code). Ich möchte von euch keinen Code sondern, wie man sowas umsetzen könnte. Ich bedanke mich schonmal im vorraus, und bin für jede hilfe dankbar :)


    stock SaveGZ_(zoneid)
    {
    new gz[32],str[64]; format(gz,32,G_FILE);
    format(str,64,"Zone%d_owner",zoneid); dIntSet(gz,str,GZ[zoneid][owner]);
    format(str,64,"Zone%d_maxX",zoneid); dFloatSet(gz,str,GZ[zoneid][max_x]);
    format(str,64,"Zone%d_maxY",zoneid); dFloatSet(gz,str,GZ[zoneid][max_y]);
    format(str,64,"Zone%d_minX",zoneid); dFloatSet(gz,str,GZ[zoneid][min_x]);
    format(str,64,"Zone%d_minY",zoneid); dFloatSet(gz,str,GZ[zoneid][min_y]);
    format(str,64,"Zone%d_flaggeX",zoneid); dFloatSet(gz,str,GZ[zoneid][flagge_x]);
    format(str,64,"Zone%d_flaggeY",zoneid); dFloatSet(gz,str,GZ[zoneid][flagge_y]);
    format(str,64,"Zone%d_flaggeZ",zoneid); dFloatSet(gz,str,GZ[zoneid][flagge_z]);
    format(str,64,"Zone%d_erstellt",zoneid); dIntSet(gz,str,GZ[zoneid][erstellt]);
    return 1;
    }


    Mit freundlichen Grüßen
    Grapefruit

  • Ich möchte von euch keinen Code sondern, wie man sowas umsetzen könnte.


    Na...wie sollte man wohl sowas umsetzen...


    Einfach einen Query schreiben, der so ungefähr aussehen müsste:


    new string[128];
    //Hier Insert, wenn es der erste eintrag ist
    format(string,128,"INSERT INTO table_name (id,owner,maxX,maxY,minX,minY,flaggeX,...) VALUES (%d,'%s','%f','%f','%f','%f','%f',...)",zoneid,GZ[zoneid][owner],GZ[zoneid][max_x],...);


    //Andernfalls Update
    format(string,128,"UPDATE table_name SET owner='%s',maxX='%f' WHERE id='%d'",GZ[zoneid][owner],GZ[zoneid][max_x],zoneid);


    mysql_query(string);


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hab das nun so gemacht:


    stock SaveGZ_(zoneid)
    {
    new string[500];
    format(string,sizeof(string),"INSERT INTO savegz (id,owner,maxX,maxY,minX,minY,flaggeX,flaggeY,flaggeZ,erstellt) VALUES (%d,'%s','%f','%f','%f','%f','%f','%f','%f','%s')",
    zoneid,GZ[zoneid][owner],GZ[zoneid][max_x],GZ[zoneid][max_y],GZ[zoneid][min_x],GZ[zoneid][min_y],GZ[zoneid][flagge_x],GZ[zoneid][flagge_y],GZ[zoneid][flagge_z],GZ[zoneid][erstellt]);
    mysql_query(string);
    return 1;
    }


    stock SaveGZ()
    {
    new i = 0,gz[32],str[64]; format(gz,32,G_FILE);
    for(; i<MAX_GZ; i++)
    {
    format(str,64,"Zone%d_owner",i); dIntSet(gz,str,GZ[i][owner]);
    format(str,64,"Zone%d_maxX",i); dFloatSet(gz,str,GZ[i][max_x]);
    format(str,64,"Zone%d_maxY",i); dFloatSet(gz,str,GZ[i][max_y]);
    format(str,64,"Zone%d_minX",i); dFloatSet(gz,str,GZ[i][min_x]);
    format(str,64,"Zone%d_minY",i); dFloatSet(gz,str,GZ[i][min_y]);
    format(str,64,"Zone%d_flaggeX",i); dFloatSet(gz,str,GZ[i][flagge_x]);
    format(str,64,"Zone%d_flaggeY",i); dFloatSet(gz,str,GZ[i][flagge_y]);
    format(str,64,"Zone%d_flaggeZ",i); dFloatSet(gz,str,GZ[i][flagge_z]);
    format(str,64,"Zone%d_erstellt",i); dIntSet(gz,str,GZ[i][erstellt]);
    }
    return 1;
    }


    Hier ist genau das gleiche Prinzip, nur wollte ich Fragen, wie man das mit der Schleife macht da G_FILE oben definiert wurde als Speicher Pfad wie setzt man dies in MySQL um?

  • stock SaveGZ()
    {
    for(new i,string[128]; i<MAX_GZ; i++)
    {
    format(string,128,"UPDATE table_name SET owner='%s',maxX='%f' WHERE id='%d'",GZ[i][owner],GZ[i][max_x],i);
    mysql_query(string);
    }
    return 1;
    }


    Halt das Query vollständig ausfüllen ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S