Beiträge von IPrototypeI


    Rly?! Das hättest du mir auch früher sagen können, dass diese Funktion existiert :wacko:



    Is nun drinnen :P


    Was emit angeht hier das würde funktionieren


    new idx = funcidx("OnPlayerWeaponShot"),pointer;
    //new playerid = 10, weaponid = 20, hittype = 30, hitid = 20, Float:fX = 123.1, Float:fY = 123.1, Float:fZ = 173.1;
    #emit LCTRL 0x1
    #emit NEG
    #emit ADD.C 0x20
    #emit STOR.S.pri pointer
    #emit LREF.S.alt pointer
    #emit LCTRL 0x1
    #emit NEG
    #emit ADD
    #emit LOAD.S.alt idx
    #emit SHL.C.alt 0x3
    #emit ADD
    #emit STOR.S.pri pointer
    #emit LREF.S.pri pointer
    #emit STOR.S.pri pointer
    #emit PUSH.S fZ
    #emit PUSH.S fY
    #emit PUSH.S fX
    #emit PUSH.S hitid
    #emit PUSH.S hittype
    #emit PUSH.S weaponid
    #emit PUSH.S playerid
    #emit PUSH.C 0x8
    #emit LCTRL 0x6
    #emit ADD.C 0x1C
    #emit PUSH.pri
    #emit LOAD.S.pri pointer
    #emit SCTRL 0x6
    #emit STACK 0x10

    Zum einen nehme nicht so riesen Strings 128 Zeichen reichen da locker


    if (strcmp("/briefe", cmdtext, true, 10) == 0)
    {
    new query[128],bname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, bname, MAX_PLAYER_NAME);
    format(query,128,"SELECT * FROM letters WHERE Username='%s'", bname);
    mysql_function_query(dbhandle, query, true, "OnLetters", "i", playerid);
    return 1;
    }



    Das return in der Schleife bricht automatisch die Funktion ab , daher mach das ganze anders oder nutz break, ebenfalls kannst du nur 144 Zeichen anzeigen lassen bei SendClientMessage und keine 1200. Zum überprüfen ob der String leer ist reicht auch die Abfrage nach dem ersten index des Strings ob dieser nicht 1 ist.
    Falls


    if(!Brief[playerid][i][lbBetreff][0])


    Denoch habe ich das ganze mal entfernt, so wird der Inhalt lediglich ersetzt. Ich würde dein Code dennoch mal überdenken, da es nicht wirklich effektiv ist abhängig von der Spielerid immer einen freien Slot zu finden, obwohl der Eintrag bereits im Array enthalten ist.


    public OnLetters(playerid)
    {
    new num_rows,num_fields;
    cache_get_data(num_rows, num_fields, dbhandle);
    new strings[144];
    if(num_rows == 0)return SendClientMessage(playerid, 0xFFFFFFFF, "Du hast keine Briefe!");
    for(new i=0; i<num_rows; i++)
    {
    cache_get_field_content(i, "Betreff", Brief[playerid][i][lbBetreff], dbhandle, 64);
    cache_get_field_content(i, "Nachricht", Brief[playerid][i][lbNachricht], dbhandle, 128);
    format(strings,144, "Betreff: %s | Nachricht: %s", Brief[playerid][i][lbBetreff], Brief[playerid][i][lbNachricht]);
    SendClientMessage(playerid, 0xFFFFFFFF, strings);
    }
    return 1;
    }

    Unter "Grafik" und dann ganz Oben steht DirectX11 und dort dies einfach umstellen.


    Deine Idee hat es wirklich gebracht, ich konnte davor GTA 5 nur mit der Auflösung 800x600 spielen mit den niedrigsten Einstellungen und es kam sogar dabei zu FPS drops,
    Seitdem ich das umgestellt habe ich kann ich mit der Auflösung 1440x900 spielen und die Grafikeinstellungen auf sehr hoch stellen.


    Good job :thumbup:


    KingPommes


    Normal solltest du die Lösungen oder Möglichkeiten in deinen ersten Thread packen, als übersicht.

    Downloade dir doch WBB3 runter und nutz es über dein locales Netwerk, welches du via XAMPP oder WAMP erstellen kannst.
    Danach lädst du das Design hoch , änderst die Grafiken und exportierst es wieder.

    Prepared Statements (vorbereitete Statamente) haben keinen Zusammenhang mit dem Escapen.
    Außerdem ist MySQL veraltet und wird von PHP bald nicht mehr unterstützt, dann kann das Ganze sowieso
    in den Müll geschmissen werden.


    In Bezug zu PDO würde ich das nicht wirklich sagen er möchte die Funktion PDO::prepare ansprechen, welche dazu genutzt wird um die Querys sicher zu machen gegen SQL injections.
    http://php.net/manual/de/pdo.prepare.php


    Diese funktion ersetz quasi die für mysql_real_escape gedachte Funktion PDO::quote, welche spezielle Zeichen escaped.
    http://php.net/manual/de/pdo.quote.php

    mach doch eine grobe Berechnung , entweder ziehst du direkt die 250 vom Leben bei der Anzeige ab, da gibt es genug Möglichkeiten.


    Falls du dich natürlich frägst wie sowas geht da wird dir das Stichwort Mathematik helfen + , - , / , *