[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Als Beispiel, ein Code von meinem alten Script.
    Zeile 16 sollte deine Frage klären.

    Einmal editiert, zuletzt von malE ()

  • Das weiß ich nicht, ich schätze nicht, da das ja auch nicht mehr als die vorhandenen Funktionen nutzen kann.
    Das einzige was du machen kannst ist, viele Textdraws mit entsprechenden Farben auf 1 Pixel Breite (oder Höhe, je nach dem) hintereinander zu setzen, mit entsprechendem Farbverlauf. Würde halt ne Menge an Textdraws benötigen.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Kurze Frage:
    Kann es mir irgendwelche Schwierigkeiten bereiten, wenn ich diese Meldung beim herunterfahren des Servers bekomme?:

    Code
    [19:16:59] [debug] Server received interrupt signal
    [19:16:59] [debug] Native backtrace:
    [19:16:59] [debug] #0 77778e4c in ?? () from C:\WINDOWS\SYSTEM32\ntdll.dll
    [19:16:59] [debug] #1 74b714bf in ?? () from C:\WINDOWS\SYSTEM32\KERNELBASE.dll
    [19:16:59] [debug] #2 0048d53c in ?? () from samp-server.exe
    [19:16:59] [debug] #3 0049b4a1 in ?? () from samp-server.exe
    [19:16:59] [debug] #4 0049b4b1 in ?? () from samp-server.exe

    Server wird in der Konsole per STRG+C heruntergefahren.
    Server hatte sich beim herunterfahren schon ab und zu mal aufgehangen.

  • Was kann der Grund sein warum ich mein Ackslimit überschreite? Habe es bereits auf 5000 gesetzt..


    C
    [warning] client exceeded 'ackslimit' 127.0.0.1:59277 (5029) Limit: 5000/sec
    [warning] client exceeded 'ackslimit' 127.0.0.1:59277 (5029) Limit: 5000/sec


    Mit freundlichen Grüßen
    JustMe.77 8)

  • @Jeffry


    Ich schau mal ob's mit 6000 klappt, habe befürchtet das es bei mehreren Spielern zu höheren Zahlen kommen kann, aber das wird sich mit der Zeit herausstellen.
    Habe noch eine kleine Frage:


    Habe bisher immer Slice's Timerfix Include benutzt, nur habe ich immer Warnungen in der server_log erhalten. Als ich Slice darauf angesprochen habe, hat er mir gesagt in seinem Thema sind
    2 andere, aktuellere Includes verlinkt, welche ich benutzen soll.


    Ich habe dann auch die Include ersetzt, und erhalte folgende Errors wenn ich mein Server starte.


    [hide]


    [debug] Run time error 19: "File or function is not found"
    [debug] KillPlayerTimers
    [debug] Run time error 19: "File or function is not found"
    [debug] KillPlayerTimers
    Script[gamemodes/main.amx]: Run time error 19: "File or function is not found"
    Number of vehicle models: 0
    [/hide]


    Habe diese Include benutzt https://github.com/udan11/samp-plugin-timerfix


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Ich habe dann auch die Include ersetzt, und erhalte folgende Errors wenn ich mein Server starte.

    Möglicherweise passt die Include nicht zum Plugin, oder wird das Plugin nicht geladen. Prüfe das mal.



    Wie lese ich einen Text aus der Tabelle aus mit der Version MySQL R39-3?

    Mit einem SELECT Query, und dann mit:
    http://wiki.sa-mp.com/wiki/MySQL/R33#cache_get_field_content

  • Gibt es eine Möglich , von einen Spieler die ID rauszubekommen?


    -> Also abfragen wenn der Spieler online ist , dass dann mit der angeben ID gekickt wird.


    Bsp.


    GetID.... -> ID Wurde herausgefunden.


    Spieler = ID;


    if(IsPlayerConnected(Spieler) == 1) return Kick(Spieler);

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Das kannst du mit dieser Funktion machen:
    stock ReturnPlayerID(l_PlayerName[]) //©Jeffry
    {
    new l_name[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
    {
    if(!strcmp(l_name,l_PlayerName, true)) return i;
    }
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
    {
    if(strfind(l_name,l_PlayerName,true)!=-1) return i;
    }
    }
    return INVALID_PLAYER_ID;
    }

  • Ah perfek, danke dir..


    Jetzt nur nächsten Fragen..


    Hat jemand eine Idee wie ich anfangen sollte?


    -> Ich möchte , nachdem der Spieler gebannt wurde, ein Timer starte der bis 2 Monate zählt.
    Wie kann ich das machen, dass er die Timerzeit speichert , wenn der Server offline ist, und dann wenn der Server wieder online ist dass der Timer weiterzählt aber der bestimmten Zeit.


    //EDIT:


    oder halt das der Timer ganzezeit läuft bis 2 Monate um sind.

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

    Einmal editiert, zuletzt von [KoSoVa] ()

  • Du kannst ja z.B. einen Timer auf dem Server starten, wenn der Server Online ist.




    Dieser rechnet dann bei allen gebannten User durchgängig eine Sekunde ab oder eine Stunde, was auch immer du als Maß nimmst.
    Das Maß bestimmst du z.B. durch den Timer selbst (alle 60sek ausführen lassen -> Minuten in der DB abgespeichert, kannst du selbst einstellen)


    Falls du nicht eine Datenbank verwendest, sondern das auf Dateiebene hast, dann musst du alle Dateien durchgehen und prinzipiel das gleiche tun - Wert erfassen, gewissen Wert abziehen und wieder abspeichern.