Beiträge von [PeL]Smiley

    SendClientMessage(playerid,Rot,"[Info:] /setadmin [playerid] [adminlevel]");
    Probiere es erstmal so. Meines Wissens musst du die Farben mit " Hier ist Text {RRGGBB} Hier ist noch mehr Text {RRGGBB} Hier ist immernoch Text" ändern.

    Ne hat nichts gebracht genau die gleichen Errors

    Welche Zeilen sind das? DIe hier?


    SendClientMessage(playerid,Rot,""COLG"[Info:]"COLR"Möglich ab: "COLG" Adminrank: 4");
    SendClientMessage(playerid,Rot,""COLG"[Info:]"COLR"/setadmin [playerid] [adminlevel]");

    Die hier:


    if(sscanf(params,"ui",pID,pAdminlevel))return SendClientMessage(playerid,Rot,""COLG"[Info:]"COLR"/setadmin [playerid] [adminlevel]");
    SpielerInfo[pID][pAdminlevel]=pAdminlevel;

    Warnings:


    C:\Users\kev\Desktop\test\gamemodes\test.pwn(522) : warning 213: tag mismatch
    C:\Users\kev\Desktop\test\gamemodes\test.pwn(523) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.


    Code:


    ocmd:setadmin(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdminlevel] < 4)return SendClientMessage(playerid,Rot,""COLG"[Info:]"COLR"Möglich ab: "COLG" Adminrank: 4");
    new pID;
    if(sscanf(params,"ui",pID,pAdminlevel))return SendClientMessage(playerid,Rot,""COLG"[Info:]"COLR"/setadmin [playerid] [adminlevel]");
    SpielerInfo[pID][pAdminlevel]=pAdminlevel;
    SavePlayer(pID);
    SendClientMessage(pID,Rot,"Dein Adminrang wurde geändert.");
    SendClientMessage(playerid,Rot,"Du hast den Adminrang geändert.");
    return 1;
    }

    Sag mir was du nicht verstehst und ich probiere es dir zu erklären ;) Oder liegt es einfach daran, dass bei mir der Zeilenumbruch nicht will ? :D

    Das mit dem Zeilenumbruch denke ich auch ja,aber ich denke ich würde es besser verstehen in ocmd und vllt. genauere Erklärungen dabei.
    Weil ich will ja mein TextDraw usebox anzeigen lassen mit /infos und mit /infos auch wieder Destroyen

    Also zu deiner ersten Frage: Ich mach dir mal ein Beispiel ( dafür benutze ich zur Demonstration mal ZCMD)
    //oben im Scriptnew TextdrawState[MAX_PLAYERS] ;CMD:infos(playerid, params[]){if(TextdrawState[playerid] == 1){PlayerTextDrawShow(playerid,blabla);TextdrawState[playerid] = 0;return 1;}else if(TextdrawState[playerid] == 0){PlayerTextDrawHide(playerid,blabla);TextdrawState[playerid] = 1;return 1;} return 1;}//bei OnPlayerConnectTextdrawState[playerid]=0;
    Irgendwie klappt das mit dem Zeilenumbruch bei mir wieder nicht, ich hoffe man kann es lesen ;)

    Irgendwie verstehe ich es gerade nicht hmm...

    Ich habe auch eine Frage bezüglich eines Textdraw's.
    Undzwar:
    Ich wollte einen Befehl /infos mit einer usebox Textdraw benutzen,wie kann ich daraus einen befehl machen ihn anzeigen lassen und dann beim zweiten mal den Code eingeben wieder destroyen?
    Der Code:
    http://pastebin.com/iPh82kZz



    Und kann man das Textdraw noch verkleinern? Also "sparender" machen? auch mit den new Textdraw 0 und textdraw 1 blabla?
    Danke im voraus

    Nein,es zeigt jeden einzelnen Spieler an,der nicht Adminlevel 4 oder dadrüber ist.
    //edit: Thema gelöst,kann closed werden

    Dieses habe ich bereits schon ausgeklammet,und nun kommt : "Server unknown Command"

    Diese Abfrage ist auch bescheuert:
    if(!SpielerInfo[playerid][pAdminlevel] >= 4) return SendClientMessage(playerid,Rot,"Möglich ab: 'COLG' Adminrank 4");


    Versuch das mal:
    if(SpielerInfo[playerid][pAdminlevel] < 4) return SendClientMessage(playerid,Rot,"Möglich ab: 'COLG' Adminrank 4");

    Nein so funktioniert es auch nicht?
    Liegt es vllt. am ocmd include oderso?

    Es funktioniert immernoch nicht es wird immernoch angezeigt das der Befehl nicht exestiert..

    Bräuchte dazu immernoch Hilfe :)

    Befehl ist ausserhalb eines callbacks bzw einer anderen Funktion ? Ausserdem kannste auch noch mal den code block wo du die message ausgeben lässt zeigen. Zumal du speicherst nicht alle Spieler sondern nur denjenigen der den Befehl ausführt. Musste mit ne Schleife durch alle Spieler gehen und dann Speichern lassen.


    public OnPlayerCommandPerformed(playerid, cmdtext[], success)
    {
    new string[128];
    format(string, sizeof string, "Der Befehl "COLO"%s"COLW" existiert nicht!", cmdtext);
    if(!success)return SendClientMessage(playerid, Weiß, string);
    return 1;
    }


    Und wie meinst du das mit der schleife? Bis jetzt habe ich noch keine schleife erstellt,könntest du dies vllt. in diesem Befehl einbauen?

    ocmd:restartserver(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdminlevel] > 4) return SendClientMessage(playerid,Rot,"Möglich ab: "COLG" Adminrank 4");
    SendClientMessageToAll(Grün,"Der Server wird neugestartet!Es werden alle Accounts gespeichert!");
    SavePlayer(playerid);
    SendRconCommand("gmx");
    return 1;
    }


    Der Befehl funktioniert nicht dann kommt andauernd "Der Befehl restartserver exestiert nicht"
    Warum?