public OnPasswordResponse(playerid)
{
new num_rows, num_fields;
cache_get_data(num_rows, num_fields, handle);
if(SpielerInfo[playerid][sLogout] > gettime()) return SendClientMessage(playerid, COLOR_WHITE, "Dein Logout Pickup ist noch nicht verschwunden!");
if(num_rows == 0)
{
new string[300];
format(string, sizeof(string), "{0099FF}Herzlich Willkommen zurück auf Night Life Gangwar!{FFFFFF}\n\n{0099FF}Name:{FFFFFF} %s\n{0099FF}IP:{FFFFFF} %s\n\nDein Account wurde erfolgreich in der Datenbank\ngefunden. Bitte logge dich nun in dein Account\nein. {FF0000}(Dein Passwort war inkorrekt!){FFFFFF}", pName(playerid), pIp(playerid));
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{0099FF}Login", string, "Login", "Abbrechen");
}
else
{
//Login/Register
StopAudioStreamForPlayer(playerid);
TextDrawHideForPlayer(playerid, Textdraw1), TextDrawHideForPlayer(playerid, Textdraw2), TextDrawHideForPlayer(playerid, Textdraw3),
TextDrawHideForPlayer(playerid, Textdraw4), TextDrawHideForPlayer(playerid, Textdraw5), TextDrawHideForPlayer(playerid, Textdraw6),
TextDrawHideForPlayer(playerid, Textdraw7), TextDrawHideForPlayer(playerid, Textdraw8), TextDrawHideForPlayer(playerid, Textdraw9),
TextDrawHideForPlayer(playerid, Textdraw10), TextDrawHideForPlayer(playerid, Textdraw11), TextDrawHideForPlayer(playerid, Textdraw12),
TextDrawHideForPlayer(playerid, Textdraw13), TextDrawHideForPlayer(playerid, Textdraw14), TextDrawHideForPlayer(playerid, Textdraw15),
TextDrawHideForPlayer(playerid, Textdraw16), TextDrawHideForPlayer(playerid, Textdraw17), TextDrawHideForPlayer(playerid, Textdraw0);
CancelSelectTextDraw(playerid);
//Eingeloggt
TogglePlayerControllable(playerid, 1);
TogglePlayerSpectating(playerid, 0);
SendClientMessage(playerid, COLOR_GREEN, "Du hast dich erfolgreich in dein Account eingeloggt!");
SpielerInfo[playerid][sEingeloggt] = 1;
LoadPlayer(playerid);
SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0);
SpawnPlayer(playerid);
}
return 1;
}
Beiträge von Grapefruit
-
-
Hallo,
ich hab ein problem beim laden vom Logout Pickup.
new query[100];
format(query, sizeof(query), "SELECT * FROM Accounts WHERE Logout='%s'", SpielerInfo[playerid][sLogout]);
mysql_pquery(handle, query);stock LoadPlayer(playerid)
{
SpielerInfo[playerid][sEingeloggt] = 1;
SpielerInfo[playerid][sGeld] = cache_get_field_content_int(0, "Geld", handle), GivePlayerMoney(playerid, SpielerInfo[playerid][sGeld]);
SpielerInfo[playerid][sLevel] = cache_get_field_content_int(0, "Level", handle), SetPlayerScore(playerid, SpielerInfo[playerid][sLevel]);
SpielerInfo[playerid][sAdminlevel] = cache_get_field_content_int(0, "Adminlevel", handle);
SpielerInfo[playerid][sLogout] = cache_get_field_content_int(0, "Logout", handle);
return 1;
}Mit freundlichen Grüßen
Grapefruit -
new query[100];
format(query, sizeof(query), "SELECT * FROM Accounts WHERE Logout='%s'", SpielerInfo[playerid][sLogout]);
mysql_pquery(handle, query);hab das jetzt so gemacht, funktioniert aber immer noch nicht.
-
public OnPlayerConnect(playerid)
{
new query[150];
mysql_escape_string(pName(playerid), pName(playerid));
format(query, sizeof(query), "UPDATE Accounts SET Logout='%i' WHERE Spielername='%s'", SpielerInfo[playerid][sLogout], pName(playerid));
mysql_pquery(handle, query);
return 1;
} -
Jetzt kann man sich einloggen obwohl die 60 sek noch nicht rum sind.
new query[150];
mysql_escape_string(pName(playerid), pName(playerid));
format(query, sizeof(query), "UPDATE Accounts SET Logout='%i' WHERE Spielername='%s'", SpielerInfo[playerid][sLogout], pName(playerid));
mysql_pquery(handle, query);So lass ich sLogout laden.
-
Es funktioniert immer noch nicht. Wenn ich mit Grapefruit disconnecte und mit Klaus connecte kann Klaus sich nicht einloggen, weil die 60 sek noch nicht rum sind.
-
DestroyPickup(pickup);
Delete3DTextLabel(Text3D:label);_:label was hat _: das zu bedeuten?
-
C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\NLG.pwn(390) : warning 213: tag mismatch
C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\NLG.pwn(1171) : error 017: undefined symbol "pickup"
C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\NLG.pwn(1172) : error 017: undefined symbol "label"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
-
-
Danke, ich hab jetzt noch eine abfrage vorm einloggen gemacht. Das wenn die 60 sek noch nicht um sind das man sich nicht einloggen kannst. Nur steht das jetzt bei jedem Spieler der sich einloggen möchte, das er sich nicht einloggen kann weil die 60 sek noch nicht um sind obwohl sie sich davor nicht ausgeloggt haben.
public Logout(playerid)
{
SpielerInfo[playerid][sLogout] = 0;
DestroyPickup(logpickup[playerid]);
Delete3DTextLabel(logoutlabel[playerid]);
SavePlayer(playerid);
return 1;
}public OnPlayerDisconnect(playerid, reason)
{
new Float:x, Float:y, Float:z, string[80], hour, mins, sec;
SetTimerEx("Logout", 60000, 0, "d", playerid);
SpielerInfo[playerid][sLogout] = 1;
GetPlayerPos(playerid, x, y, z);
gettime(hour, mins, sec);
logpickup[playerid] = CreatePickup(1272, 2, x, y, z, -1);
format(string, sizeof(string), "*%s*\n**%d.%d.%d", SpielerInfo[playerid][sName], hour, mins, sec);
logoutlabel[playerid] = Create3DTextLabel(string, COLOR_WHITE, x, y, z, 40.0, 0, 0);
SavePlayer(playerid);
return 1;
}if(SpielerInfo[playerid][sLogout] == 1) return SendClientMessage(playerid, COLOR_WHITE, "Dein Logout Pickup ist noch nicht verschwunden!");
-
Label wird nach 60 sek nicht gelöscht?
logoutlabel[playerid] = Create3DTextLabel(string, COLOR_WHITE, x, y, z, 40.0, 0, 0);public Logout(playerid)
{Delete3DTextLabel(logoutlabel[playerid]);
return 1;
} -
Wie könnte ich das beheben? Einfach die Variabellen von maxY und minY umtauschen?
-
[19:48:00] [DEBUG] mysql_errno - connection: 1
[19:48:00] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `gangfight` ORDER BY id ASC", callback: "LoadGZ", format: "(null)"
[19:48:00] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[19:48:00] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[19:48:00] [DEBUG] CMySQLConnection::Connect - connection was successful
[19:48:00] [DEBUG] CMySQLConnection::Connect - connection was successful
[19:48:00] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[19:48:00] [DEBUG] CMySQLConnection::Connect - connection was successful
[19:48:00] [DEBUG] CMySQLQuery::Execute[LoadGZ] - starting query execution
[19:48:00] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[19:48:00] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[19:48:00] [DEBUG] CMySQLQuery::Execute[LoadGZ] - query was successfully executed within 0.331 milliseconds
[19:48:00] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[19:48:00] [DEBUG] Calling callback "LoadGZ"..
[19:48:00] [DEBUG] cache_get_data - connection: 1
[19:48:00] [DEBUG] cache_get_field_content_int - row: 0, field_name: "owner", connection: 1
[19:48:00] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "owner", data: ""
[19:48:00] [ERROR] cache_get_field_content_int - invalid datatype
[19:48:00] [DEBUG] cache_get_field_content_float - row: 0, field_name: "maxX", connection: 1
[19:48:00] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "maxX", data: "144.975"
[19:48:00] [DEBUG] cache_get_field_content_float - row: 0, field_name: "maxY", connection: 1
[19:48:00] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "maxY", data: "-84.1551"
[19:48:00] [DEBUG] cache_get_field_content_float - row: 0, field_name: "minX", connection: 1
[19:48:00] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "minX", data: "134.394"
[19:48:00] [DEBUG] cache_get_field_content_float - row: 0, field_name: "minY", connection: 1
[19:48:00] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "minY", data: "-73.3813"
[19:48:00] [DEBUG] cache_get_field_content_float - row: 0, field_name: "flaggeX", connection: 1
[19:48:00] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "flaggeX", data: "138.958"
[19:48:00] [DEBUG] cache_get_field_content_float - row: 0, field_name: "flaggeY", connection: 1
[19:48:00] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "flaggeY", data: "-79.496"
[19:48:00] [DEBUG] cache_get_field_content_float - row: 0, field_name: "flaggeZ", connection: 1
[19:48:00] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "flaggeZ", data: "1.57812"
[19:48:00] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor call -
Die Zonen warden genauso geladen wie die Flaggen.
forward LoadGZ();
public LoadGZ()
{
new rows, fields, str[64], Counter = 0;
cache_get_data(rows, fields);
for(new i = 0; i < rows; i++)
{
GZ[i][zid] = i;
GZ[i][owner] = cache_get_field_content_int(i, "owner", handle);
GZ[i][max_x] = cache_get_field_content_float(i, "maxX", handle);
GZ[i][max_y] = cache_get_field_content_float(i, "maxY", handle);
GZ[i][min_x] = cache_get_field_content_float(i, "minX", handle);
GZ[i][min_y] = cache_get_field_content_float(i, "minY", handle);
GZ[i][flagge_x] = cache_get_field_content_float(i, "flaggeX", handle);
GZ[i][flagge_y] = cache_get_field_content_float(i, "flaggeY", handle);
GZ[i][flagge_z] = cache_get_field_content_float(i, "flaggeZ", handle);
GZ[i][erstellt] = true;
M_CreateZone(GZ[i][min_x],GZ[i][min_y],GZ[i][max_x],GZ[i][max_y],FrakColor(GZ[i][owner]),str,FrakColor(GZ[i][owner]));
GZ[i][pickup] = CreatePickup(1314,1,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],0);
GZ[i][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],20,0);
Counter++;
}
return printf(" '%d' Gangzone(n) wurde(n) erfolgreich erstellt und geladen.",Counter);
}stock LoadGZ_(zoneid)
{
new str[64];
GZ[zoneid][zid] = zoneid;
GZ[zoneid][owner] = cache_get_field_content_int(0, "owner", handle);
GZ[zoneid][max_x] = cache_get_field_content_float(0, "maxX", handle);
GZ[zoneid][max_y] = cache_get_field_content_float(0, "maxY", handle);
GZ[zoneid][min_x] = cache_get_field_content_float(0, "minX", handle);
GZ[zoneid][min_y] = cache_get_field_content_float(0, "minY", handle);
GZ[zoneid][flagge_x] = cache_get_field_content_float(0, "flaggeX", handle);
GZ[zoneid][flagge_y] = cache_get_field_content_float(0, "flaggeY", handle);
GZ[zoneid][flagge_z] = cache_get_field_content_float(0, "flaggeZ", handle);
GZ[zoneid][erstellt] = cache_get_field_content_int(0, "erstellt", handle);
M_CreateZone(GZ[zoneid][min_x],GZ[zoneid][min_y],GZ[zoneid][max_x],GZ[zoneid][max_y],FrakColor(GZ[zoneid][owner]),str,FrakColor(GZ[zoneid][owner]));
GZ[zoneid][pickup] = CreatePickup(1314,1,GZ[zoneid][flagge_x],GZ[zoneid][flagge_y],GZ[zoneid][flagge_z],0);
GZ[zoneid][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[zoneid][flagge_x],GZ[zoneid][flagge_y],GZ[zoneid][flagge_z],20,0);
return 1;
} -
Ja, aber als ich das mit Dini hatte, hat das auch funktioniert perfekt.
-
Es wird nun alles in die Datenbank eingetragen, und die Flagge wird auch geladen. Aber die Zone wird nicht geladen.
-
enum eGZ
{
Float:max_x,
Float:max_y,
Float:min_x,
Float:min_y,
Float:flagge_x,
Float:flagge_y,
Float:flagge_z,
owner,
zid,
erstellt,
Text3D:label,
pickup,
ruhe,
ruhetimer
};enum eC
{
Float:min_x,
Float:min_y,
Float:max_x,
Float:max_y,
zid,
create
}; -
Schuldigung, das ich mich jetzt erst wieder melde. Hatte wegen den Feiertagen und anderen problemen keine Zeit. Nun bin ich wieder aktiv bei der sache dabei.
Nun ich wollte wissen, was dieser Error hier bedeutet, da er oben in der Fehlererklärbär nicht vorhanden ist.
C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\Gangwar.pwn(567 -- 568) : error 091: ambiguous constant; tag override is required (symbol "zid")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
ocmd:cflagge(playerid,params[])
{
new query[500];
if(CZ[playerid][create] != 1)return SCMF(playerid,Rot,"Um eine Gangzone zu erstellen, benutze '/creategangzone'!");
if(!M_IsPlayerInAnyZone(playerid))return SCMF(playerid,Rot,"Du bist in keiner Gangzone!");
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
GZ[CZ[playerid][zid]][flagge_x] = x, GZ[CZ[playerid][zid]][flagge_y] = y, GZ[CZ[playerid][zid]][flagge_z] = z,CZ[playerid][create] = 0;
GZ[CZ[playerid][zid]][pickup] = CreatePickup(1314,1,x,y,z,0);
GZ[CZ[playerid][zid]][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,x,y,z,20,0);
format(query, sizeof(query), "INSERT INTO gangfight (id, owner, maxX, maxY, minX, minY, flaggeX, flaggeY, flaggeZ, erstellt) VALUES ('%d', '%s', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%d')",
zid, GZ[CZ[playerid][zid]][owner], GZ[CZ[playerid][zid]][max_x], GZ[CZ[playerid][zid]][max_y], GZ[CZ[playerid][zid]][min_x], GZ[CZ[playerid][zid]][min_y], GZ[CZ[playerid][zid]][flagge_x], GZ[CZ[playerid][zid]][flagge_y], GZ[CZ[playerid][zid]][flagge_z], CZ[playerid][zid]);
mysql_pquery(handle, query);
return SCMF(playerid,Blau,"Du hast die Zone erfolgreich erstellt.");
}Mit freundlichen Grüßen
Grapefruit -
ocmd:creategangzone(playerid,params[])
{
if(!IsPlayerAdmin(playerid))return 1;
if(M_IsPlayerInAnyZone(playerid))return SCMF(playerid,Rot,"Du kannst hier keine Ganguone erstellen!");
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
CZ[playerid][min_x] = x, CZ[playerid][min_y] = y, CZ[playerid][create] = 1;
SCMF(playerid,Blau,"Bitte überquere jetzt die Zone um die Zone richtig zu erstellen.");
return SCMF(playerid,Rot,"Wenn du die Zone überquert hast, tippe '/zoneende'.");
}ocmd:zoneende(playerid,params[])
{
if(CZ[playerid][create] != 1)return SCMF(playerid,Rot,"Um eine Gangzone zu erstellen, benutze '/creategangzone'!");
new Float:x,Float:y,Float:z,i,str[64];
GetPlayerPos(playerid,x,y,z);
CZ[playerid][max_x] = x,CZ[playerid][max_y] = y;
for(; i<MAX_GZ; i++)
{
if(GZ[i][erstellt] == 1)continue;
GZ[i][min_x] = CZ[playerid][min_x],GZ[i][min_y] = CZ[playerid][min_y],GZ[i][max_x] = CZ[playerid][max_x],GZ[i][max_y] = CZ[playerid][max_y];
GZ[i][erstellt] = 1,GZ[i][owner] = 0;
format(str,64,"%i| Besitzer: '%s'",GZ[i][zid],FrakName(GZ[i][owner]));
M_CreateZone(GZ[i][min_x],GZ[i][min_y],GZ[i][max_x],GZ[i][max_y],FrakColor(GZ[i][owner]),str,FrakColor(GZ[i][owner]));
new zone = M_GetPlayerCurrentZone(playerid);
GZ[i][zid] = zone,CZ[playerid][zid] = zone;
break;
}
return SCMF(playerid,Blau,"Nun gehe zum Angriffspunkt hin und tippe '/cflagge'.");
}ocmd:cflagge(playerid,params[])
{
if(CZ[playerid][create] != 1)return SCMF(playerid,Rot,"Um eine Gangzone zu erstellen, benutze '/creategangzone'!");
if(!M_IsPlayerInAnyZone(playerid))return SCMF(playerid,Rot,"Du bist in keiner Gangzone!");
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
GZ[CZ[playerid][zid]][flagge_x] = x, GZ[CZ[playerid][zid]][flagge_y] = y, GZ[CZ[playerid][zid]][flagge_z] = z,CZ[playerid][create] = 0;
GZ[CZ[playerid][zid]][pickup] = CreatePickup(1314,1,x,y,z,0);
GZ[CZ[playerid][zid]][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,x,y,z,20,0);
return SCMF(playerid,Blau,"Du hast die Zone erfolgreich erstellt.");
} -
Es wird immer noch nichts in die Datenbank geschrieben. Die Log meldet keinen Fehler.
[22:35:20] [DEBUG] mysql_errno - connection: 1
[22:35:20] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `gangfight` ORDER BY id ASC", callback: "LoadGZ", format: "(null)"
[22:35:20] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[22:35:20] [DEBUG] CMySQLConnection::Connect - connection was successful
[22:35:20] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[22:35:20] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[22:35:20] [DEBUG] CMySQLQuery::Execute[LoadGZ] - starting query execution
[22:35:20] [DEBUG] CMySQLConnection::Connect - connection was successful
[22:35:20] [DEBUG] CMySQLQuery::Execute[LoadGZ] - query was successfully executed within 0.258 milliseconds
[22:35:20] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[22:35:20] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[22:35:20] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[22:35:20] [DEBUG] CMySQLConnection::Connect - connection was successful
[22:35:20] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[22:35:20] [DEBUG] Calling callback "LoadGZ"..
[22:35:20] [DEBUG] cache_get_data - connection: 1
[22:35:20] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called