Beiträge von » † ѕαιтєк | тιмσ † «

    Durch Überbrückung oder einfach Verzögerung.


    Beispiel Verzögerung:
    Sende ihm die Nachricht - Freeze ihn - Unfreeze ihn -Setze die Bann-Variable (je nach dem was du da verwendest) auf 1 - Kicke ihn


    Beispiel Überbrückung:
    Ich habe in meinem Script 2 Bereiche - Login und SpielerLaden
    Er loggt sich mit dem gebannten Account ein. Bei "Login" wird überprüft, ob er gebannt ist. Trifft das zu, erhält er eine Nachricht.
    Er wird aber noch nicht gekickt. Als nächstes im Login-Teil werden die Daten wie Geld, Level, ... im anderen Bereich geladen.
    Dort frage ich wiederum ab, ob er gebannt ist - Trifft dies zu, wird er gekickt.
    Er hat aber die oben stehende Nachricht noch erhalten.


    Mit freundlichen Grüßen
    [GP]Saitek | Timo

    Vielleicht mal die betroffenen Zeilen posten, danke :)
    Und schau mal, wo die meisten Warnings herkommen. Die Fehler liegen nicht im Script,
    sondern in den Include-Dateien. Die kannst du aber mit dem Windows-Editor bearbeiten :)


    Mit freundlichen Grüßen
    [GP]Saitek | Timo

    Ich selbst habe bei mir mitbekommen, dass seit 0.3x keine Nachrichten
    mehr an Spieler geschickt werden, welche direkt danach gekickt werden.
    Ich hab es durch Überbrücken geschafft:


    Zwei Bereiche - Login und SpielerLaden
    Ist der Spieler gebannt, so wird ihm bei "Login" die Nachricht ausgegeben.
    Sobald beim Login die Funktion "SpielerLaden" ausgeführt wird,
    und die Variable des Banns auf 1 steht, soll er ihn kicken.
    Funktioniert vollkommen unabhängig voneinander und es entsteht auch keinerlei ein Konflikt
    mit 0.3x


    Mit freundlichen Grüßen
    [GP]Saitek | Timo

    Leben, Geld und Bank sind Integer!
    Du kannst keinen Integer in einer Floatvariable, und keine Floatwerte in eine Integer-Variable schreiben!
    Du versuchst quasi Integer mit einer Floatabfrage zu bestimmen.


    So weit ich weiß gibt es noch andere Auslesemöglichkeiten bei MySQL (also nicht nur den Float)
    Versuche da mal r_mysql_GetInt.
    Hoffe ich konnte helfen.


    Mit freundlichen Grüßen
    [GP]Saitek | Timo

    Die meisten, die schlecht bewerten, könnens selbst net besser oder wollen einfach nur stänkern (wie auch immer).
    Ich finde es, auch wenn es schon 100x oder mehr präsentiert wurde, schön.
    Ich finde es ebenso gut, dass man sich die Mapping-Erfahrung von anderen holt,
    und das versucht nachzumappen.


    Große Klasse.
    9/10


    Mit freundlichen Grüßen
    [GP]Saitek | Timo

    Dasselbe Problem habe ich auch.
    Scriptest du auch auf Version 0.3x ?
    Wenn ja -> Gekickte Spieler erhalten keine davorstehenden Nachrichten mehr!
    Du musst es irgendwie versuchen zu überbrücken!
    -------------------------------------------------------------------------------------------------------------------------------------
    Ich habe beispielsweise in meinem Script zwei Bereiche, der eine "Login" und der andere "SpielerLaden".
    Bei mir ist es so - ich habe keinen IP-Bann, sondern eine Variable.
    Steht die auf 1, wird der Spieler gekickt!
    Bei "Login" gebe ich die Nachricht aus und bei "SpielerLaden" kicke ich ihn wieder.
    Also quasi vollkommen unabhängig voneinander.
    Ich hoffe, ich konnte den Überbrückungsversuch so einigermaßen verständlich darstellen.


    Mit freundlichen Grüßen
    [GP]Saitek | Timo

    Ich steh hier total aufm Schlauch!
    Ich habe 3 [MAX_PLAYERS]-Variablen im Script gehabt.
    xau (X-Position zum Aufladen)
    yau (Y-Position zum Aufladen)
    zau (Z-Position zum Aufladen)


    also:



    new xau[MAX_PLAYERS];
    new yau[MAX_PLAYERS];
    new zau[MAX_PLAYERS];


    //(ich habs zu Testzwecken nur mit einer Koordinate gemacht)
    new Float:aufladepunkte[1][3] = {
    {1249.0630,-1257.2458,13.5621}
    };


    ocmd:arbeiten(playerid,params[])
    {
    new Randomaufladen = random(sizeof(aufladepunkte));
    Randomaufladen = SetPlayerCheckpoint(playerid,aufladepunkte[Randomaufladen][0],aufladepunkte[Randomaufladen][1],aufladepunkte[Randomaufladen][2], 15.0);
    xau[playerid] += aufladepunkte[Randomaufladen][0];
    yau[playerid] += aufladepunkte[Randomaufladen][1];
    zau[playerid] += aufladepunkte[Randomaufladen][2];
    return 1;
    }


    ocmd:blabla(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,15.0,xau[playerid],yau[playerid],zau[playerid]))
    {
    //Das soll passieren, wenn er dort ist
    }
    else
    {
    //Das soll passieren, wenn er nicht dort ist
    }
    }


    Genau so..? So funktioniert es bei mir nicht ;)
    Und warum? Richtig.. Weil ich keine Float-Werte in eine Integer-Variable schreiben kann.
    Und wie soll ich die jetzt so hinstellen, dass ich von überall außem Script drauf zugreife?
    Der OCMD-Befehl ist ja n abgeschlossener Bereich, wenn man so möchte.


    Mit freundlichen Grüßen
    [GP]Saitek | Timo

    Ich mach mich zwar wieder zur Nudel, wenn ich das frage, aber naja.. :)
    Mein Problem ist folgendes:
    Ich bin gerade an einem TruckerJob dran.
    Mit /arbeiten soll man einen Punkt zum Aufladen zugewiesen bekommen.
    Mit /aufladen soll man an diesem Punkt seine Ware aufnehmen. Es soll ein Checkpoint erscheinen (Ablieferpunkt),
    von welchem die Koordinaten schon bei /arbeiten "heimlich" ausgewählt wurden (also ein 2. Random).
    Mit /abladen soll man dann an dem Checkpoint (der mit den "heimlichen" Koordinaten :D) abliefern können.


    Ich weiß, dass das über Random geht. Dennoch bekomme ich es nicht hin!
    Die SuFu benutzt habe ich, aber auch nix nützliches gefunden.


    Das Hauptproblem:
    In einem OCMD-Befehl wird ein Random erzeugt. Wie bekomme ich diese von Zufall erzeugten Werte (Zufall aus Array) nun in einen anderen OCMD-Befehl?

    Ich habe versucht, den Float in eine [MAX_PLAYERS]-Variable zu speichern und im anderen Befehl wieder auszulesen. Dies hat aber nicht funktioniert!


    Ich bitte euch, falls ihr einen Vorschlag, eine Idee oder sogar eine Lösung habt, dies hier zu posten :thumbup:
    Ich komme hier nämlich nicht mehr mit.


    Mit freundlichen Grüßen
    [GP]Saitek | Timo