[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
  • Geht der Code eventuell besser und ressourcenschonender ?


    public OnRconLoginAttempt(ip[],password[],success){
    if(!success){
    for(new i=0; i<MAX_PLAYERS; i++){
    new string[128],hour,minute,second,pip[16];
    GetPlayerIp(i,pip,sizeof(pip));
    if(!strcmp(ip,pip,true)){
    Ban(i);
    gettime(hour,minute,second);
    format(string,sizeof(string),"Sicherheitsban der IP %s. Verwendetes Passwort: %s. %02d:%02d:%02d.",ip,password,hour,minute,second);
    LogCommand(string);
    return 1;
    }
    }
    }
    return 1;
    }


    stock LogCommand(event[]){new File:log = fopen("sicherheitsban.txt", io_append); fwrite(log, event); fwrite(log, "\n"); fclose(log);}

  • Geht der Code eventuell besser und ressourcenschonender ?


    Du solltest es vermeiden Variablen in Schleifen zu deklarieren...denn dann werden sie bei jedem Durchlauf neu deklariert :rolleyes:


    So kannst du es besser machen:


    public OnRconLoginAttempt(ip[],password[],success) {
    if(success) return 1;
    new string[128],pip[16];
    for(new i; i<MAX_PLAYERS; i++) {
    GetPlayerIp(i,pip,sizeof(pip));
    if(strcmp(ip,pip) != 0) continue;
    Ban(i),gettime(string[0],string[1],string[2]);
    format(string,sizeof(string),"Sicherheitsban der IP %s. Verwendetes Passwort: %s. %02d:%02d:%02d.",ip,password,string[0],string[1],string[2]);
    return LogCommand(string);
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Habe eine kleine Frage an euch,
    ist es möglich die Zeit die man Unterwasser bleiben kann zu verlängern?
    Sprich dass die Luftanzeige langsamer aufgebraucht wird.
    Möchte ungern die ganze Zeit HP geben damit man nicht stirbt :D


    Danke im Vorraus.

  • Habe in meinem Script n dynamisches Bizsystem und möchte mal von euch wissen, wie oft ich dieses Biz updaten soll, da, wenn jemand etwas kauft, die Produkte ja auch abgezogen werden sollen..


    Was meinst du mit updaten? Speichern? Laden? Aktualisieren? Senden? ...
    Etwas mehr an Informationen wäre hier sicher angebracht.

  • Etwas mehr an Informationen wäre hier sicher angebracht.


    Sorry..
    Also, ich entferne das Biz ( Label usw ) und lade das Biz neu..
    Und wenn ich jez mehr Bizes hätte, dann würde es ja sicher laggen..
    Soll ich vlt lieber nur das Label neu laden?


    & Wie oft soll ich es updaten?

  • Ich würde sagen du updatest es genau dann, wenn ein Produkt abgezogen werden soll. Das wird ja sicher nicht 10 mal in der Sekunde sein.
    Ich verstehe aber noch immer nicht den Sinn, warum du das ganze löschen und wieder erstellen willst, nur weil sich was ändert. Das könntest du doch z.B. mit der Update-Funktion der 3D Labels machen.
    Und was hat das damit zu tun, wie oft du das machen willst? "On Demand" (Auf Befehl) würde ich sagen, so mache ich es bei meinen Häusern. Wenn sich da Position/Preis/etc ändert, dann wird das sofort gespeichert, die aktuellen Besitzerdaten (Zeit, etc) werden einmal alle 5 Minuten an die MySQL Datenbank gemirrort.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Moin , ich will den SA-MP Client eines Spielers crashen mithilfe eines FS und ausfuehren von Assembler Code in Form von Hexcodes , jedoch erhaelt der Spieler nur ein warning mit s007


    Ich poste gleich den Code


  • Textdraw Erstellen => TextDrawSetFont zu 20 => TextDrawShowForPlayer => Client stürzt ab.


    Ne ich meine durch nen Pufferueberlauf durch CreateObject dann code auf dem PC des Users ausfuehren und einigen Bereichen die von GTA SA im RAM belegt werden dann andere Werte zuweisen

  • Ne ich meine durch nen Pufferueberlauf durch CreateObject dann code auf dem PC des Users ausfuehren und einigen Bereichen die von GTA SA im RAM belegt werden dann andere Werte zuweisen


    Das scheint mir aber nicht so ganz legal wenn du in der RAM des Users rumspielst.
    Wie auch immer, dazu kann ich leider nichts sagen.

  • Ne ich meine durch nen Pufferueberlauf durch CreateObject


    Mehere Objekte mit ungültigen IDs und ungültigen Kordinaten, würde mir da so einfallen und durch SetObjectMaterialText wirst du wohl den "Code" übertragen können.


    Wäre jedenfalls denkbar :whistling:

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • Mehere Objekte mit ungültigen IDs und ungültigen Kordinaten, würde mir da so einfallen und durch SetObjectMaterialText wirst du wohl den "Code" übertragen können.


    Wäre jedenfalls denkbar :whistling:


    Hab ich schon gemacht durch CreateObject , jedoch klappt das crashen nicht und es kommen nur warnings


    /e: erledigt

  • Was stimmt da nicht 8| ?


    Code
    error 017: undefined symbol "reason"
  • Du kannst das btw auch noch etwas schöner gestalten, wenn reason nur 0 und 1 sein wird.
    public OnPlayerSpawn(playerid)
    {
    if (InBehandlung[playerid])
    {
    TogglePlayerControllable(playerid, 0);
    if(!reason) return SetTimerEx("Freeze", 500, false, "i", playerid);
    SetPlayerPos(playerid,1157.2241,-1333.3459,31.5106);
    SetPlayerCameraPos(playerid, 1223.2627,-1324.4153,20.4889);
    SetPlayerCameraLookAt(playerid, 1182.8652,-1323.1715,13.5782);
    return SetTimerEx("BehandlungsInfo", 1000, false, "d", playerid);
    }
    }


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen