Beiträge von YaBroo


    Man könnte auch "i" bei sscanf angeben bei "d" bin ich mir nicht sicher. Mit Beavis's [ INCLUDE ] Kick/Ban Fix
    Include brauch man es nicht die Frage ist ob er's hat

    Du kannst dir dein Code anschauen und dir alles zusammen reimen.
    Du gehst 1. nicht alle Spieler durch wo abgefragt werden könnte ob mehrere Spieler Wanteds haben.
    2. verwendest du eine neue Variable die automatisch ohne Zuweisung den Wert 0 erhält in dem Falle die ID 0.
    Und was ist mit ID 1 - 2 - 3 ? Da wird nie was auftauchen. Für solche Tests empfehle ich dir ein Bot connecten zu lassen irrelevant welcher Art.
    Diesem kannst du dann Wanteds geben :)

    Ich wollte alle Leute sehen, die Wanteds haben!


    Mit freundlichen Grüßen,
    TheBester


    Dann versuch mal mein CMD zu nehmen, der anderer kann schon alleine von der definition von pID nicht funktionieren weil pID immer auf 0 steht.
    Und warum überhaupt pID!? Verstehe ich nicht

    eXchange:

    Guten Morgen Leute,
    Ich wollte einen Befehl /wanteds erstellen, wo man als Cop alle Leute sieht, wie viele Wanteds sie haben!


    Ehm, dann verstehe ich die Formulierung nicht.
    Zitat von BlackAce:

    Zitat

    Ungleich hat den Vorteil, das nicht noch geprüft werden muss in welche Richtung, die Bedinung evtl nicht stimmt.


    Das sind zwar vielleicht nur ein oder zwei millisekunden, aber ich optimiere meine Sachen gerne,
    deswegen hab ich das mal so benutzt :thumbup:


    Demnach was hat das mit "Sauber" zu tun?
    Seitdem BlackAce des mal geschrieben hatte Quelle: for schleife
    verwende ich es so. Hat beides den selben Effekt demnach irrelevant was dagegen zu äußern denke ich :)

    Wolltest du nicht alle Wanted Spieler sehen ? Falls ja ->


    dcmd_wanteds(playerid,params[])
    {
    #pragma unused params
    new string[128];
    if(IstSpielerMember(playerid,1))
    {
    SendClientMessage(playerid,BLAU," |_____________ Wanteds - Übersicht _____________| ");
    for(new i;i!=MAX_PLAYERS;i++)
    {
    if(GetPlayerWantedLevel(i) != 0)
    {
    format(string,sizeof(string)," %s: %i",SpielerName(i),GetPlayerWantedLevel(i));
    SendClientMessage(playerid,GELB,string);
    }
    }
    }
    return 1;
    }

    Für die Leute die das Problem in Zukunft mit sich ziehen bei einer veralteten Sscanf Version:


    if(sscanf(params, "ui", pID, ldlv))
    zu
    if(sscanf(params, "ii", pID, ldlv))

    Kannst du auch so machen:


    for(new i;i!=MAX_PLAYERS;i++)
    {
    if(PlayerInfo[i][pHeadValue] > 0 )
    {
    format(string,sizeof(string),"%s Name: %s playerid: %d Vari: %d\n",string,SpielerName(i),i,PlayerInfo[i][pHeadValue]);
    }
    }
    ShowPlayerDialog(playerid,DIALOG_LAPTOP_Auftraege,DIALOG_STYLE_LIST,"Aufträge",string,"Töten","Abbrechen");

    new string[128], text[128];
    GetPlayerName(playerid,name);format(string,sizeof(string),"%s sagt: %s","SpielerName(playerid),text);SendClientMessageToAll(FARBE;string);



    new name[]
    GetPlayerName(playerid,name,sizeof(name)); SendClientMessageToAll(FARBE,string);


    Wenn schon denn schon :D

    Du lässt bestimmt irgendwo die Spielerdatei öffnen und beschreiben ohne die richtigen Werte auszulesen, Stock korrekt geschrieben, onplayerdisocnnect und ongamemodeexit den stock korrekt abgerufen?
    Lässt du dein LoadStock auch korrekt laden!?
    Resettet es nur beim leave eines Spielers oder beim einloggen.
    Man kann hier nur spekulieren!!

    Jo dank dir, habs auch gerade im englischen Forum gefunden.


    //Edit
    Gurkie94:
    Es ist sinnlos das du in deinem AFK Cmd die Spielerdatei öffnen aber nichts auslesen lässt :thumbup:


    /e2

    Da mir die massen PN's nichts gebracht hatten Frage ich mal auf gut Glück euch alle.
    ocmd:admins(playerid,params[])
    {
    #pragma unused params
    new string[500];
    for(new i; i!=MAX_PLAYERS;i++)
    {
    if(IsPlayerAnAdmin(i,1))
    {
    switch(GetPVarInt(i,"Adminlevel"))
    {
    case 1: {rtext = "Supporter";}
    case 2: {rtext = "Admin";}
    }
    format(string,sizeof(string),"----Admin Liste----\nGrün = Außer Dienst\nROT = Im Dienst\nBLAU = AFK\n\n%s %s\n",rtext,SpielerName(i));
    }
    }
    ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Admin Online",string,"Spielen","");
    return 1;
    }


    Ist es Möglich den Befehl ohne jeglichen Aufwand oder der foreach Funktion zum laufen zu kriegen?
    Das Problem ist halt, ich hab es zwar noch nicht ausprobiert aber es wird wohl so sein das nur einer im Dialog angezeigt wird.
    Wie kann man es so machen das im Dialog halt ALLE angezeigt werden?
    Wäre super nett bei Hilfe, Kaliber hatte da auch mal was geschrieben ich bin mal auf der Suche.
    Wäre nett wenn mir da wer eben auf die Sprünge helfen könnte.
    Es liegt bestimmt am loop, wie funktioniert es korrekt anhand meines Codes?
    mfg


    Spoiler anzeigen
    EDITS:
    -Angepasst/Verbessert

    Bin kein Papagei also hier noch mal die Liste für dich.


    Jo das ist schon richtig. Ich habs auch falsch ausgedrückt.
    Man kann sich die vehicle id auch einfach unter OnPlayerEnterVehicle durch vehicleid ausgeben lassen.
    Diese Verschiebungen werden halt nur "sichtbar" bzw. bemerkbar wenn man sein Script auf vehicleid basierend lässt.
    Deshalb sollte man halt allgemein immer mit festen Variablen arbeiten.

    new PräsiAuto[5];
    PräsiAuto[0] = CreateVehicle(..
    PräsiAuto[1] = CreateVehicle(..
    PräsiAuto[2] = CreateVehicle(..
    PräsiAuto[3] = CreateVehicle(..
    PräsiAuto[4] = CreateVehicle(..


    Dann kannst du gemütlich per Schleife alle PräsiAutos steuern.
    Hier ein hilfreicher Thread für dich.
    Ich such mal das Tutorial dazu

    Meinst du jetzt den Punkt entfernen oder allgemein den Namen verändern?
    Du kannst dir ja ein Befehl machen und den selber eingegebenen Parameter mit einem Spieler bezogenem String verknüpfen welche du dann formatiert unter OnPlayerText ausgibst.
    Zudem noch eine Variable auf 1 setzen oder die Größe Abfragen zum Abfragen ob er einen eigenständigen Namen eingegeben hat für den Chat.
    Ansonsten nutze die Split Funktion wie der Vorposter schon sagte :thumbup: