Wollte mal Fragen woran es liegen kann, das der Server einen Shutdown macht wenn der Spieler den Server verlässt !
Server Shutdown nach Player Disconnect o0
- Tigerchen
- Geschlossen
- Erledigt
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
-
-
Serverlog bitte.
/editIch schätze es liegt an deiner Speichermethode, aber mal sehn.
-
Bitte einmal den public OnPlayerDisconnect aus deinem Script.
-
Hast du etwa beim OnPlayerDisconnect(); GameModeExit(); drinne oder was?
Guck mal nach, wie du deine Accounts etc abspeicherst und/oder eine "GameModeExit" Funktion versehentlich hineingerutscht ist
MfG
Geronimo -
Hast du etwa beim OnPlayerDisconnect(); GameModeExit(); drinne oder was?
Guck mal nach, wie du deine Accounts etc abspeicherst und/oder eine "GameModeExit" Funktion versehentlich hineingerutscht ist
MfG
GeronimoVölliger Blödsinn, warum sollte sowas unter Disconnect stehen? Ich denke eh, dass er das Script runtergeladen hat, daher kann es dort gar nicht stehen, weil er wahrscheinlich nicht mal weiß, was das ist.
-
Einmal das wenn man Disconnected...
public OnPlayerDisconnect(playerid, reason)
{
if(GetPVarInt(playerid,"Login") == 1){
SavePlayerData(playerid);
SetPVarInt(playerid, "Login", 0);
SetPVarInt(playerid, "WPW", 0);
for(new x; pStats:x < pStats; x++) PlayerInfo[playerid][pStats:x] = 0;
}
return 1;
}Einmal den Server Log ...
----------
Loaded log file: "server_log.txt".
----------SA-MP Dedicated Server
----------------------
v0.3e-R2, (C)2005-2012 SA-MP Team[05:42:48] filterscripts = "" (string)
[05:42:48]
[05:42:48] Server Plugins
[05:42:48] --------------
[05:42:48] Loading plugin: mysql.so
[05:42:48]> MySQL plugin R7 successfully loaded.
[05:42:48] Loaded.
[05:42:48] Loading plugin: streamer.so
[05:42:48]*** Streamer Plugin v2.6.1 by Incognito loaded ***
[05:42:48] Loaded.
[05:42:48] Loading plugin: sscanf.so
[05:42:48][05:42:48] ===============================
[05:42:48] sscanf plugin loaded.
[05:42:48] (c) 2012 Alex "Y_Less" Cole
[05:42:48] ===============================
[05:42:48] Loaded.
[05:42:48] Loading plugin: Whirlpool.so
[05:42:48]
[05:42:48] ==================
[05:42:48]
[05:42:48] Whirlpool loaded
[05:42:48]
[05:42:48] ==================
[05:42:48]
[05:42:48] Loaded.
[05:42:48] Loaded 4 plugins.[05:42:49]
[05:42:49] Filterscripts
[05:42:49] ---------------
[05:42:49] Loaded 0 filterscripts.[05:42:49] Verbindung hergestellt
[05:42:49] Number of vehicle models: 0
[05:44:22] Incoming connection: 62.143.150.245:65183
[05:44:22] [join] Antonio_Bonanza has joined the server (0:62.143.150.245)
[05:44:22] Checkaccounts
[05:44:22] Load thinks
[05:44:30] Login
[05:44:30] spawnUnd einmal den MySQL Log ...
[05:42:49]
[05:42:49] ** MySQL Debugging enabled (12/27/12)
[05:42:49]
[05:42:49] >> mysql_connect(.
[05:42:49] CMySQLHandler::CMySQLHandler() - constructor called.
[05:42:49] CMySQLHandler::CMySQLHandler() - C
[05:42:49] CMySQLHandler::Connect() - Connection was successful.
[05:42:49] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.
[05:42:49] >> mysql_ping( Connection handle: 1 )
[05:42:49] CMySQLHandler::Ping() - Connection is still alive.
[05:42:49] >> mysql_format( Connection handle: 1 )
[05:42:49] >> mysql_format( Connection handle: 1 )
[05:42:49] >> mysql_query_callback( Connection handle: 1 )
[05:42:49] Passing query CREATE TABLE IF NOT EXISTS `accounts`(`Name` varchar(16) NOT NULL,`Password` varchar(129) NOT NULL,`Age` int(3) NOT NULL,`Country` varchar(20) NOT NULL,`Level` int(10) NOT NULL,`Admin` int(10) NOT NULL,`Donate` int(2) NOT NULL,`Gender` varchar(10) NOT NULL,`Money` int(22) NOT NULL,`Bank` int(22) NOT NULL,`X` float NOT NULL,`Y` float NOT NULL,`Z` float NOT NULL,`VW` int(6) NOT NULL,`Interior` int(3) NOT NULL,`Rank` int(2) NOT NULL,`Fraction` int(2) NOT NULL,`Carlic` int(1) NOT NULL,`Bikelic` int(1) NOT NULL,`Planelic` int(1) NOT NULL,`LKWlic` int(1) NOT NULL,`Helilic` int(1) NOT NULL,`Health` float NOT NULL,`Armour` float NOT NULL,`Ban` int(1) NOT NULL, `IP` int(85) NOT NULL) |
[05:42:49] ProcessQueryThread() - Query was successful. (CREATE TABLE IF NOT EXISTS `accounts`(`Name` varchar(16) NOT NULL,`Password` varchar(129) NOT NULL,`Age` int(3) NOT NULL,`Country` varchar(20) NOT NULL,`Level` int(10) NOT NULL,`Admin` int(10) NOT NULL,`Donate` int(2) NOT NULL,`Gender` varchar(10) NOT NULL,`Money` int(22) NOT NULL,`Bank` int(22) NOT NULL,`X` float NOT NULL,`Y` float NOT NULL,`Z` float NOT NULL,`VW` int(6) NOT NULL,`Interior` int(3) NOT NULL,`Rank` int(2) NOT NULL,`Fraction` int(2) NOT NULL,`Carlic` int(1) NOT NULL,`Bikelic` int(1) NOT NULL,`Planelic` int(1) NOT NULL,`LKWlic` int(1) NOT NULL,`Helilic` int(1) NOT NULL,`Health` float NOT NULL,`Armour` float NOT NULL,`Ban` int(1) NOT NULL, `IP` int(85) NOT NULL))
[05:42:49] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
[05:44:22] >> mysql_format( Connection handle: 1 )
[05:44:22] >> mysql_query_callback( Connection handle: 1 )
[05:44:22] Passing query SELECT * FROM `accounts` WHERE `Name` = 'Antonio_Bonanza' | i
[05:44:22] ProcessQueryThread(OnPlayerCheckAccount) - Query was successful. (SELECT * FROM `accounts` WHERE `Name` = 'Antonio_Bonanza')
[05:44:22] ProcessQueryThread(OnPlayerCheckAccount) - Data caching enabled.
[05:44:22] CMySQLHandler::StoreResult() - Result was stored.
[05:44:22] CMySQLHandler::FreeResult() - Result was successfully free'd.
[05:44:22] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
[05:44:22] OnPlayerCheckAccount(i) - Threaded function called.
[05:44:22] >> cache_get_data( Connection handle: 1 )
[05:44:22] >> mysql_format( Connection handle: 1 )
[05:44:22] >> mysql_query_callback( Connection handle: 1 )
[05:44:22] ProcessTick() - The cache has been cleared.
[05:44:22] Passing query SELECT * FROM `accounts` WHERE `Name` = 'Antonio_Bonanza' | i
[05:44:22] ProcessQueryThread(OnPlayerLoadPlayerData) - Query was successful. (SELECT * FROM `accounts` WHERE `Name` = 'Antonio_Bonanza')
[05:44:22] ProcessQueryThread(OnPlayerLoadPlayerData) - Data caching enabled.
[05:44:22] CMySQLHandler::StoreResult() - Result was stored.
[05:44:22] CMySQLHandler::FreeResult() - Result was successfully free'd.
[05:44:22] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
[05:44:22] OnPlayerLoadPlayerData(i) - Threaded function called.
[05:44:22] ProcessTick() - The cache has been cleared.
[05:46:15] >> mysql_format( Connection handle: 1 ) -
Google mal nach dem crashdetect plugin und bau das ein
-
Der Schrott funktioniert bei mir nicht, sondern verursacht eher Fehler.
stock SavePlayerData(playerid)
{
new Query[500];
GetPlayerPos(playerid,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
PlayerInfo[playerid][pMoney] = GetPlayerMoney(playerid);
GetPlayerArmour(playerid, PlayerInfo[playerid][pArmour]);
GetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
mysql_format(m_connect,Query,"UPDATE `accounts` SET `Name` = '%s', `Level` = '%d', `Admin` = '%d', `Donate` = '%d', `Money` = '%d', `Bank` = '%d', `X` = '%f', `Y` = '%f', `Z` = '%f', `VW` = '%d', `Interior` = '%d', `Fraction` = '%d', `Carlic` = '%d', `Bikelic` = '%d', `Planelic` = '%d', `LKWlic` = '%d', `Helilic` = '%d', `Health` = '%f', `Armour` = '%f', `Ban` = '%d' WHERE `Name` = '%s' ",PlayerName(playerid),PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pAdmin],PlayerInfo[playerid][pDonate],
PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pBank],PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ],PlayerInfo[playerid][pVW],PlayerInfo[playerid][pInt],PlayerInfo[playerid][pFraction],PlayerInfo[playerid][pCarlic],PlayerInfo[playerid][pBikelic],PlayerInfo[playerid][pPlanelic],PlayerInfo[playerid][pLKWlic],PlayerInfo[playerid][pHelilic],PlayerInfo[playerid][pHealth],PlayerInfo[playerid][pArmour],PlayerInfo[playerid][pBan],PlayerInfo[playerid][pName]);
mysql_function_query(m_connect,Query,true,"","");
return 1;
}
stock CreateTables()
{
new sql[800];
mysql_format(m_connect,sql,"CREATE TABLE IF NOT EXISTS `accounts`(`Name` varchar(16) NOT NULL,`Password` varchar(129) NOT NULL,`Age` int(3) NOT NULL,`Country` varchar(20) NOT NULL,`Level` int(10) NOT NULL,`Admin` int(10) NOT NULL,`Donate` int(2) NOT NULL,`Gender` varchar(10) NOT NULL,`Money` int(22) NOT NULL,`Bank` int(22) NOT NULL,`X` float NOT NULL,`Y` float NOT NULL,`Z` float NOT NULL");
mysql_format(m_connect,sql,"%s,`VW` int(6) NOT NULL,`Interior` int(3) NOT NULL,`Rank` int(2) NOT NULL,`Fraction` int(2) NOT NULL,`Carlic` int(1) NOT NULL,`Bikelic` int(1) NOT NULL,`Planelic` int(1) NOT NULL,`LKWlic` int(1) NOT NULL,`Helilic` int(1) NOT NULL,`Health` float NOT NULL,`Armour` float NOT NULL,`Ban` int(1) NOT NULL, `IP` int(85) NOT NULL)",sql);
mysql_function_query(m_connect,sql,false,"","");
return 1;
}
stock PlayerName(playerid)
{
new uName[MAX_PLAYER_NAME];
GetPlayerName(playerid,uName,MAX_PLAYER_NAME);
return uName;
}
public OnQueryError( errorid, error[], callback[], query[], connectionHandle ){
printf("EID: %d | Error: %s | callback: %s | Query: %s", errorid, error, callback, query);
return 1;
} -
Hast du auch alle scriptfiles? Denn das kann auch ne mögliche ursache haben.
-
for(new x; pStats:x < pStats; x++) PlayerInfo[playerid][pStats:x] = 0;
Was soll das Bewirken wenn ich fragen darf...Nimm es mal raus und teste es dan nochmal
-
2
public OnPlayerDisconnect(playerid, reason)
{
if(GetPVarInt(playerid,"Login") == 1)
{
SavePlayerData(playerid);
SetPVarInt(playerid, "Login", 0);
SetPVarInt(playerid, "WPW", 0);
for(new x; pStats:x < pStats; x++) PlayerInfo[playerid][pStats:x] = 0; // Deaktiviert wahrscheinlich die Anzeige von "jedem" Spieler bei dem Befehl /stats ?!
}
return 1;
}Was ist das denn? hab ich ja noch nie gesehen... .
Okay wahrscheinlich liegt es daran das es so hässlich veruscht ist?!
MfG
Geronimo//P.S.: nimm mal bitte das Crashdetectplugin und gib uns dann mal deine Server_Log.txt
-
-
Der Schrott funktioniert bei mir nicht, sondern verursacht eher Fehler.
stock SavePlayerData(playerid)
{
new Query[500];
GetPlayerPos(playerid,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
PlayerInfo[playerid][pMoney] = GetPlayerMoney(playerid);
GetPlayerArmour(playerid, PlayerInfo[playerid][pArmour]);
GetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
mysql_format(m_connect,Query,"UPDATE `accounts` SET `Name` = '%s', `Level` = '%d', `Admin` = '%d', `Donate` = '%d', `Money` = '%d', `Bank` = '%d', `X` = '%f', `Y` = '%f', `Z` = '%f', `VW` = '%d', `Interior` = '%d', `Fraction` = '%d', `Carlic` = '%d', `Bikelic` = '%d', `Planelic` = '%d', `LKWlic` = '%d', `Helilic` = '%d', `Health` = '%f', `Armour` = '%f', `Ban` = '%d' WHERE `Name` = '%s' ",PlayerName(playerid),PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pAdmin],PlayerInfo[playerid][pDonate],
PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pBank],PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ],PlayerInfo[playerid][pVW],PlayerInfo[playerid][pInt],PlayerInfo[playerid][pFraction],PlayerInfo[playerid][pCarlic],PlayerInfo[playerid][pBikelic],PlayerInfo[playerid][pPlanelic],PlayerInfo[playerid][pLKWlic],PlayerInfo[playerid][pHelilic],PlayerInfo[playerid][pHealth],PlayerInfo[playerid][pArmour],PlayerInfo[playerid][pBan],PlayerInfo[playerid][pName]);
mysql_function_query(m_connect,Query,true,"","");
return 1;
}
stock CreateTables()
{
new sql[800];
mysql_format(m_connect,sql,"CREATE TABLE IF NOT EXISTS `accounts`(`Name` varchar(16) NOT NULL,`Password` varchar(129) NOT NULL,`Age` int(3) NOT NULL,`Country` varchar(20) NOT NULL,`Level` int(10) NOT NULL,`Admin` int(10) NOT NULL,`Donate` int(2) NOT NULL,`Gender` varchar(10) NOT NULL,`Money` int(22) NOT NULL,`Bank` int(22) NOT NULL,`X` float NOT NULL,`Y` float NOT NULL,`Z` float NOT NULL");
mysql_format(m_connect,sql,"%s,`VW` int(6) NOT NULL,`Interior` int(3) NOT NULL,`Rank` int(2) NOT NULL,`Fraction` int(2) NOT NULL,`Carlic` int(1) NOT NULL,`Bikelic` int(1) NOT NULL,`Planelic` int(1) NOT NULL,`LKWlic` int(1) NOT NULL,`Helilic` int(1) NOT NULL,`Health` float NOT NULL,`Armour` float NOT NULL,`Ban` int(1) NOT NULL, `IP` int(85) NOT NULL)",sql);
mysql_function_query(m_connect,sql,false,"","");
return 1;
}
stock PlayerName(playerid)
{
new uName[MAX_PLAYER_NAME];
GetPlayerName(playerid,uName,MAX_PLAYER_NAME);
return uName;
}
public OnQueryError( errorid, error[], callback[], query[], connectionHandle ){
printf("EID: %d | Error: %s | callback: %s | Query: %s", errorid, error, callback, query);
return 1;
} -
Schwachsinn. Ein Server kann nicht abstürzen, weil der Code falsch eingerückt wurde...Und was soll an dem Code falsch sein?
Er speichert die Spielerdaten ab (SavePlayerData), falls er eingeloggt ist.Tigerchen Zeig uns mal einen "SavePlayerData"-Stock / -Public
Was geht mit dir ?
Nein ein Server kann nicht abschmieren, weil ein Code falsch eingerückt ist, dass weis ich selbst.
Ich meinte damit, dass es eine Sinnlos for-Schleife ist die alle Spieler durch geht. "Er speichert die Spielerdaten ab (SavePlayerData), falls er eingeloggt ist." Wo is da SavePlayerData?
Die Daten werden bei OnPlayerDisconnect(){ } abgespeichert mit PVars
Ich sehe als letztes eine unnötige for-Schleife die auch ein Problem darstellt, ich wette beim compilen sind es +1 Warning
MfG
Geronimo//EDIT:
Falsch gelesen, bitte einmal den Stock SavePlayerData(); oder die Funktion jenachdem
-
Wetten wir um 100€ ???
-
Wetten wir um 100€ ???
Was willst du da Wetten :O?
Und bitte kein PN mit sinnnlosen Zahlen
MfG
Geronimo -
Die PM bezog sich auf Teamviewer, das du dich selbst davon überzeugen kannst, und bitte mach deine Augen auf, der Stock steht da dick und FETT !
Könnte sich mal Jemand melden der auch AHNUNG davon hat und nicht blos irgendwie versucht mir da was rumzufummeln an sachen die nix mit dem zu tun haben ?
-
Die PM bezog sich auf Teamviewer, das du dich selbst davon überzeugen kannst, und bitte mach deine Augen auf, der Stock steht da dick und FETT !
Könnte sich mal Jemand melden der auch AHNUNG davon hat und nicht blos irgendwie versucht mir da was rumzufummeln an sachen die nix mit dem zu tun haben ?
Ich habe genug Ahnung davon, ich wollte gerade was schreiben *Teamviewer* dissconected ...
Okay, aber egal.
Ich bin erstmal feinraus
MfG
Geronimo -
Ja, dein kommentar war ja nur am Ende:
Ja hätte ja sein können
Sowas nennt man also Ahnung, und wenn ich dir hier im Thread 5x meinen Stock schreibe und du 5x sagst poste mal deinen Stock, dann nennst du das Ahnung und aufmerksam Lesen ?
Welcome on my Global Igno List, Leiute die so tun als könnten Sie etwas und können im Prinzip NICHTS mag ich nicht.
Oder wie sagtest du ? Meine family ist ITS
-
breadfish.de
Hat das Thema geschlossen.