Beiträge von VitoHusky

    Hallo Community und einen fröhllichen guten Morgen ;)


    Also ich habe ein Problem bei meinem anti Healhack System
    Es ist momentan so das eine Variable gespeichert wird wenn der server ihm die Health setzt.
    Sobald es dadrüber ist -> Heallhack Verdacht


    Nur ist mein Problem jetzt das GTA noch eigene Getränkeautomaten hat...
    Diese kann ich ja nicht steuern und somit werden diese auch als Healhack erkannt


    Evtl. kennt ja jemand eine Lösung


    Gruß
    Dark.Shadow

    Hallo Community


    ich habe momentan Probleme mit meinem Server
    Ab und zu stürzt der Server ab
    Nach einer unwilkürlichen Länge an Serverlaufzeit


    hier die Log (mit crashdetect.so)


    Account_Login Funktion
    stock Account_Login(playerid, password[])
    {
    new Query[128];
    mysql_real_escape_string(SpielerName(playerid), SpielerName(playerid));
    format(Query, sizeof(Query), "SELECT * FROM accounts WHERE Name = '%s' AND Passwort = sha1('%s')", SpielerName(playerid), password);
    mysql_query(Query);
    mysql_store_result();

    if ( mysql_num_rows() != 0 )
    {
    gPlayerLogged[playerid] = 1;
    pInfo[playerid][pCash] = 0;
    new string[128], tmpstr[128];
    Account_Load(playerid);
    ResetPlayerMoney(playerid);

    SpawnPlayer(playerid);


    GivePlayerMoney(playerid,pInfo[playerid][pCash]);
    SetPlayerSkin(playerid, pInfo[playerid][pModel]);
    SetPlayerColor(playerid,0xFFFFFF00);
    SetPlayerFightingStyle(playerid, pInfo[playerid][pFightStyle]);


    format(string, sizeof(string), "Erfolgreich eingeloggt, Willkommen %s",SpielerName(playerid));
    SendClientMessage(playerid, COLOR_GREEN,string);
    printf("%s hat sich eingeloggt.",SpielerName(playerid));
    if(pInfo[playerid][pDonateRank] == 1)
    {
    SendClientMessage(playerid, COLOR_GREEN,"Du bist Premium Nutzer.");
    }
    if(pInfo[playerid][pDonateRank] == 2)
    {
    if(pInfo[playerid][pDonateRankTime] < Get_Time())
    {
    SendClientMessage(playerid, COLOR_RED, "Dein Donator Rang ist abgelaufen!");
    pInfo[playerid][pDonateRank] = 0;
    if(pInfo[playerid][pfAcc] == 1) WBB_RemoveUserFromGroup(SpielerName(playerid),10);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREEN,"Du bist ein Donator. Danke das du den Server unterstützt!");
    }
    }
    if (pInfo[playerid][pAdmin] > 0)
    {
    SendClientMessage(playerid, COLOR_WHITE,sprintf("Du hast dich als "CH_ORANGE"%s"CH_WHITE" eingeloggt!",GetARankName(pInfo[playerid][pAdmin])));
    }
    format(string, sizeof(string), "~w~Willkommen ~n~~y~ %s", SpielerName(playerid));
    GameTextForPlayer(playerid, string, 5000, 1);

    KHSperre[playerid] = 1;
    SetTimerEx("KHSP",60000,0,"i",playerid);

    /*if ( pInfo[playerid][pQuest] > 0 && pInfo[playerid][pQuest] <= LastQuest)
    {
    SendQuestMsg(playerid, "Du hast noch Quests offen! Nutze /quest");
    }*/

    mysql_SetInt("accounts", "Online",1, "Name", SpielerName(playerid));


    HideLoginTextdraws(playerid);

    format(tmpstr,sizeof tmpstr, "%s hat sich gerade eingeloggt", SpielerName(playerid));
    AccountLog(tmpstr);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Das eingegebene Passwort war falsch!");
    ShowPlayerDialog(playerid, DIALOG_Login, DIALOG_STYLE_PASSWORD, "Login!", "Willkommen zurück auf True Vision Roleplay.\n\nDu hast ein falsches Passwort eingegeben. Wenn dies nicht dein Account\nsein sollte, wähle bitte einen anderen Namen. Ansonsten versuche es erneut\n\nViel Spass weiterhin auf True Vision Roleplay wünscht dir das ganze Team!", "Login","Abbruch");
    }
    return 1;
    }


    Es ist ein Linux Server Debian 64 Bit
    Script ist ein Godfather zu 80% editiert
    Läuft auf mysql


    das letzte macht mich stutzig.. nur habe ich bei Google dazu nichts gefunden


    ich hoffe jemand kennt den Fehler oder kann mir helfen...


    Gruß

    Richtig Virtual Box runter


    Dann kannst du dir das Windows XP Image runterladen dort installieren
    und dann (soweit ich weiß) kannst du den so sichern das wenn die 30 Tage vorbei sind, kannst du den wiederherstellen :)
    Ansonsten illegal cracken oder eben (JA DAS MACHEN MENSCHEN) original kaufen :)


    Gruß

    Das Problem ist, das es etwa 100 Sachen sind die geladen werden müssen
    (Quest System und so ein Quatsch)


    Deswegen habe ich es schon mit Absicht nicht mit sscanf auslesen lassen
    jedes mal einzelnt selecten und dafür jedes mal einen neuen query starten?
    Das ist wohl ressourcen fressender als nur einen zu machen und den dann auslesen zu haben
    (Bestes Beispiel die Mysql Funktionen von maddin)



    //edit
    Fehler nach langer zeit gefunden
    ein wert war in der DB immer "NULL"
    Demnach konnte er das irgendwie nicht laden
    dieser wert wurde nich richtig gespeichert. Ist mir grade aufgefallen als ich das
    Speichern des Accounts neu geschrieben habe


    Danke euch allen funktioniert nun :>

    Nein so war es vorher (siehe oberen Post)
    Das ist nur eine Funktion die von einer Funktion aufgerufen wird
    Die neu aufgerufene Funktion lässt also die alte einfach abbrechen
    Da hat das return nichts zu sagen


    Woran kann es denn sonst noch liegen? :/


    //edit
    Diese While Schleife ist der Grund
    while(mysql_fetch_row_format(query,"|"))
    {
    Ich habe die entfernt also das garnichts geladen wird und schon funktioniert es
    kann es daran liegen das ich nicht alle Felder auslesen lasse?!
    Oder warum?


    Ohne diese While unter LoadPlayer geht LoginPlayer auch weiter :/

    Habe aus LoginPlayer nun LoadPlayer gemacht


    das hatte ich vorher auch nur wie gesagt 4 Stunden lang viel rumprobiert und umgestellt und bla bla ;D
    Ähm naja


    Habe da am ende noch ein return rein gemacht. Wie ich mir dachte war es sinnlos und es hat nichts gebracht
    Demnach besteht das Problem mit demfolgenden Code immernoch


    Loginplayer nun

    pInfo[playerid][pCash] = 0;
    new string[128], tmpstr[128];
    SetCameraBehindPlayer(playerid);
    print("Test1");
    LoadPlayer(playerid);
    print("Test2");
    ResetPlayerMoney(playerid);


    GivePlayerMoney(playerid,pInfo[playerid][pCash]);
    SetPlayerSkin(playerid, pInfo[playerid][pModel]);

    Test 1 kommt... Test 2 nicht :x


    Am ende der Funktion loadplayer sieht es so aus

    }
    print("Ende Load");
    return 1;
    }

    Ende Load wird auch ausgegeben

    Hallo Community


    Ich habe nun seit 4 Stunden ein Problem
    undzwar gibt es die Funktion "LoginPlayer"
    Dort wird derSpieler eingeloggt (etwas logisch denke ich xd)
    Aufjeden Fall wird in der Funktion LoginPlayer die Funktion LoadPlayer aufgerufen
    Sobald die Funktion aufgerufen wird, wird loginplayer abgebrochen.


    Die Funktion Loadplayer geht bis ganz unten durch
    bis zur letzten klammer


    Hier der Code dazu:


    LoginPlayer (der ausschlaggebende Code)
    tock LoginPlayer(playerid)
    {
    pInfo[playerid][pCash] = 0;
    new string[128], tmpstr[128];
    SetCameraBehindPlayer(playerid);
    print("TÄÄÄÄÄST1"); <- kommt noch
    LoginPlayer(playerid);
    print("TÄÄÄÄÄST2");<- kommt schon nichtmehr
    ResetPlayerMoney(playerid);


    GivePlayerMoney(playerid,pInfo[playerid][pCash]);
    SetPlayerSkin(playerid, pInfo[playerid][pModel]);
    SetPlayerColor(playerid,0xFFFFFF00);
    SetPlayerFightingStyle(playerid, pInfo[playerid][pFightStyle]);


    Loadplayer (der Aufbau rest ist nur Wiederholung)
    stock LoadPlayer(playerid)
    {
    if(gPlayerLogged[playerid] == 1)
    {
    new query[256], ss[64];
    new PlayerName[MAX_PLAYER_NAME];
    new tmpstr[MAX_PLAYER_NAME];
    GetPlayerName(playerid, PlayerName, sizeof PlayerName);

    format(query, sizeof(query), "SELECT * FROM accounts WHERE Name = '%s'", PlayerName);
    mysql_query(query);
    mysql_store_result();

    while(mysql_fetch_row_format(query,"|"))
    {
    mysql_fetch_field_row(ss, "Level"); pInfo[playerid][pLevel] = strval(ss);
    mysql_fetch_field_row(ss, "AdminLevel"); pInfo[playerid][pAdmin] = strval(ss);
    mysql_fetch_field_row(ss, "DonateRank"); pInfo[playerid][pDonateRank] = strval(ss);
    [...]
    mysql_fetch_field_row(ss, "FrakSperre"); pInfo[playerid][pFrakSperre] = strval(ss);
    mysql_fetch_field_row(ss, "FrakSperreSince"); pInfo[playerid][pFrakSperreSince] = strval(ss);
    }
    SetPVarInt(playerid, "DrugsWith", pInfo[playerid][pDrugs]);
    if(WantedLevel[playerid] > 0)
    {
    pInfo[playerid][pWantedVerlustZeit] = 20*60;
    }
    mysql_free_result();
    LoadPlayer_Car(playerid,0);
    print("Test Load Ende1"); <- wird gezeigt
    }
    print("Test Load Ende2"); <- wird auch gezeigt
    }


    Ich hoffe jemand kann mir sagen woran es liegt :<
    Außer strval wird da nichts ausgelesen
    nur 2 Strings noch zusätzlich....

    Joa hab ein paar Gefudnen
    So das mein kamerad einfach mal wie bescheuert ohne Ton gegen die Wand schießt
    oder in der Luft läuft ;D


    Ansonsten super Spiel, außerdem gibt es das ja kostenlos
    und einem geschenkten Gaul schaut man nicht ins Maul :>

    Heyho


    Ich wollte einmal nachfragen ob es möglich ist die LSPD Schranke (die wohl jeder kennt xd) "flüssig"
    zu öffnen und zu schließen?


    Bei MoveDynamicObject wird nämlich nur die Drehung geändert aber nicht flüssig also es wird nicht gemoved sondern einfach FUPP
    geändert ....


    Grüße

    Sicher darf man fragen


    Ach echt Robbe?
    Huch das wusste ich nicht xD


    Nein ist mir schon klar ^^
    Denk weiter als du ein Klavier werfen kannst :D
    Ich scripte und leite ein Projekt sowas werde ich wohl noch wissen :P



    B2T: Viel Glück bei der Suche