[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
  • Hallo, hab dan kleines Problem.


    Ich hatte es schonmal dieses Problem, dan dachte ich es ist gelöst, nur kann man sich den Rang setzten wen man kein Teammitgleid ist, wenn der Code folgendermapen ist. Was ist das inkorrekt?



    ocmd:makeadmin(playerid, params[])
    {
    //if(SD[playerid][pEingeloggt] == 0)return SCM(playerid, GRAU, "Du bist nicht eingeloggt!");
    new pID, adminid, string[128];
    if(!iPAA(playerid,5))
    {
    if(sscanf(params, "ui", pID, adminid))return makeadmin;
    //if(adminid < 2)return SCM(playerid, GRAU, "Du kannst nur ab Rang 2 vergeben.");
    if(IPN(pID))return 1;
    //if(IsPlayerNPC(pID))return 1;
    //if(!Eingeloggt[pID])return SCM(playerid, GRAU, "Dieser Spieler ist nicht eingeloggt!");
    //if(SD[pID][pIntro] < 1)return SCM(playerid, GRAU, "Der Spieler ist noch im Tutorial.");
    if(adminid == 0)
    {
    format(string,sizeof(string), GARN(playerid));
    SD[pID][pAdmin] = adminid;
    format(string, sizeof(string), "Du hast %s %s aus dem Teamposten %s entlassen", string,SD[pID][pName], string);
    SCM(playerid, BLAU, string);
    format(string,sizeof(string), GARN(playerid));
    SD[pID][pAdmin] = adminid;
    format(string, sizeof(string), "%s %s hat dir den Rang %s entzogenn!", string,SD[playerid][pName],GARN(pID));
    SCM(pID, BLAU, string);
    format(string,sizeof(string), GARN(playerid));
    SD[pID][pAdmin] = adminid;
    format(string, sizeof(string), "AdmCMD: %s %s hat %s %s den Rang %s entzogen!", string,SD[playerid][pName],string, SD[pID][pName],GARN(pID));
    SAM(BLAU, string);
    SD[pID][pAdmin] = 0;
    SUS(pID);
    return 1;
    }
    if(adminid < 1 || adminid > 7)return adminrangnichtexistent;
    format(string,sizeof(string), GARN(pID));
    SD[pID][pAdmin] = adminid;
    format(string, sizeof(string), "Du hast %s %s den Teamrang %s gegeben", string,SD[pID][pName], GARN(pID));
    SCM(playerid, BLAU, string);
    format(string, sizeof(string), "%s %s hat dir den Teamrang %s gegeben",GARN(playerid),SD[playerid][pName],GARN(pID));
    SCM(pID, BLAU, string);
    format(string,sizeof(string), GARN(pID));
    SD[pID][pAdmin] = adminid;
    format(string, sizeof(string), "AdmCMD: %s %s hat %s %s zum %s ernannt.",string, SD[playerid][pName],string, SD[pID][pName], GARN(pID));
    SAM(BLAU,string);
    SUS(pID);
    return 1;
    }
    else {SCM(playerid, GRAU, "Du hast nicht genügend Rechte für diesen Befehl.");}
    return 1;
    }

  • Momentan kann ich den Befehl auch nutzen wenn ich keinen Teamrang habe. Was aber natürlich nicht so sein sollte.


    mein isPlayerAnAdmin (iPAA):

    stock isPlayerAnAdmin(playerid,rang)
    {
    if(SpielerDaten[playerid][pAdmin] < rang)return 1;
    return 0;
    }

  • Mag jemand mir mal die Tage helfen YSI aus meinem Script zu eliminieren?
    Habe nichts aus dem Script drin, aber wenn ich es streiche, schmiert der Compiler ab.
    Habe damals y_ini genutzt, nun komplett gestrichen, aber wenn ich es rausnehme schmiert das Ding einfach ab.


    Habe eine Funktion geschrieben zum Runden von Integern.
    Kann man diese auch mit Bitwise Verknuepfungen und Shifts darstellen?


    C
    stock round(num)
    {
    	new rem = num % 10;
    	return rem >= 5 ? (num - rem + 10) : (num - rem);
    }

    Einmal editiert, zuletzt von Sub Royal ()

  • Habe eine Funktion geschrieben zum Runden von Integern.
    Kann man diese auch mit Bitwise Verknuepfungen und Shifts darstellen?

    Kannst du mal Beispiele geben, was du als Input eingibst und als Output raushaben magst? ^^

    ast2ufdyxkb1.png


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

  • @Kaliber


    Gebe ich den erste Fahrzeug TÜV Funktioniert das.
    Gebe ich den Zweiten Fahrzeug TÜV Funktioniert das nicht mehr.


    Einmal editiert, zuletzt von Dr. Frauenarzt () aus folgendem Grund: Command Bearbeitet

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Beitrag von Shifty420 ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Thread konnte ebend nicht erstellt werden ().
  • Mit 2 einfachen Funktionen kannst du das realisieren:



    Und dann kannst du ja einfach abfragen:



    C
    new buchstaben = CountCharsInString(string);
    new zahlen = CountNumbersInString(string);
    if(buchstaben == 2 && zahlen == 3 || buchstaben == 1 && zahlen == 4)
    {
        //Valid
    }

    ast2ufdyxkb1.png


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

  • Hey,


    Kurze Frage zu INSERT Wenn ich das Fahrzeug wieder abmelde, kann ich dann weiterhin diesen stock aufrufen und INSERT benutzen?
    Weil man ja UPDATE benutzt.


    Ich benutzte INSERT weil am Anfang nichts eingetragen ist, wenn ich das Fahrzeug abmelde ist der Wert ja 0

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Gibts eine einfache Möglichkeit wenn ich bspw pGeld = 20000 habe, dass ich es bei einer Übersicht für den Spieler mit einen Punkt anzeigen lassen (also ab den 1000er) also: 20.000 ohne das Geld System ändern zu müssen?

    Hatte dafür mal eine Funktion geschrieben gehabt:



    C
    stock sMoney(geld)
    {
        new str[24],i;
        valstr(str,geld),i=(geld > 0) ? strlen(str)-3 : strlen(str)-4;
        for(; i>0; i-=3) strins(str,".",(geld > 0) ? i : i+1,24);
        return str;
    }

    Nutzung einfach so:


    format(string,sizeof(string),"Habe soviel Geld: %s$",sMoney(pGeld)); //Output: Habe soviel Geld: 20.000$

    ast2ufdyxkb1.png


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

  • Bin gerade dies am umsetzen, allerdings spuckt mir der Compiler immer Error 017 "undefined symbol" aus.


  • Wie sieht denn deine Ordnerstruktur aus bei Pawno/Includes?


    Bist du sicher, dass du das richtige Pawno öffnest und auch die Include abgespeichert hast? ^^


    Schreib es btw mal so:


    #include <modules/login/main>


    Dann solltest du unter Pawno/includes/modules/login/main.inc haben.

    ast2ufdyxkb1.png


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

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