Beiträge von ShiiX


    ocmd:rangaendern(playerid,params[])
    {
    new pID,F_Rang,gemacht[200],gekriegt[200],rtext[90];
    if(sInfo[playerid][Rang]!=6) return SendClientMessage(playerid,COLOR_RED,"Dein Rang ist zu niedrig");
    if(sscanf(params,"ui",pID,F_Rang)) return SendClientMessage(playerid,COLOR_RED,"INFO: /rangaendern [PlayerID] [Rang 0-6]");
    if(sInfo[playerid][Fraktion]==1)
    {
    sInfo[playerid][Rang]=F_Rang;
    if(sInfo[playerid][Rang] == 1) { rtext = "Auszubildenderr"; }
    else if(sInfo[playerid][Rang] == 2) { rtext = "Officer"; }
    else if(sInfo[playerid][Rang] == 3) { rtext = "Bike-Officer"; }
    else if(sInfo[playerid][Rang] == 4) { rtext = "Kommissar"; }
    else if(sInfo[playerid][Rang] == 5) { rtext = "Stellv. Oberkommissar"; }
    else if(sInfo[playerid][Rang] == 6) { rtext = "Oberkommissar"; }
    }
    format(gemacht,sizeof(gemacht),"Dein Leader: %s hat deinen Rang zu %i geändert.",PlayerName(playerid),F_Rang);
    SendClientMessage(pID,Blau,gemacht);
    format(gekriegt,sizeof(gekriegt),"Du hast %s den Rang zu %i geändert.",PlayerName(pID),F_Rang);
    SendClientMessage(playerid,Blau,gekriegt);
    savePlayer(pID);
    printf("%d",sInfo[playerid][Rang]);
    return 1;
    }


    Probiers so.

    ...



    new verletzter; //Variable wird erstellt; Hat automatisch den Wert 0.
    new preis;
    if(PlayerInfo[playerid][pMember]== 4 || PlayerInfo[playerid][pLeader] == 4)
    {
    if(playerid == verletzter) //HIER überprüfst du, ob playerid == verletzter, also ob playerid 0 ist.
    {
    if(sscanf(params,"ui",verletzter,preis))return [...] // HIER bekommt "verletzter" seinen eigentlichen Wert zugeteilt, welcher mit playerid verglichen werden muss!



    ...


    Also noch mehr helfen, ohne die Lösung direkt zu posten, geht nicht.
    Selbst ist der Mann, also ergreife Eigeninitiative und überleg. :)

    Du willst "playerid" mit "verletzter" vergleichen, obwohl die letztere Variable erst später seinen gedachten Wert zugeteilt bekommt.
    Wenn du den Befehl ausführst, wird immer mit 0 verglichen.


    Sollte als Denkanstoß und Lösung genügen. ^^

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    @BrotFische:


    Ja, hab ich doch geschrieben? Wo liegt dein Problem?
    Bedingung 1, um den Befehl ausführen zu können, ist, dass in der Accountdatei/-datenbank bei Adminrang 2 steht.
    Bedingung 2 ist, dass er als RCON-Admin eingeloggt ist.


    Welche Bedingung er erfüllt, ist mir rille, nur muss er eine dieser beiden erfüllen.

    Such dir einen GameMode, öffne Pawno, ruf das Script auf, Lies dich rein. - So hab ich's gelernt.
    Kannst dir im Grunde jeden Codeschnipsel nehmen, und versuchen zu verstehen, was er bewirkt (Im Spiel, sowie im Script (bspw. ein Login u. Registersystem)).

    Kann das jemand umwandeln?eventuell mit Grund


    /checkpoints [PlayerID] [Checkpoints] [Grund]

    Kannst du auch mal was selbst machen? Ich hab in dem Thread hier keinen einzigen Willen von dir gesehen, etwas selbst zu erstellen.


    Für den Grund machst du ein neues "new":
    new pID, str[128], grund[64];


    Bei der SSCANF-Abfrage fügst du einen neuen String (s) ein, mit dem "Wert" "grund".
    Diesen fügst du dann einfach in die Nachricht ein, die gesendet wird, also:
    format(string, sizeof string, "Admin ... steckt ... für ... Checkpoints ins Prison. Grund: %s", ..., grund);