Beiträge von IPrototypeI

    Da gibts so viele wege das ganz einfach umzusetzen das sind einfach zwei striche die jeweils 1 pixel groß sind nur ist die der unterestrich heller und der obere dunkler.
    Man kann das auch mit einem verlauf machen .


    Der Hauptpunkt ist das du ein dunkleres blau nimmst als der background ist und ein helleres.



    Hier sind die Farben
    #0483b7
    und
    #01151e



    Da reicht auch ein ternärer operator


    Code
    echo (($Geschlecht)? "Männlich":"Weiblich");


    Falls du dich für die Funktion entscheidest dort musst du noch ein break; setzen da sonst die AUsführung beim nächsten case fortgeführt wird.


    Daher


    Code
    case 0:{
        $string="Keine Angabe";
        break;
    }

    Hatte es ja vorher mit sscanf, allerdings war der float ebenfalls 0.0000


    Das lag an deiner abfolge der specifer so sollte es gehen falls nix ausgegeben wird könnte das noch zusätzlich daran liegen das du die funktion sscanf in deinem skript enthalten hast.




    stock LoadTankstellen()
    {
    new idx,result[128],string[64];
    mysql_query("SELECT * FROM tankstellen;");
    mysql_store_result();
    while(mysql_fetch_row_format(result, "|")){
    sscanf(result, "p<|>e<i{i}s[24]ffffffiiii>",Tanke[i]);
    CreatePickup(1274,1,Tanke[idx][iconx],Tanke[idx][icony],Tanke[idx][iconz],0);
    if(!Tanke[idx][owned])format(string,64,"Tanke %i\nKaufpreis %i", Tanke[idx][id], Tanke[idx][buypreis]);
    else format(string,64,"Tanke %i\nBesitzer %s\nLiterpreis %i\n %i /1000l",Tanke[idx][id],Tanke[idx][owner],Tanke[idx][literpreis],Tanke[idx][vorrat]);
    Create3DTextLabel(string,0xFFFFFFFF,Tanke[idx][iconx],Tanke[idx][icony],Tanke[idx][iconz],30,0,0);
    ++idx;
    }
    printf(" >> %i Tankstellen geladen!", idx);
    return mysql_free_result();
    }

    Stellst du die Scale auf "0" dann wird das Objekt ganz klein, fügt er dass in SAMP rein wird es automatisch unsichtbar aber man kann darauf laufen. Ich mappe nicht umsonst DM Maps für SAMP :=)


    Das wäre mir neu das sowas möglich wäre bei CreateObject gibt es dafür kein parameter , da gehe ich eher davon aus das dies an deinem objekt liegt, welches du verwendest das es auf der einen seite unsichtbar ist. Sowas kennt man ja von dem einen glas oder du meinst mit unsichtbar auch noch das es keine kollisionen hat das würde eventuell daran liegen das dieses Objekt eventuell unter der map ist oder an einem anderen ort.



    Dein Problem besteht darin jetzt mal bezogen auch auf sscanf das deine splitabfolge nicht richtig ist
    2|0|Niemand|1961.75|1343.11|15.3746|0|0|0|25000|0|0|0


    nur ist das etwas blöd dies richtig zu stellen da ich leider den aufbau dieser tabelle nicht kenne ebenso wie das enum welches du als index nutzt für das array Tanke.
    wenn spalten die selbe reihenfolge haben wie deine abfolge im enum wäre das nicht schlecht dann kannst du das problem mit sscanf ganz einfach beseitigen und das ganze auch nochmal vereinfacht umsetzen.


    Warum Timer?


    OnPlayerUpdate ist da viel effektiver.


    Schemißt noch eine ON_FOOT Abfrage mit dazwischen und bist auf der sicheren Seite :thumbup:


    Noch Effektiver wäre das Streamerplugin worüber eine Zone erstellt werden kann.



    native CreateDynamicCircle(Float:x, Float:y, Float:size, worldid = -1, interiorid = -1, playerid = -1);
    native CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);


    Dies kannst du mit SetObjectMaterialText oder SetObjectMaterial machen dazu einfach bei dem Farbwert ARGB welcher das format den A Wert auf 0 stellen


    Beispiel 0x00000000


    SetDynamicObjectMaterial(CreateDynamicObject(19377, 902.26019, -1635.32214, 12.47100, 0.00000, 90.00000, 0.00000), 0, 1649, "lanlacma_lan2", "sl_gallerywall1",0x00FFFFFF);

    Aber ich kann in einem Befehl z.B. statt immer ; zu nehmen auch , nehmen?


    können schon, jedoch wirst du kein Unterschied in der Performance merken. Ich mach das auch ab und zu bei multiplen returns, jedoch laut der Aussage von Y_Less kann man dadurch
    seinen ganzen Code kaputt machen sollte man das ganze durchgängig verwenden.



    return SendClientMessage(playerid,-1,"Bla"),SendClientMessage(playerid,-1,"Bla");




    Zitat

    Richtiges Nutzen von Variablen (Wenn sie nur 0 und 1 speichert nimm nen Boolean anstatt nen Integer)


    Firerfan


    Das würde ich nicht behaupten eine variabel mit dem tag bool deklariert kann braucht ebenso 4 Bytes wie ein integer.
    Da kannst du entweder auf char-arrays umschwenken oder Bit-Arrays nutzen,


    hier sind nur 32 Bitflags möglich.

    enum Bit:(<<= 1){
    A=1,
    B,
    C,
    };
    new Bit:PlayerValue[MAX_PLAYERS];


    PlayerValue[playerid] |= A;



    Zitat

    Auch solltest Du deine Schleifen optimieren. Warum MaxPlayers benutzen wenn der Server eh nur 50 Slots hat?


    Schreib an dieser stelle eher in deinem Post das man MAX_PLAYERS der slotzahl anpassen sollte.

    #undef MAX_PLAYERS
    #define MAX_PLAYERS 50


    //edit Zwei

    Ist es irgendwie möglich bei GetPlayerPos nur das Z zu getten?
    Ich dachte erst, ich könnte es so machen, jedoch bekomme ich dann:
    "error 034: argument does not have a default value (argument 2)"


    new Float:height;
    GetPlayerPos(playerid,_,_,height);



    So funktioniert das nicht ganz ^^ da wird nix zurück gegeben, was du jedoch machen kannst wäre


    GetPlayerPos(playerid,height,height,height);


    aber mit der möglichkeit kannst du nicht auf das 2 oder 3 Argument ausweichen oder du erstellst dir eine globale "fake variabel"




    Um hier noch etwas zu ergänzen.


    Der unterschied zwischen den beiden Operatoren ':' und ',' ist das bei dem Semikolon der Opcode break ausgeführt wird und bei dem Komma nicht das bedeutet das der Code schneller ausgeführt werden kann, wie BlackAce das schon angemerkt hatte, jedoch würde ich es nicht empfehlen das ganze durchgezogen im Skript zu verwenden.
    Die zwei Operatoren



    //Edit


    Das ganze kann man sich auch anschauen in dem man sein skript mit dem Kompilerparameter -a kompilierst

    format(string,sizeof(string),"%02d/%02d/%d",Day,Month,Year);
    So macht das mehr Sinn.


    Wenn dein Problem noch immer besteht: Hast du in der Datenbank die Spalte "Datum" auch auf VARCHAR mit der benötigten Länge gesetzt?



    Meiner Meinung nach ist das umständlich, da MySQL die Funktion NOW() bietet um das Datum auszugeben.
    Auch das auslesen ist kein problem obwohl es in einem anderen Format ist da gibt es die Funktion DATE_FORMAT.

    Zum einen würde ich OnPlayerStateChange verwenden da OnPlayerEnterVehicle aufgerufen wird wenn du f drückst, beziehungsweise g und nicht einmal eingestiegen bist.

    Team[playerid] != 1||2||3)


    Das funktioniert nicht als entweder so
    && Team[playerid] != 1 && Team[playerid] != 2 && Team[playerid] != 3


    oder
    &&(1 <= Team[playerid] <= 3)



    Ebenso ist dies nicht möglich


    SendTeamMessage(2&&3,COLOR_RED,"An alle Einheiten des LSPD:");


    dies müsste so aussehen


    SendTeamMessage(2,COLOR_RED,"An alle Einheiten des LSPD:");
    SendTeamMessage(3,COLOR_RED,"An alle Einheiten des LSPD:");

    Ich möchte das Logo ja ändern bevor ich das im Forum hochlade das Design, wie genau mache ich das?
    Da steht ja immer Winrar kann nur in .rar oder .zip laden aber nicht in .tgz oder wie das heißt


    Da ich so nett bin werde hier mal das ganze visuell unterstützen.


    Unterorder:
    wcf -> images ->FDRP oder FDRP_b
    oder du fügst das Logo mit einem anderen Namen hinzu und änderst die Bezeichnung des Bildes im acp bei dem Design mit dem Stileditor
    Ebenso solltest du die Fonts noch diesem ordner hinzufügen.








    Ohja, da hat er "ausnahmsweise" mal recht! :D
    Der Bau ist bisscher eins der besten die ich je gesehen habe,
    jedoch sind die Texturen ein bisschen fehl am platze.


    Mit freundlichen Grüßen, NewborN



    Es ist halt bei manchen gebäuden entwas schwer gewisse texturen für außen zu finden, aber nun gut weiß ist ja auch nicht schlimm ein großteil der Gebäude in Deutschland sind außen auch weiß.


    Zum Thema Bau, wenn du willst kannst ja auch den Baustil für eine Map von dir übernehmen. Ich denke das sich der Hauptgebäudekomplex auch sehr gut für ein Wohnviertel eignet.


    Mann muss jedoch zugeben das es bei dieser weißen Textur kein geflacker gibt und das erspart einem auch etwas arbeit :D.


    Bill_Young


    Hm eigentlich wollte ich diesen so lassen und noch ein objekt in der mitte plazieren und die Schränke begrenzen, jedoch an welche zusätzlichen Elemente hast du noch gedacht ?


    @Rest
    Danke für das Positive Feedback