Beiträge von 4#Future

    Zitat

    von den was nicht geht

    Eine noch umständlicher Formulierung ging wohl nicht?


    Ohne Worte...



    __



    Zum Thema:


    Schick uns bitte mal die Funktionen, die das Laden Deiner
    Geschäfte und Häuser übernehmen und auch, die diese
    sichern.

    Problem einfach gelöst:


    ocmd:o(playerid,params[])
    {
    if(!noooc && PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid,COLOR_RED,"Der Globaler Chat ist deaktiviert!");
    new text[128];
    new string[128];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_RED,"Benutzung /o [text]!");
    format(string,sizeof(string),"[Globaler-Chat] %s: %s",Name,text);
    SendClientMessageToAll(COLOR_WHITE,string);
    return 1;
    }

    Entschuldigung!


    Ich war gerade im falschen Thema.


    Nein, Deine Funktion, die sekündlich ausgeführt wird,
    muss nicht mit einem Timer beendet werden.


    Füge Deine Sachen einfach in eine Funktion ein, die
    SOWIESO schon sekündlich ausgeführt wird.


    Das wäre das einfachste!

    Ich bezweifle, dass an diesen Gerüchten viel dran ist.


    Warum?


    Ich habe das iPhone 5 selbst gekauft und muss sagen,
    dass die Qualität wie immer, einwandfrei ist.


    Als Info:


    Die Rückseite des iPhones ist aus Aluminium und somit
    eigentlich abriebfest gegen den altäglichen Gebrauch.


    Das gratzfeste Glas auf der Vorderseite sowieso.
    Laut Tests einiger großer Firmen und Zeitungen, schneidet
    das iPhone Display sowieso immer am besten ab.


    Nicht nur die Auflösung, sondern auch die enorme Belastbarkeit.


    Auch gegenüber anderen Smartphones nur zu empfehlen.



    Aber damit löse ich mit Sicherheit wieder die riesige Diskussion
    der Apple-Produktliebhaber gegen billige Plakiate aus.
    :wacko:

    Ok, die Lösung ist denkbar einfach!


    ocmd:o(playerid,params[])
    {
    if(ooc == 0) // <-- nicht ooc sondern noooc return SendClientMessage(playerid,COLOR_RED,"Der Globaler Chat ist deaktiviert!");
    new text[128];
    new string[128];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_RED,"Benutzung /o [text]!");
    format(string,sizeof(string),"[Globaler-Chat] %s: %s",Name,text);
    SendClientMessageToAll(COLOR_WHITE,string);
    return 1;
    }
    Wenn die Admins den Chat deaktivieren, wird die Variable noooc
    aus false gesetzt und NICHT die Variable ooc.


    Also löst Du Dein Problem wie folgt und änderst die Kleinigkeit:


    ocmd:o(playerid,params[])
    {
    if(!noooc) return SendClientMessage(playerid,COLOR_RED,"Der Globaler Chat ist deaktiviert!");
    new text[128];
    new string[128];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_RED,"Benutzung /o [text]!");
    format(string,sizeof(string),"[Globaler-Chat] %s: %s",Name,text);
    SendClientMessageToAll(COLOR_WHITE,string);
    return 1;
    }

    Anstatt Dein Problem mit TextDrawColor zu lösen, würde ich es
    vor der Funktion TextDrawSetString() selbst lösen.


    if(vHealth >= 750) format(string, sizeof(string), "~g~%.0f", ((1000 - vHealth) / 10));
    else if(vHealth < 750 && vHealth >= 450) format(string, sizeof(string), "~y~%.0f", ((1000 - vHealth) / 10));
    else format(string, sizeof(string), "~r~%.0f", ((1000 - vHealth) / 10));


    TextDrawSetString(ZustandAnzeige, string);

    Wie wäre ein zusätzlicher Parameter Deiner Anweisung?


    Anstatt nur /carkey einzutippen, könntest Du folgendes verwenden:


    [BEFEHL] /carkey [Schlüssel-Nr (1-4)]


    Tippst Du dann bsp. /carkey 4 ein und der Spieler hat keinen
    Schlüssel für den vierten Slot, kommt eben eine Fehlernachricht.


    Hat er einen, benutzt er ihn dann zwangläufig. :thumbup:

    Nein kann ich leider nicht.
    Da ich selbst nicht genau weiß, was von Dein Script aus noch reingehört.


    Ich kann Dir soviel verraten, folgendes muss noch rein:


    - Tank vom Fahrzeug wieder 100%
    - Spieler wird entfreezed
    - Refueling[playerid] muss zurückgesetzt werden zu false
    - Geldbetrag muss dem Spieler abgezogen werden


    Das sind die wichtigsten Dinge die rein müssen.


    Natürlich solltest Du folgende Anweisungen beachten:


    -> nicht genug Geld = kein Tanken möglich
    -> ist Fahrzeug bereits voll = kein Tanken nötig
    -> Tankeinheitenumrechung in Geld nicht vergessen - bsp. 1L = 10$ usw.

    Hast Du auch die richtige Datei im Ordner includes von Pawno eingefügt?


    Bzw. hast Du auch die aktuellste Version verwendet?


    Da ich kein sscanf benutze, kann ich Dir nicht genau sagen, was nötig
    ist, aber auch ein include Hinweis in Deinem Gamemode ist von Nöten.

    Du legst eine Funktion an, mit dem Namen Fillup, die
    das Tanken überprüft und den Spieler wieder entfriert.


    Es muss folgender Inhalt vorkommen:


    public Fillup()
    {
    Refueling[playerid] = 1;
    TogglePlayerControllable(playerid, 1);

    ...
    }
    Den Rest solltest Du Dir ja nun denken können... :thumbup:

    Siehst Du und schon hast Du Dein Problem gefunden.


    Ich erkläre es Dir:


    - Du tankst
    - frierst den Spieler ein
    - lässt einen Timer ablaufen


    ... und dann ist Schluss.


    Den Timer Fillup musst Du auch erstellen, der Dich
    dann wieder entfriert und Deinen Tank auch gefüllt hat.
    ^^

    Ich verstehe nicht, warum Du es so kompliziert machen möchtest?


    Wenn die Anzeige sekündlich, minütig o.ä. aktualisiert wird,
    musst Du keine Funktion schreiben, die einen möglichen Crash
    berechnet.


    Leg eine sekündliche oder minütige Funktion fest, die Dir die
    Werte einfach aktualisieren. Das wäre das beste und einfachste.


    Von allem anderen rate ich Dir ab. :thumbdown:

    Dann solltest Du das Problem also folgendermaßen lösen:


    format(string, sizeof(string), "* Waffenanzahl: %d", fraktionskasse[amemento]);
    SendClientMessage(playerid, COLOR_GREY, string);


    format(string, sizeof(string), "* WaffenLevel %d", fraktionskasse[memento]);
    SendClientMessage(playerid, COLOR_GREY, string);
    Da ich recht hatte, bezüglich Deiner Variable, dass diese
    keine String war, denke ich mir so dass memento auch kein String sein wird.