Nein in der normalen welt
Beiträge von Kasakow
-
-
Hey leute, ich habe irgentwie einen kleinen Speicherungs Fehler
Also ich habe das MySQL Tuturial von Maddin befolgt und ehm
Eigentlich klappt alles bis auf die Speicherung
Ich habe sie jedoch anders als MADDIN gemacht, "Recourcen" Sparender
Der code: ps: laden geht auch??SavePlayer(playerid)
{
if(SpielerInfo[playerid][Eingeloggt] == 0)return 1;
new query[1000];
format(query, sizeof(query), "UPDATE `accounts` SET Geld='%i',Level='%i',Adminlevel='%i' WHERE Name='%s'",GetPlayerMoneyEx(playerid), GetPlayerScoreEx(playerid), SpielerInfo[playerid][sAdminlevel], getPlayerName(playerid));
mysql_query(query);
return 1;
}Hoffe ihr könnt mir helfen

EDIT://Es lag daran das ich das geld in einer variable speichern lasse und ich das geld per samp sprunk atm ausgegeben habe, nun funkt alles
-
Alles anzeigen
SetPlayerPos(playerid,379.3823,-2026.8174,7.8301);
SetPlayerFacingAngle(playerid,92.9393);
SetPlayerCameraPos(playerid,379.3823,-2026.8174,7.8301);
SetPlayerCameraLookAt(playerid,379.3823,-2026.8174,7.8301);Schaumal:
SetPlayerPos(playerid,379.3823,-2026.8174,7.8301);
und
SetPlayerCameraPos(playerid,379.3823,-2026.8174,7.8301);Hier noch genauer:
379.3823,-2026.8174,7.8301 -> PlayerPos
379.3823,-2026.8174,7.8301 -> KameraPosDein Problem ist, du hast Die Kamera an der Position gemacht, wo der Spieler ist, Sprich die Kamera Schaut im Prinzip so wie dein Player, um das zu lösen muss du entweder die Kamera-position ändern oder die Player-Pos.

Und dazu kommt auch noch das er die LookAt auch an mit der position gefüllt hat
-
Beteudet das du es noch nicht benutzt hast

-
ja dann müstest du den pfad den du selber formatierst hast kennen??
-
Du hast schon einen Spielerspeichern stock oder?
-
ja das würde natürlich auch gehen, leider ging der bei mir nie.....

-
Das bringt nichts wenn dir hier c&p beigebracht wird

