[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
  • so wirds nicht gehen.
    @Alva.


    versuchs so:
    der Header des Dialogs muss ausserhalb der Schleife stehen:
    strcat(string, "Empfänger\tBetrag\tAlter Kontostand\tNeuer Kontostand\tVerwendungszweck\tUhrzeit\n");for().....{format"(%s\nHTML_WHITE"%d\t"HTML_WHITE"$%d\t"HTML_RED"$%d\t"HTML_GREEN"$%d\t"HTML_WHITE"%s\t"HTML_WHITE"%s",stirng1, , InstructionInfo[i][iOtherNumber], InstructionInfo[i][iValue], InstructionInfo[i][iOldValue], InstructionInfo[i][iNewValue], InstructionInfo[i][iVerwendungszweck], InstructionInfo[i][iTime);}strcat(string, string1, sizeof(string1));

    Nene, der war schon richtig, habe ihn soeben ausgetestet. Habe jedoch vergessen, nach dem Titel eine neue Zeile zu setzen.
    Und das mit der Schleife stimmt natürlich, ich wusste aber nicht, dass er eine Schleife hat, da in seinem geposteten Code keine vorhanden war.


    https://pastebin.com/AXP6t8uK

  • Hallo Leute


    Mein Arrest System ist so dass man einen Spieler nur durch die Aktion Gestellt oder nicht gestellt einsperren kann. Keine Spieler ID oder.
    Der Spieler muss nur in deiner Nähe sein. Ich würde es gerne so haben dass man die Spieler ID eingeben kann und die Sekunden.
    Kein gestellt oder nicht sondern einfach nur selber entscheiden kann wv Sekunden der sitzt. Natürlich muss der Spieler auch Wanteds besitzen.


    z.B /arrest [Spieler-ID] [Sekunden]


    Wie mache ich das??


    Ich freue mich auf eure Hilfe.



    if(strcmp(cmd, "/arrest", true) == 0)
    {
    if(IsACop(playerid))
    {
    if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 2)
    {
    SendClientMessage(playerid,rot,"Du bist nicht im Dienst!");
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,X,Y,Z) || IsPlayerInRangeOfPoint(playerid,3.0,X,Y,Z))
    {
    new suspect = GetClosestPlayer(playerid);
    if(IsACop(suspect))
    {
    SendClientMessage(playerid,rot,"Du kannst keine Polizisten einsperren");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /arrest [Aktion]");
    SendClientMessage(playerid, COLOR_WHITE, "Aktion: 1-Nicht Gestellt, 2-Gestellt");
    return 1;
    }
    if(strcmp(tmp, "1", true) == 0)
    {
    if(IsPlayerConnected(suspect))
    {
    if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
    {
    moneys = WantedLevel[suspect] * 1000;
    new time = WantedLevel[suspect] * 120;
    GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(WantedLevel[suspect] < 1)
    {
    SendClientMessage(playerid,rot, "Der Spieler wird nicht gesucht!");
    return 1;
    }
    GivePlayerMoney(playerid, moneys/2);
    FraktionsKasse[0] += moneys/2;
    format(string, sizeof(string), "Du hast %s eingesperrt. Geldstrafe [%d$], Zeit %d Sekunden!", giveplayer,moneys, time);
    SendClientMessage(playerid, COLOR_GREEN, string);
    GivePlayerMoney(suspect, -moneys);
    format(string, sizeof(string), "Du wurdest von %s für %d Sekunden eingesperrt. [Geldstrafe %d$]", sendername, time, moneys);
    SendClientMessage(suspect,rot, string);
    UnFreezePlayer(suspect);
    ResetPlayerWeapons(suspect);
    if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1)
    {
    format(string, sizeof(string), "<< Officer %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(0x1E4C99FF, string);
    }
    else if(PlayerInfo[playerid][pMember]==2)
    {
    format(string, sizeof(string), "<< Polizist %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(0x1E4C99FF, string);
    }
    else if(PlayerInfo[playerid][pLeader]==2)
    {
    format(string, sizeof(string), "<< FBI-Leader %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(0x1E4C99FF, string);
    }
    if(PolizeiZellen == 0)
    {
    SetPlayerInterior(suspect,0);
    SetPlayerPos(suspect,X,Y,Z);
    SetPlayerFacingAngle(suspect,270.000);
    SetPlayerVirtualWorld(suspect,0);
    PolizeiZellen += 1;
    }
    PlayerInfo[suspect][pJailTime] = time;
    PlayerInfo[suspect][pJailed] = 1;
    PlayerInfo[suspect][pArrested] += 1;
    SetPlayerInterior(suspect, 0);
    WantedPoints[suspect] = 0;
    WantedLevel[suspect] = 0;
    SetPlayerWantedLevel(suspect,0);
    }
    else
    {
    SendClientMessage(playerid,rot, "Es befindet sich kein Spieler in deiner Nähe");
    }
    }
    else
    {
    SendClientMessage(playerid,rot, "Es befindet sich kein Spieler in deiner Nähe!");
    }
    }
    else if(strcmp(tmp, "2", true) == 0)
    {
    if(IsPlayerConnected(suspect))
    {
    if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
    {
    moneys = WantedLevel[suspect] * 500;
    new time = WantedLevel[suspect] * 60;
    GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(WantedLevel[suspect] < 1)
    {
    SendClientMessage(playerid,rot, "Der Spieler ist nicht gesucht!");
    return 1;
    }
    GivePlayerMoney(playerid, moneys/2);
    FraktionsKasse[0] += moneys/2;
    format(string, sizeof(string), "Du hast %s eingesperrt für %d$ und %d Sekunden!", giveplayer,moneys, time);
    SendClientMessage(playerid, COLOR_GREEN, string);
    GivePlayerMoney(suspect, -moneys);
    format(string, sizeof(string), "Du wurdest von %s für %d Sekunden und für %d$ eingesperrt", sendername, time, moneys);
    SendClientMessage(playerid,rot, string);
    ResetPlayerWeapons(suspect);
    if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1)
    {
    format(string, sizeof(string), "<< Officer %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(0x1E4C99FF, string);
    }
    else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
    {
    format(string, sizeof(string), "<< FBI-Agent %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(0x1E4C99FF, string);
    }
    else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
    {
    format(string, sizeof(string), "<< Soldat %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(0x1E4C99FF, string);
    }
    if(PolizeiZellen == 0)
    {
    SetPlayerInterior(suspect,0);
    SetPlayerPos(suspect,X,Y,Z);
    SetPlayerFacingAngle(suspect,270.000);
    SetPlayerVirtualWorld(suspect,0);
    PolizeiZellen += 1;
    }
    PlayerInfo[suspect][pJailTime] = time;
    PlayerInfo[suspect][pJailed] = 1;
    PlayerInfo[suspect][pArrested] += 1;
    SetPlayerInterior(suspect, 0);
    WantedPoints[suspect] = 0;
    WantedLevel[suspect] = 0;
    SetPlayerWantedLevel(suspect,0);
    }
    else
    {
    SendClientMessage(playerid,rot, "Es befindet sich kein Spieler in deiner Nähe!");
    }
    }
    else
    {
    SendClientMessage(playerid, rot, "Spieler ist nicht online!");
    }
    }
    }
    else
    {
    SendClientMessage(playerid,rot, "Du bist nicht an der Zelle!");
    }
    }
    else
    {
    SendClientMessage(playerid,rot, "Du bist kein Polizist");
    }
    return 1;
    }




    Mit freundlichen Grüßen

  • @HandsUper versuch es doch bitte einmal mit einem eigenen Code und nicht mit Copy & Paste in der Hoffnung das dir auf Breadfish jemand das Ding umschreibt...
    Das ist eigentlich ein ziemlich simpler Command. Nutze für dein Vorhaben Zcmd oder Ocmd und Sscanf. Dadurch hast du gleich die Möglichkeit einen Command zu erstellen wo du die Parameter abfragen kannst.

  • @HandsUper