Beiträge von KiraYamato

    Hi, ich hätte da eine Frage und zwar wie man einen gesucht Befehl mit SendClientMessage machen kann.


    und zwar es werden ja nicht immer gleich viele Leute gesucht deswegen wollte ich fragen wie man es schafft das in einer SendClientMessage auszugeben
    so dass man den Namen sieht und wie viele Wanteds derjenige hat.


    MFG: KiraYamato

    Also ich gehe mal davon aus das du dini hast, deswegen würde ich es einfach so machen:



    dann in deinem Befehl:


    ffposition(playerid);


    und dann in dem befehl


    und dann sollte es das gewesen sein, aber kleine frage noch: wieso machst du es nicht einfach mit IsPlayerInRangeOfPoint und Speicherst dir vorher die Position mit /save und erstellst dann da das Pickup ?


    MFG: KiraYamato

    der string:


    new string[MAX_PLAYER_NAME * MAX_PLAYERS];


    war in dem befehl ^^


    Ich habe im include a_samp als max_players 100 definiert :) also standart halt, ich glaube ich lass das einfach so und setze die länge von string auf 512 so wie du gesagt hast ^^

    Ok ich hab das jetzt so eingefügt wie du gesagt hast, allerdings wenn ich den befehl ingame ausführe zeug er mir an das der befehl nicht existiert und zeigt der compiler mir jetzt ganz viel Zeugs an was weder warnings noch errors sind:


    Header size: 9892 bytes
    Code size: 706068 bytes
    Data size: 728816 bytes
    Stack/heap size: 16384 bytes; estimated max. usage=24070 cells (96280 bytes)
    Total requirements: 1461160 bytes


    Ich habe eben gegooglet und da meinte jemand das es eine funtkion ist die sich selbst immer wieder aufruft, das hier war die frage:


    Header size: 8736 bytes
    Code size: 1422004 bytes
    Data size: 1701048 bytes
    Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion
    Total requirements: 3148172 bytes


    This has something to do with memory, right? Is it a problem if it says that, or is it more of a warning?


    Und hier die antwort von ihm:


    The warning appears due recursion


    Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion


    You got a function which call itself again and again


    That code would be enough to get that message



    #include <a_samp>


    main() {
    Stack();
    }


    Stack(count = 0) {
    new
    tmp[4_055] = "Hello World";
    #pragma unused tmp
    if(0 < (--count)) {
    Stack(count);
    }
    }


    in that case put the tmp outside (global) or use a local static variable


    ich nehme mal an das es was mit der count funktion zu tun hat die du gebastelt hast. weist du wie man das wieder hinbekommt ?


    //EDIT:
    habe herrausgefunden woran es lag, und zwar einige leute meinten auch das einige strings zu lang sein könnten. Anscheinend ist dem compiler dieser string hier zu lang: new string[MAX_PLAYER_NAME * MAX_PLAYERS];


    denn wenn ich ihn auskommentiere und einen string erstelle der die länge 128 hat funktioniert es, jetzt die frage welche länge man jetzt nimmt :I, wenn ich mache: new string[MAX_PLAYER_NAME + MAX_PLAYERS]; würde es dann auch funktionieren ?

    oh, haha du hast recht das ergibt wirklich keinen sinn, ich habe mir das aus nem anderem befehl einkopiert und vergessen das zu verändern. Also angenommen ich mache das mit x weg und sage einfach:
    format(string,sizeof(string),"%s%s",string,Spielername(i)); und dann halt format(string,sizeof(string),"%s",string);
    Könnte man jedem spieler der ein ticket erstellt dann diese zeile zuordnen ? Wenn ja währe es toll wenn du mir erklären würdest wie :)


    PS: am handy geschrieben

    Ah, danke dir jetzt kann ich das Scheine System hoffentlich fertig stellen :D


    Zu dem Support System:


    Der Befehl für das Ticket erstellen erstmal nur Bug Meldungen:

    Code
    ocmd:ticket(playerid,params[])
    {
        ShowPlayerDialog(playerid,DIALOG_SUPPORT,DIALOG_STYLE_LIST,"Support System","Bug Melden","Ok","Abbrechen");
    	return 1;
    }


    Der Befehl um die Tickets anzusehen:

    Und der Krams aus OnDialogResponse:



    Is villeicht nen bissl umständlich aber mir ist nicht eingefallen wie ich es sonst machen könnte :)



    MFG: KiraYamato

    Hi,


    Zwei Fragen:


    1. ich möchte ein Gebeschein befehl machen mit dem der Spieler den schein akzeptieren muss, das soll so aussehen:


    Das im Dialog MSG BOX
    "Fahrlehrer [NAME] möchte dir den Autoschein verkaufen" Annehmen, Ablehnen


    und jetzt wenn er akzeptiert hat soll zu dem Fahrlehrer diese nachricht geschickt werden:
    "Du hast [NAME] den Autoschein verkauft"


    und zu dem Spieler:
    "Fahrlehrer [NAME] hat dir den Autoschein verkauft"


    und nun die frage:
    Wie bekomme ich es hin da dies ja in OnDialogResponse geschieht den namen des Fahrlehrers auszugeben und eine nachricht an ihn zu senden der ja normal pID ist. Der Spieler der annehmen oder ablehnen muss ist playerid von ihm kann ich den namen mit meiner Funktion SpielerName(); ausgeben aber ich bekomme es nicht hin den namen des Fahrlehrers auszugeben ohne kompliziertes for schleifen gewurschtel.


    2. Ich möchte ein support system machen wo die Admins mit einem befehl in dem DIALOG_STYLE_LIST die leute angezeigt bekommt die ein ticket erstellt haben, soweit habe ich es auch schon geschafft, nun möchte ich aber wenn man auf den namen klickt das ticket von dem spieler anzeigen lassen.


    Das Problem ist jetzt das icht nicht weis wie man das macht normal würde man das ja mit if(listitem==0) usw machen aber da man ja keine gewisse anzahl hat wie viele listitems es jetzt gibt möchte ich wissen wie man es macht das man die namen in der liste abfragen kann.


    Ich hoffe ihr könnt mir helfen :)


    MFG: KiraYamato