-
-
Du sollst nicht pfad hinschreiben xDD
Da sollst du deine Formatierung vom Spieler reinschreiben
-
was
Das habe ich gerade gemacht:
Das beim spieler speichern stock :
new Waffen[13][2];
for (new i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, Waffen[i][0], Waffen[i][1]);
}Dasm Spielerladen stock
new Weapons[MAX_PLAYERS][2];
Weapons[playerid][0] = dini_Int(pfad, "Waffe%i");
Weapons[playerid][1] = dini_Int(pfad, "Ammo%i");
GivePlayerWeapon(playerid, Weapons[playerid][0], Weapons[playerid][1]); -
Das ist zum Saven
Beim laden einfach
new Weapons[MAX_PLAYERS][2];
Weapons[playerid][0] = dini_Int(pfad, "Waffe%i");
Weapons[playerid][1] = dini_Int(pfad, "Ammo%i");
GivePlayerWeapon(playerid, Weapons[playerid][0], Weapons[playerid][1]); -
Vllt kein Streamer angegeben ?
-
SELECT * FROM `accounts` WHERE `Username` ='%s' AND `Password`='%s' LIMIT 1
Nach deinem CODE geht es immer noch nichtDas steht in der debug
[12:07:26] [DEBUG] mysql_tquery - connection: 1, query: "SELECT id FROM accounts WHERE Username='Mega_Joe'", callback: "PlayerCheck", format: "i"
[12:07:26] [DEBUG] CMySQLQuery::CMySQLQuery() - constructor called
[12:07:26] [DEBUG] mysql_tquery - scheduling query "SELECT id FROM accounts WHERE Username='Mega_Joe'"..
[12:07:26] [DEBUG] CMySQLQuery::Execute[PlayerCheck(i)] - starting query execution
[12:07:26] [DEBUG] CMySQLQuery::Execute[PlayerCheck(i)] - query was successful
[12:07:26] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[12:07:26] [DEBUG] CMySQLQuery::Execute[PlayerCheck(i)] - data being passed to ProcessCallbacks()
[12:07:26] [DEBUG] Calling callback "PlayerCheck"..
[12:07:26] [DEBUG] cache_get_data - connection: 1
[12:07:26] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[12:07:26] [DEBUG] CMySQLQuery::~CMySQLQuery() - deconstructor called
[12:07:32] [DEBUG] mysql_escape_string - source: "12345678", connection: 1, max_len: 35
[12:07:32] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `Username` ='Mega_Joe' AND `Passw", callback: "CheckPasswort", format: "i"
[12:07:32] [DEBUG] CMySQLQuery::CMySQLQuery() - constructor called
[12:07:32] [DEBUG] mysql_tquery - scheduling query "SELECT * FROM `accounts` WHERE `Username` ='Mega_Joe' AND `Password`='25D55AD283AA400AF464C76D713C07AD' LIMIT 1"..
[12:07:32] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - starting query execution
[12:07:32] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - query was successful
[12:07:32] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[12:07:32] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - data being passed to ProcessCallbacks()
[12:07:32] [DEBUG] Calling callback "CheckPasswort"..
[12:07:32] [DEBUG] cache_get_data - connection: 1
[12:07:32] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[12:07:32] [DEBUG] CMySQLQuery::~CMySQLQuery() - deconstructor called
[12:07:33] [DEBUG] mysql_escape_string - source: "1", connection: 1, max_len: 35
[12:07:33] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `Username` ='Mega_Joe' AND `Passw", callback: "CheckPasswort", format: "i"
[12:07:33] [DEBUG] CMySQLQuery::CMySQLQuery() - constructor called
[12:07:33] [DEBUG] mysql_tquery - scheduling query "SELECT * FROM `accounts` WHERE `Username` ='Mega_Joe' AND `Password`='C4CA4238A0B923820DCC509A6F75849B' LIMIT 1"..
[12:07:33] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - starting query execution
[12:07:33] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - query was successful
[12:07:33] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[12:07:33] [DEBUG] CMySQLQuery::Execute[CheckPasswort(i)] - data being passed to ProcessCallbacks()
[12:07:33] [DEBUG] Calling callback "CheckPasswort"..
[12:07:33] [DEBUG] cache_get_data - connection: 1
[12:07:33] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[12:07:33] [DEBUG] CMySQLQuery::~CMySQLQuery() - deconstructor calledmysql_escape_string(inputtext, Passwort, handle);
format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Username` ='%s' AND `Password`='%s' LIMIT 1",getPlayerName(playerid), MD5_Hash(Passwort));
mysql_function_query(handle, query, true, "CheckPasswort", "i", playerid);Ja das von Blueg r34

-
TextDrawSetSelectable(textdrawid, true/false);
-
Muss ich dafür nicht erstmal unter ongamemodeinit mysql_debug(0); schreiben ?
-
ja dann musst du es unter OnGamemodeInit machen
Also da dann reinschreiben
for(new i = 0; i < GetMaxPlayers(); i++)
{
loadCar(i);
} -
Hey leute, ich habe gerade ein MD5 Hash gescriptet und ehm
'Voher ging alles aber nun wenn ich mich einloggen möchte ist anscheinend jedes Passwort "falsch" was ich eingebe ??
mysql_escape_string(inputtext, Passwort, handle);
format(query, sizeof(query), "SELECT * FROM accounts WHERE Username='%s' AND Password=MD5('%s')",getPlayerName(playerid), Passwort);
mysql_function_query(handle, query, true, "CheckPasswort", "i", playerid); -
Also nochmal Allgemein,
Du machst n GMX, server.exe geht aus und NICHT wieder an richtig?
Somit ist dann deine SQL verbindung tot?Ich kann ihn danach noch mal Starten aber normal wenn man gmx in die console eingibbt beendet sich der server nur für kurze zeit und startet dann wd
-
Ich schreibe dir hier mal den befehl erneut und auf ocmd:
ocmd:auftraggeben(playerid, params[])
{
if(!IsPlayerInFrac(playerid, 8))return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Hitman!");
if(PlayerInfo[playerid][pRank] < 2)return SendClientMessage(playerid, COLOR_GREY, "Es gibt derzeit keine Aufträge, schau vorher unter /auftrag nach.");
if(sscanf(params, "ui", id, Value))return SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /auftraggeben [Spielerid/Spielername] [Betrag]");
if(id == INVALID_PLAYER_ID)return SendClientMessage(playerid, COLOR_GRAD1, "Dieser Spieler ist nicht online!");
if(id == playerid)return SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keinen Auftrag auf die selber ausgeben!");
if(CMoney[id] > 0)return SendClientMessage(playerid, COLOR_GRAD1, "Dieser Spieler hat bereits einen Auftrag!");
if(IsPlayerInFrac(playerid, 8))return SendClientMessage(playerid, COLOR_GRAD1, "Du kannst auf keinen Hitman einen Auftrag aufgeben!");
format(string, sizeof(string), "* Spieler %s hat den Auftrag gegeben, %s(ID:%i) für %i$ zu töten.",Spielername(playerid), Spielername(id), id, Value);
SendFamilyMessage(8, COLOR_YELLOW, string);
CMoney[id] = Value;
return 1;
}Function OnPlayerDeath(playerid, killerid, reason)
{
if(killerid!= INVALID_PLAYER_ID)
{
if(CMoney[playerid] > 0 && IsPlayerInFrac(killerid, 8))
{
//Contract kill
}
}
return 1;
}Das ganze war nur ein Beispiel müsstest dann halt paar andere sachen im gf ändern wenn du meinen quellcode nimmst
