Beiträge von Jeffry

    TextDrawShowForPlayer(playerid,TextdrawLoginRegister[26]);
    Zu
    for(new i = 0; i<27; i++) TextDrawShowForPlayer(playerid,TextdrawLoginRegister[i]);

    Die Geschwindigkeit ist zu klein, wenn du die Position bewegst. Versuche es so:
    MoveObject(Baeume[i][baumid_x],Baeume[i][baum_x],Baeume[i][baum_y],Baeume[i][baum_mz],0.5,0.0,0.0,0.0);

    Ich hab halt lieber weniger escaping bzw. Textverarbeitung.


    Geht mir genau so, wahrscheinlich uns allen :D
    Mit Strings zu arbeiten ist in keiner Sprache wirklich toll, wenn man IDs als Alternative hat.


    Nur, beim Login geht es eben nicht anders, man muss irgendwie vom Name auf die ID schließen.



    Cheevy.Shakur:
    Zum Login kannst, bzw. musst du es dann mit Name und Passwort abfragen:
    mysql_format(MySQL,query,sizeof(query),"SELECT * FROM `"#SERVERTAG"_accounts` WHERE `Name` = '%e' AND `password` = '%e'",GetName(playerid), inputtext);

    Nunja, du hast auch weniger Probleme mit einer SQL Injection ;D


    Du kannst den String ja escapen. Daran sollte es nicht scheitern. ;)




    Cheevy.Shakur: Ja. Wenn du den Escape noch einbaust, sieht es so aus:
    mysql_format(MySQL,query,sizeof(query),"SELECT * FROM `"#SERVERTAG"_accounts` WHERE `Name` = '%e'",GetName(playerid));
    %e in mysql_format = escaped string, geht nur in mysql_format, nicht in format.

    In LoginRegisterQuery lädst du ja die Daten aus dem Cache (Geld, ...). Dort lädst du auch die ID.
    Sprich, du greifst nur beim Login über den Namen auf den Datensatz zu, bei allem anderem über die ID.

    mysql_format(MySQL,query,sizeof(query),"SELECT * FROM `"#SERVERTAG"_accounts` WHERE `name` = '%e'",SpielerName(playerid));
    oder, falls nach Großbuchstaben unterschieden werden soll:
    mysql_format(MySQL,query,sizeof(query),"SELECT * FROM `"#SERVERTAG"_accounts` WHERE BINARY `name` = '%e'",SpielerName(playerid));

    Nein, beim Login musst du nach Name selektieren, da du ja nicht weißt welche ID zu dem Name gehört (außer du selektierst das zuvor extra, aber das macht keinen Sinn).
    Erst beim Auslesen des Caches lädst du die ID und kannst ab dann mit der ID arbeiten.

    Wenn du es über IDs machen willst, ja.


    Zum Punkt von Beavis:
    Genau, deshalb nimmt man eigentlich für alles IDs als Primary Key. Außerdem ist ein Primary Key dafür da, dass man ihn nicht ändert. Eine ID musst du nicht ändern, den Name vielleicht schon irgendwann mal.
    Die Empfehlung ist natürlich IDs zu verwenden, aber in der Abfrage macht es keinen Unterschied.

    Zwecks dem Format: Das liegt daran, dass du den Editor verwendest (über der Schriftart). Wähle dort den Quellcode, dann geht es.


    Zum Code:
    new tode=dini_Int(string,"Tode");
    new morde=dini_Int(string,"Morde");
    if(morde == 0) morde = 1; //Man kann nicht nur 0 teilen
    new Float:KD;
    KD = float(tode) / float(morde);
    format(string,sizeof(string),"%s{00B9FF}Gesamt: \t{FFFFFF}%i$ \t{00B9FF}K/D: \t{FFFFFF}%0.2f\n",string,money,KD);


    So dürfte es dann passen. Es ist natürlich die Frage, ob es Sinn macht, das aus der Datei auslesen zu lassen.

    Dann poste doch bitte die entsprechenden Codes, von Beginn an (also Dialog -> Auswahl -> Funktionen die aufgerufen werden).
    Dann können wir das debuggen. Mit den alten Codes kann ich dir das nicht machen.

    else format(string, sizeof(string), "* Du hast den %dten Auto-Schlüssel ausgewählt. (%s)", CarKey[playerid]+1,Kaufliste[index][Name]); //<--- Hier bei (%s)
    zu:
    else format(string, sizeof(string), "* Du hast den %dten Auto-Schlüssel ausgewählt. (%s)", CarKey[playerid]+1,VehicleNames[Carlist[playerid][CarKey[playerid]][Typ]-400]); //<--- Hier bei (%s)


    Mit dem VehicleNames-Array von hier: http://pastebin.com/GqkjeAkV


    Was du mit der anderen Frage meinst weiß ich nicht.

    Wie übergibst du denn das houseowner? Also wo setzt du dem einen Wert? Weil im Befehl speicherst du keinen Wert.


    Zwecks der anderen Frage:
    mysql_format(Handle,query,sizeof(query),"UPDATE user SET Geld='%i',KontoMoney='%i',Level='%i',ALevel='%i',Skin='%i',Sex='%i',Fraktion='%i',OwnHouse='%i',HouseID='%i',Spawn='%i' WHERE BINARY username='%e'",
    GetPlayerMoney(playerid),SpielerInfo[playerid][pKonto],GetPlayerScore(playerid),SpielerInfo[playerid][pGender],SpielerInfo[playerid][pALevel],GetPlayerSkin(playerid),SpielerInfo[playerid][pFrak],
    SpielerInfo[playerid][pOwnHouse],SpielerInfo[playerid][pHouseID],SpielerInfo[playerid][pSpawn],getPlayerName(playerid));
    So reicht es in diesem Fall schon.



    EDIT: (Post unten)
    CaZe: Dankeschön, das wünsche ich dir auch! :)

    public CreateTunedCar(playerid, s)
    {
    if(IsPlayerConnected(playerid) && Carlist[playerid][s][Typ]!=-1)
    {
    new carid=CreateVehicle(Kaufliste[Carlist[playerid][s][Typ]][Modelid],Carlist[playerid][s][X],Carlist[playerid][s][Y],Carlist[playerid][s][Z],Carlist[playerid][s][Rotation],-1,-1,-1);
    if(Carlist[playerid][s][Lock]==1)
    {
    SetVehicleParamsForAll(carid,0,1);
    SetVehicleParamsForPlayer(carid,playerid,0,0);
    }
    if(Carlist[playerid][s][mod1]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod1]); }
    if(Carlist[playerid][s][mod2]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod2]); }
    if(Carlist[playerid][s][mod3]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod3]); }
    if(Carlist[playerid][s][mod4]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod4]); }
    if(Carlist[playerid][s][mod5]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod5]); }
    if(Carlist[playerid][s][mod6]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod6]); }
    if(Carlist[playerid][s][mod7]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod7]); }
    if(Carlist[playerid][s][mod8]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod8]); }
    if(Carlist[playerid][s][mod9]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod9]); }
    if(Carlist[playerid][s][mod10]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod10]); }
    if(Carlist[playerid][s][mod11]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod11]); }
    if(Carlist[playerid][s][mod12]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod12]); }
    if(Carlist[playerid][s][mod13]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod13]); }
    if(Carlist[playerid][s][mod14]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod14]); }
    if(Carlist[playerid][s][mod15]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod15]); }
    if(Carlist[playerid][s][mod16]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod16]); }
    if(Carlist[playerid][s][mod17]!=-1) { AddVehicleComponent(carid,Carlist[playerid][s][mod17]); }
    if(Carlist[playerid][s][Paintjob]!=-1) { ChangeVehiclePaintjob(carid,Carlist[playerid][s][Paintjob]); }
    if(Carlist[playerid][s][Farbe1]!=-1) { ChangeVehicleColor(carid,Carlist[playerid][s][Farbe1],Carlist[playerid][s][Farbe2]); }
    return carid;
    }
    return 1;
    }


    und
    Carlist[playerid][s][Carid]=CreateTunedCar(playerid);
    zu:
    Carlist[playerid][s][Carid]=CreateTunedCar(playerid,s);

    Kannst du bitte die Zeilen mit

    Code
    [pwn=NUMMER_DER_ERSTEN_ZEILE][/pwn]


    nummerieren?



    EDIT:
    Danke.
    CaZe:
    Dann ist houseowner -1. Schau mal wie du dem einen Wert zuweist, vielleicht hast du da etwas vergessen.