Beiträge von Pille

    Wie erstelle ich denn einen String für jeden Spieler?
    Bisher hab ich folgendes:



    new dateiname[MAX_PLAYERS][20];
    format(dateiname[playerid],sizeof(dateiname[playerid]),inputtext);


    Es spuckt aber leider nur Fehler aus ^^


    Der Inputtext eines Dialoges soll in der Variable gespeichert werden.


    //Edit:
    Hier die Fehler:

    Spoiler anzeigen
    error 001: expected token: "]", but found "-identifier-"
    warning 215: expression has no effect
    expected token: ";", but found "]"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line

    Moin Breafish,


    Folgende Frage:
    Ich will bei einem DIalog(DIALOG_STYLE_LIST) als Listitem den Dokumentennamen
    von allen Textdateien anzeigen lassen, die in einem bestimmten Ordner sind.


    Beispiel:
    2 Dateien (samp & samp2) sind in einem Ordner.


    Der Dialog soll also folgendermaßen sein:
    "samp\nsamp2"



    Ich weiß nicht wie ich das mache, ich arbeite mit dini.


    LG
    Pille


    //Push
    // Push2


    Wenn der Server abstürzt wird das Public "OnPlayerDisconnect" nicht aufgerufen - Alle
    Daten gehen verloren.


    Bei einer Endround weiß ich es nicht, aber mache bei dem Befehl "gmx" oder "Endround"
    einfach eine forschleife rein, die jeden Spieler saved.


    new pickup;


    OnGameModeInit

    pickup=CreatePickup(3096,14,1599.4000244141,-1623.0,14.300000190735,-1);


    OnPlayerPickupPickup

    if(pickupid==pickup)
    {
    if(Abfrage ob das ein Cop // FBI ist)
    {
    RepairVehicle(GetPlayerVehicleID(playerid));
    SetVehicleHealth(GetPlayerVehicleID(playerid,1000);
    }
    }

    Moin!


    Ich war gerade dabei ein Makeadmin - Befehl zu erstellen (mit strget).
    Das hat auch alles super funktioniert, aber da der Befehl rund 40 Zeilen braucht,
    wollte ich das Suchen nach dem Spieler in einen Stock packen.


    Hier der eigentliche Befehl:

    if(strcmp(strget(cmdtext,0),"/makeadmin",true)==0)
    {
    if(Spieler[playerid][Adminlevel]!=5) return SendClientMessage(playerid,ERROR,"Du bist dazu nicht berechtigt.");
    if(strlen(strget(cmdtext,1))==0||strlen(strget(cmdtext,2))==0) return SendClientMessage(playerid,ERROR,"Benutze: /makeadmin [Spieler] [Rank]");
    new Rank;
    new pID;
    Rank=strval(strget(cmdtext,2));
    SpielerSuchen(playerid,strget(cmdtext,1),pID);
    Spieler[pID][Adminlevel]=Rank;
    new string[50];
    format(string,sizeof(string),"%s hat %s zum Admin %i gemacht.",SpielerName(playerid),SpielerName(pID),Rank);
    SendClientMessageToAll(ERROR,string);
    format(string,sizeof(string),"%s hat dich zum Admin %i gemacht.",SpielerName(playerid),Rank);
    SendClientMessage(pID,ERROR,string);
    return 1;
    }



    Hier der eigen erstellte Stock:

    stock SpielerSuchen(playerid,text[],pssaaas)
    {
    if(IsNumeric(text)) pssaaas=strval(text);
    else
    {
    new anzahl;
    new stringpID[MAX_PLAYER_NAME+1];
    format(stringpID,sizeof(stringpID),"%s",text);
    for(new ID=0;ID<MAX_PLAYERS;ID++)
    {
    if(IsPlayerConnected(ID))
    {
    if(strfind(SpielerName(ID),stringpID,true,0)!=-1)
    {
    anzahl++;
    pssaaas=ID;
    }
    }
    }
    if(anzahl!=1) return SendClientMessage(playerid,ERROR,"Spieler wurde nicht gefunden.");
    else if(!IsPlayerConnected(pssaaas)) return SendClientMessage(playerid,ERROR,"Spieler wurde nicht gefunden.");
    }
    return pssaaas;
    }



    Das Problem:
    Sobald ein Error kommt (Kein Spieler gefunden, die ID nicht gefunden etc.) wird der Stock beendet
    und pID wird als ID ausgeführt. da eine neue Variable standartmäßig 0 ist,
    wird dann zwar der Text "Spieler wurde nicht gefunden" angezeigt, aber Spieler mit der ID 0 bekommt
    den Admintitel den man angibt.


    Danke für die Hilfe :thumbup:


    // Push bitte!

    Die sind nicht unsichtbar, der Skin ist nur hinter der Kamera.
    Du musst mit



    SetPlayerCameraPos(playerid,x,y,z);
    SetPlayerCameraLookAt(playerid,x,y,z);

    die Kameraeinstellung ändern.


    new Sound[3];
    sound[0]=1183;
    sound[1]=1185
    sound[2]=1187;



    new zufall;
    zufall=random(sizeof(sound));
    PlayerPlaySound(playerid,sound[zufall],0,0,0);

    Ich weiß nicht ob das seit eben bei euch auch ist,


    aber mir werden z,B. die Codes in enier viel größeren Schriftgröße angezeigt.
    Auch die "neuen Beiträge" sind viel größer..


    Mich stört es, wäre schön wenn man das wieder auf Standart zurücksetzt ^^