Also ich weiß jetzt nicht ob " - " zu einem integer gehört also bin mir da aber nicht so sicher
mfg tdXkiller
Also ich weiß jetzt nicht ob " - " zu einem integer gehört also bin mir da aber nicht so sicher
mfg tdXkiller
Hallo,
meine Fahrzeuge laden nicht aber ich weiß nicht wieso wenn ich was ausgebe dann steht da nur null also halt nichts
stock mysql_PlayerVehicleLoad(playerid)
{
new query[90], escapedName[20];
mysql_real_escape_string(PlayerName(playerid), escapedName);
format(query, sizeof(query), "SELECT * FROM `db_vehicles` WHERE `pName` = '%s'", escapedName);
mysql_function_query(MySQLHandle, query, true, "OnPlayerVehicleLoad", "d", playerid);
}
forward OnPlayerVehicleLoad(playerid);
public OnPlayerVehicleLoad(playerid)
{
new rows, fields;
cache_get_data(rows, fields);
if(rows == 0)
if(rows != 0)
{
for(new fID = 1; fID <= pInfo[playerid][MaxVehicles]; fID++)
{
cache_get_row(fID, 1, pVehicle[playerid][fID][vName]);
pVehicle[playerid][fID][vNumber] = cache_get_row_int(fID, 2);
pVehicle[playerid][fID][Modelid] = cache_get_row_int(fID, 3);
pVehicle[playerid][fID][rentTime] = cache_get_row_int(fID, 4);
cache_get_row(fID, 6, pVehicle[playerid][fID][Numberplate]);
pVehicle[playerid][fID][vPosX] = cache_get_row_float(fID, 7);
pVehicle[playerid][fID][vPosY] = cache_get_row_float(fID, 8);
pVehicle[playerid][fID][vPosZ] = cache_get_row_float(fID, 9);
pVehicle[playerid][fID][vPosA] = cache_get_row_float(fID, 10);
pVehicle[playerid][fID][Price] = cache_get_row_int(fID, 11);
pVehicle[playerid][fID][Fuel] = cache_get_row_float(fID, 12);
pVehicle[playerid][fID][Colour1] = cache_get_row_int(fID, 13);
pVehicle[playerid][fID][Colour2] = cache_get_row_int(fID, 14);
pVehicle[playerid][fID][Paintjob] = cache_get_row_int(fID, 15);
pVehicle[playerid][fID][Mod0] = cache_get_row_int(fID, 16);
pVehicle[playerid][fID][Mod1] = cache_get_row_int(fID, 17);
pVehicle[playerid][fID][Mod2] = cache_get_row_int(fID, 18);
pVehicle[playerid][fID][Mod3] = cache_get_row_int(fID, 19);
pVehicle[playerid][fID][Mod4] = cache_get_row_int(fID, 20);
pVehicle[playerid][fID][Mod5] = cache_get_row_int(fID, 21);
pVehicle[playerid][fID][Mod6] = cache_get_row_int(fID, 22);
pVehicle[playerid][fID][Mod7] = cache_get_row_int(fID, 23);
pVehicle[playerid][fID][Mod8] = cache_get_row_int(fID, 24);
pVehicle[playerid][fID][Mod9] = cache_get_row_int(fID, 25);
pVehicle[playerid][fID][Mod10] = cache_get_row_int(fID, 26);
pVehicle[playerid][fID][Mod11] = cache_get_row_int(fID, 27);
pVehicle[playerid][fID][Mod12] = cache_get_row_int(fID, 28);
pVehicle[playerid][fID][Mod13] = cache_get_row_int(fID, 29);
DestroyVehicle(Vehicle[playerid][fID]);
if(fID == pInfo[playerid][VehicleSlot])
{
Vehicle[playerid][fID] = CreateVehicle(pVehicle[playerid][fID][Modelid], pVehicle[playerid][fID][vPosX], pVehicle[playerid][fID][vPosY], pVehicle[playerid][fID][vPosZ]+2, pVehicle[playerid][fID][vPosA], pVehicle[playerid][fID][Colour1], pVehicle[playerid][fID][Colour2], -1);
SetVehicleNumberPlate(Vehicle[playerid][fID], pVehicle[playerid][fID][Numberplate]);
if(pVehicle[playerid][fID][Paintjob] != 0) { ChangeVehiclePaintjob(Vehicle[playerid][fID], pVehicle[playerid][fID][Paintjob]); }
if(pVehicle[playerid][fID][Mod0] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod0]); }
if(pVehicle[playerid][fID][Mod1] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod1]); }
if(pVehicle[playerid][fID][Mod2] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod2]); }
if(pVehicle[playerid][fID][Mod3] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod3]); }
if(pVehicle[playerid][fID][Mod4] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod4]); }
if(pVehicle[playerid][fID][Mod5] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod5]); }
if(pVehicle[playerid][fID][Mod6] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod6]); }
if(pVehicle[playerid][fID][Mod7] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod7]); }
if(pVehicle[playerid][fID][Mod8] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod8]); }
if(pVehicle[playerid][fID][Mod9] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod9]); }
if(pVehicle[playerid][fID][Mod10] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod10]); }
if(pVehicle[playerid][fID][Mod11] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod11]); }
if(pVehicle[playerid][fID][Mod12] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod12]); }
if(pVehicle[playerid][fID][Mod13] != 0) { AddVehicleComponent(Vehicle[playerid][fID], pVehicle[playerid][fID][Mod13]); }
}
}
}
return 1;
}
Du kannst keine schleifen mit gleicher bezeichnung in einem Public verwenden es gibt nur 1 mal i 1 mal z und 1 mal kp
Nur so am Rande, anstatt den Hash aus der DB zu holen solltest du lieber abfragen ob es einen Usernamen mit diesem bestimmten string (hash) gibt. Wenn ja war das eingegebene Passwort richtig.
Ich meinte das hier
wie meinst du das ? erklär mir das bitte mal bzw was soll mir das bringen
Hallo,
meine Login funktion funktioniert nicht richtig es liegt an strcmp() ich weiß nicht was falsch ist
new hash[130];
WP_Hash(hash, sizeof(hash), inputtext);
if(strcmp(hash, pInfo[playerid][Password], true))
{
SpawnPlayer(playerid);
}
else
{
print(hash);
print("______");
print(pInfo[playerid][Password]);
SendClientMessage(playerid, COLOR_ERROR, "* Das eingegebene Passwort ist falsch!");
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{28DC28}Login", "{FFFFFF}Der Account ist registriert.\nUm dich anzumelden,\ngib bitte dein Passwort ein", "Einloggen", "Abbrechen");
}
Durch die Prints habe ich raus gefunden das hash und pInfo[playerid][Password] genau das gleiche ist 1 zu 1 jedoch führt er trotzdem immer das else aus ...
mfg tdXkiller
Ich hätte eine kleine Idee für deine Todo liste wenn du Ideen annimmst weiß ich ja nicht also ich sage es einfach mal wie währe es mit einer halb Transperenten Linie die entweder Gräulich ist oder wo man die Farbe selbst einstellen kann die an der maximalen Zeilenlänge platziert wird so das man gleich weiß das es einen Error geben wird weil die Zeile zu lang ist nur so als kleine idee
mfg tdXkiller
Passiert ja mal xD ist doch auch nicht wild habe mich nur gewundert
probier es mal sp
format(query[0],300,"UPDATE `accounts` SET `Level` = '%i,'",AccountInfo[playerid][sLevel]
ähm wtf also das , kommt hinter das ' also so
format(query[0],300,"UPDATE `accounts` SET `Level` = '%i',",AccountInfo[playerid][sLevel]
Ich habe das Z.b so gemacht das das , immer in der nähsten Zeile ist
format(str1, sizeof(str1), "UPDATE `db_accounts` SET `Level` = '%i', `Experience` = '%i', `Health` = '%.2f', `Armour` = '%.2f', `Money` = '%i'", ......
format(str2, sizeof(str2), ", `Kills` = '%i', `Deaths` = '%i', `KontoCard` = '%i', `VehicleSlot` = '%i', `MaxVehicles` = '%i', `Warnings` = '%i', `Banns` = '%i'", ......
Ich weiß schon was Threads sind nur von dem einen wird mir irgendwie gesagt das geht nicht und von dem anderen das geht und in einer Sache sagen sie immer das gleiche und zwar das der query von der Mysql datenbank verarbeitet wird nur checke ich das halt noch nicht wie man das machen soll aber um in meinem Script weiter zu kommen brauche ich Threads für die Funktionen die ich mache weil sonst der Server "Laggt" bzw der Game mode von den Mysql anfragen in meinem Bank System angehalten wird
Aber wird der Gamemode dadurch nicht ausgebremmst ? oder habe ich das irgendwie falsch verstanden ?
Habe das gleiche Problem weiß auch nicht woran das liegen kann D:
Ja aber er kann mir ja nicht die Zahl oder was auch immer in dem Feld steht returnen somit macht diese Funktion keinen sinn
mfg tdXkiller
Nope Roleplay ist halt so gesehen die Spiel art mit Autohäusern und so was man auch im echten Leben halt alles machen kann usw der unterschied liegt nun darin das man jetzt in Reallife nach den Realen preisen geht und nicht unrealistische summen verdient und vllt auch noch Harndrang Hunger usw hat obwohl das natürlich in Roleplay auch möglich ist.
Sag ich es mal kurz ein Script das Reallife heißt sollte sich bei vielen Sachen am echten Leben orientieren und bei einem Roleplay Script ist das nicht so
mfg tdXkiller
Nein nur Reallife Server
Was denn nun verstehe dich nicht ganz
erst sagst du Roleplay und dann Reallife
mfg tdXkiller
Ich habe da erst einmal gekauft, mit dem Kauf war ich dann auch zufrieden kann aber nicht so darüber urteilen da ich ja wie gesagt erst einmal da gekauft habe
mfg tdXkiller
Hmm ja aber wie soll ich sonst an einzelne werte zu Überprüfung von sachen kommen ? muss ich sogesehen für jeden kleinen Pippifax alles aus der db laden lassen und abspeichern lassen um es zu verwenden also ist es so gesehen kaum möglich einzelne vars zur Überprüfung zu laden ?
Hmm und was würdest du mir da empfehlen damit es klappt ? wenn ich jetzt ein Callback mache dann kommt das ergebnis doch erst verspätet an der der Gamemode ja nicht auf das Callback wartet
Hallo,
ich würde gerne wissen wie man eine GetInt Funktion zu Stande bekommt ich zeige einfach mal diese funktion hier wo mir von Anfang an klar war das sie so nicht klappen wird
stock mysql_GetInt(Table[], Field[], Where[], Is[])
{
new query[95], strTable[20], strField[20], strWhere[20], strIs[20];
mysql_real_escape_string(Table, strTable);
mysql_real_escape_string(Field, strField);
mysql_real_escape_string(Where, strWhere);
mysql_real_escape_string(Is, strIs);
format(query, sizeof(query), "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
return mysql_function_query(MySQLHandle, query, true, "", "");
}
nur wüsste ich jetzt nicht wie ich so eine Funktion mache ohne den Gamemode "zu verlangsamen"
mfg tdXkiller
Sieht gut aus gebe dir 8.25/10.00 da ich finde das es kaum zu gebrauchen ist für so nen Gamemode und mehr so fun Zeugs ist und keinen richtig funktionellen wert hat aber Script technisch alles aller erster Klasse
mfg tdXkiller