[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
  • Kannst dir'n Client programmieren mit dem man nur spielen kann wenn man diesen hat. Dieser durchsucht einfach den GTA SA Ordner.
    So machts ein anderer Serevr.
    Muss aber jeder runterladen und wird auch oft als virus angezeigt.

    KleineHilfe 2.0


  • for(new i=0; i< MAX_PLAYERS; i++)
    {
    if(BlaCop[i] == 1)
    {
    //cop gefunden
    }
    }


    hier eine Beispiel-Funktion um die Cops zu zählen: GetCopAnzahl()

    GetCopAnzahl()
    {
    new amount = 0;
    for(new i=0; i< MAX_PLAYERS; i++)
    {
    if(BlaCop[i] == 1 && IsPlayerConnected(i))
    {
    //cop gefunden
    amount++;
    }
    }
    return amount;
    }


    if(GetCopAnzahl() > 3)//gibt es mehr als 3 cops ?


    oder besser wenn du nur fragen willst ob EINER existiert:
    IstEinCopDa()
    {
    for(new i=0; i< MAX_PLAYERS; i++)
    {
    if(BlaCop[i] == 1 && IsPlayerConnected(i))
    {
    return 1;
    }
    }
    return 0;
    }


    if(IstEinCopDa()) //ja nein ?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Servus Leute,
    angenommen ich habe einen makeadmin Befehl. Wie kriege ich die Funktionen die man dort eingibt unter makeadmin
    unter einen Dialog?
    Sprich ich gebe /makeadmin ein, bei ihm öffnet sich ein Dialog ect das habe ich alles, aber wie kriege ich die Funktionen die eig. bei makeadmin abgefragt werden unter den Dialog?
    makeleader sieht zB so aus


    ocmd:makeadmin(playerid,params[])
    {
    new pID, rank, string[500],string2[500];
    if(!IsPlayerAnAdmin(playerid, 0)) return SendClientMessage(playerid, ROT,"Dein Rang reicht nicht aus um diese Funktion zu benutzen.");
    if(sscanf(params,"ui",pID,rank)) return SendClientMessage(playerid, ROT,"Benutzung: /Makeadmin [ID] [Rang[1-5]]");
    if(rank<0||rank>5) return SendClientMessage(playerid, ROT,"Bitte gebe einen gültigen Rang an. [1-5]");
    SendClientMessageToAll( GELB," [NEWS].::International Mini-Games::.[NEWS]");
    format(String, sizeof(String),"#COL_MAGENTA"Spieler %s "#COL_YELLOW"wurde von "#COL_MAGENTA"%s "#COL_YELLOW"zum "#COL_MAGENTA"[IMG]Supporter Rang: %d "#COL_YELLOW"ernannt.",SpielerName(pID),SpielerName(playerid), rank);
    SendClientMessageToAll(grün, String);
    SetPVarInt(pID, "Adminlevel",rank);
    SpielerSpeichern(pID);
    Emailcheck[playerid] = 1;


    Wie kriege ich
    SendClientMessageToAll(GELB," [NEWS].::International Mini-Games::.[NEWS]");
    format(String, sizeof(String),"#COL_MAGENTA"Spieler %s "#COL_YELLOW"wurde von "#COL_MAGENTA"%s "#COL_YELLOW"zum "#COL_MAGENTA"[IMG]Supporter Rang: %d "#COL_YELLOW"ernannt.",SpielerName(pID),SpielerName(playerid), rank);
    SendClientMessageToAll(grün, String);
    SetPVarInt(pID, "Adminlevel",rank);
    SpielerSpeichern(pID);


    das unter' den Dialog sodass der rank angezeigt wird und der rank auch gesetzt wird.
    /e2

    KleineHilfe 2.0


  • Listitem switchen. (OnDialogResponse)


    Variable für eingegeben ID im Dialog erhöhen > pID.


    SendClientMessage(pID, Farbe, "xYz");


    Meinst du das?


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Ich möchte die Funktionen die aktuell unter /makeleader stehen am Ende eines Dialoges abrufen.
    mit makeleader bestimmt man ja aktuell den rank und dann öffnet sich auch der dialog. Aber am Ende des Dialoges muss ich ja alles neu definieren und dann stehen Sachen wie rank wieder auf 0 die zu Anfang bei makeleader eingegeben wurden.
    Wie krieg ich die oben definierten Sachen so unter einen Dialog das die Variablen rank gleich bleiben

    KleineHilfe 2.0

  • Ich habs jetzt so:


    stock IsCopOn()
    {
    for(new i=0; i< MAX_PLAYERS; i++)
    {
    if(IsACop[i])
    {
    return 1;
    }
    }
    return 0;
    }


    Aber wenn ich die Funktion benutze kommt ein Error:


    Code
    syntax error in the expression, or invalid function call


    Benutzen tu ich die Funktion so:


    if(!IsCopOn) return ....


    - Tom