Server Shutdown nach Player Disconnect o0

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
  • Vö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] spawn


    Und 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 )

    Einmal editiert, zuletzt von Tigerchen ()

  • 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;
    }

  • 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

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen


  • Was ist das denn? hab ich ja noch nie gesehen... .


    Okay wahrscheinlich liegt es daran das es so hässlich veruscht ist?! :D



    MfG
    Geronimo


    //P.S.: nimm mal bitte das Crashdetectplugin und gib uns dann mal deine Server_Log.txt

  • 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 :D


    MfG
    Geronimo


    //EDIT:


    Falsch gelesen, bitte einmal den Stock SavePlayerData(); oder die Funktion jenachdem :D

  • 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 ?

    Einmal editiert, zuletzt von Tigerchen ()

  • 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

    Einmal editiert, zuletzt von Tigerchen ()