Beiträge von IPrototypeI

    Bisher gefällt mir alles jedoch ist meinermeinung nach das reasondev logo von river delta abgekupfert


    Also man kann wohl kaum behaupten das diese Idee von Kones stammt.


    Wenn man google nutzt findet man genug Ergebnisse, ich sag es mal so es ist schwer Ideen zu entwickeln wo es noch nie gab, jedoch könnte man damit nun argumentieren das dies einen richtigen Designer ausmacht.




    http://rodycliff.deviantart.com/gallery/4920049




    http://www.rdcomp.com.au/index.htm



    //edit



    Zwei weiter Werke:



    WBB Layout(Der Background wird sich automatisch der Auflösung anpassen) und Ranggrafiken:




    http://picapple.de/images/2014/02/14/design_button.png

    Danke für eure positive Rückmeldung.



    Austrianer Ich finde das Mert da schon Recht hat, da es meist auf die richtige Farbkombinationen ankommt ob die Grafik einem im Gedächnis bleibt oder nicht und durch unterschiedliche Farben kann man mit dem
    Kontrast der Grafiken etwas spielen, wie stark etwas herrausstechen soll. Ich persönlich lege momentan da eher wert drauf das alles in sich stimmt und die Farben auch harmonieren.


    Danke für die Kritik jedoch wäre es besser explizit zu nennen in, welcher Kategorie ich keine eigenen Farbkombinationen und Ideen hätte. Da der Großteil aus meinem eigenen Gedankengang entsprungen ist und ich mich nicht bei allem inspirieren lassen habe, mein lieber Ibrahim.



    UPDATE:





    //edit



    Ja habe dies auch grade gesehen, nur doof das es dann nicht auf der Karte ist, naja Kalcor halt...


    Dazu kannst du ja SetPlayerMapIcon verwenden und zusätzlich hier das argument style auf MAPICON_LOCAL ändern.


    //edit


    somit wird der checkpoint nicht zusätzlich erstellt. Das Streamerplugin hat auch die möglichkeit die MapIcons zu erstellen weil sonst bist du auf 100 MapIcons begrenzt

    IPrototypeI:
    Ich benutze aber mysql_function_query..


    Wo muss ich das denn dann einfügen?


    Welche version des Plugins nutzt du ? Sollte es die r7 noch sein, so musst du bei dieser noch den cache aktivieren , ist es eine neuere Version so empfehle ich die mysql_tquery zu verwenden,
    da mysql_function_query hier nicht multithreaded läuft.



    mysql_function_query(handler, "SELECT * FROM `Flaschen`;" true, ,"@Load_Bottles", "");

    Hier sind viele elemente deines Codes falsch ich hoffe mal du führst auch ein query aus.



    mysql_tquery(handle,"SELECT * FROM `Flaschen`;","@Load_Bottles","");


    forward @Load_Bottles();
    @Load_Bottles(){
    new i, result[2];
    cache_get_data(result[0],result[1]);
    for(; i != result[0]; ++i){
    Flasche[i][Type] = cache_get_field_content_int(i,"Type",handle);
    Flasche[i][PosX] = cache_get_field_content_float(i,"PosX",handle);
    Flasche[i][PosY] = cache_get_field_content_float(i,"PosY",handle);
    Flasche[i][PosZ] = cache_get_field_content_float(i,"PosZ",handle);
    Flasche[i][Welt] = cache_get_field_content_int(i,"Welt",handle);
    flaschenf = CreatePickup(1551,Flasche[i][Type],Flasche[i][PosX],Flasche[i][PosY],Flasche[i][PosZ],Flasche[i][Welt]);

    }
    return 1;
    }



    Falls du mit den Positionen und dem Typ nicht viel machst kannst du das auch vereinfachen


    CreatePickup(1551,cache_get_field_content_int(i,"Type",handle),cache_get_field_content_float(i,"PosX",handle),cache_get_field_content_float(i,"PosY",handle),cache_get_field_content_float(i,"PosZ",handle),cache_get_field_content_int(i,"Welt",handle));



    //edit


    Dennoch wird das mit dem aufsammeln nicht wirklich was da du eher die id den Pickups speichern solltest dann kannst du das bei dem Callback OnPlayerPickUpPickup abfragen.

    Bezüglich der Include , wieso strengt ihr eure Spatzenhirne nicht mal an und denk ein bissle nach oder ließt paar posts da wurde schon beschrieben wie das geht.



    => Mapstealer gibt die Objekte doppelt und dreifach aus ( Kerngedanke)



    Spoiler anzeigen
    Warum erstellt man nicht paar Objekte ohne kollisionen um den Spieler und macht sie unsichtbar mit SetObjectMaterial mit einem Timer und löscht diese wieder

    Ein Fehler ist in dem Query nicht zu erkennen du kannst jedoch mal den Fehler ausgeben lassen
    entweder in der MYSQL Log
    mysql_log(LOG_DEBUG,LOG_TYPE_TEXT);


    oder in der Konsole

    public OnQueryError(errorid, error[], callback[], query[], connectionHandle) {
    printf("Errorid %d",errorid);
    print(error);
    print(callback);
    print(query);
    return 1;
    }


    //edit


    Lenox Ich hoffe dir ist bewusst für was der Platzhalter %e bei mysql_format genutzt wird. => zum escapen von strings.

    Ich zeig dir mal noch einen weiteren weg und zwar kannst du eine spalte erstellen mit der Eigenschaft timestamp.


    Dann kannst du beim setzen des Premiumaccounts direkt die 7 Tage dazu rechnen das geht so bei dem UPDATE befehl


    Beispiel

    SQL
    UPDATE ... SET `Premium_Ablaufdatum` = DATE_ADD(NOW(), INTERVAL 7 DAY) WHERE .... = ...;


    oder je nachdem kannst du das 7 auch durch einen Platzhalter ersetzen.



    Nun brauchst du nur noch beim einloggen abfragen ob der Premiumaccount ausgelaufen ist oder nicht :


    SQL
    SELECT ...,..., IF( `Premium_Ablaufdatum` > NOW(), 0, 1) AS Abgelaufen  WHERE ... = ...


    So prüfst du ab ob das Datum größer ist als das jetzige wenn ja hat Abgelaufen den wert 0 wenn nicht dann 1 somit kannst du Abgelaufen mit
    cache_get_field_content_int(0, "Abgelaufen ");
    auslesen

    Was lädst du auch alle bandaten aus und gehst danach über die spielerid ?


    das ist schwachsinn und es ist auch logisch da wenn fu mit den account mit der playerid 0 connectest jedes mal den selbe baninformationen bekommst.
    Daher lade doch die daten falls er gebannt sein sollte also einfach noch deiner funktion checkbanneduser hinzufügen.

    Du erstellst nicht zufällig 1000 Objekte via CreateObject ?
    Falls ja liegt darin dein Problem du kannst maximal 1000 Objekte erstellen für einen Spieler via CreatePlayerObject daher nutzen auch Streamer CreatePlayerObject und erstellen das objekt nur wenn der Spieler in der nähe ist, sollte er nicht in der nähe sein so wird es wieder zerstört . Nutzt du CreateObject wird dieses Object für jeden Spieler erstellt auch wenn
    er nicht in der nähe des Objektes ist der Nachteil es geht somit 1 Slot für die Objekte verloren von den normal 1000 freien Slots für den Spieler. Daher solltest du 1000 Objekte darüber erstellen können
    nicht mehr Objekte gestreamt werden da kein freier Slot zur Verfügung steht das System hinter dem Streamer funktioniert somit auch nicht. Da wie schon oben erwähnt CreatePlayerObject
    sich auf einen Spieler bezieht.

    Du könntest einen kleines Hochaus mappen oder ein Handyladen als kleine Anregung:


    Hochaus in solch eine richtung oder mit einer anderen fassade:



    und beim handyladen etwas in die Richtung:



    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.



    man könnte auch das ganze kombinieren und ein kleines Einkaufszentrum mappen

    Schau dir doch mal was mit dem string gemacht wird, welcher aus der datenbank ausgelesen wird.


    Der Grund(Reason) wird in den string BanReason gepackt daher kann man hier varchar oder char als datentyp benutzen der string hat eine länge von 128 Zeichen daher benutzt man dies auch als Länge in der Datenbank. Dies trifft ebenfalls auf "Hammer" auch zu.


    Bei der Zeit wird der string letztendlich umkonvertiert zu einem integer. Daher bietet es sich an den Datentyp integer zu nutzen (INT). Die länge dazu muss man nicht angeben da die größe
    bei integer automatisch 4 Bytes beträgt.