Beiträge von PStar

    Ok Verzeihung, ich habe einen Dialog in den ich einen inputtext eingebe.
    Dieser soll abgespeichert werden und dann im Textdraw ausgegeben werden.
    Alles funktioniert, schön und gut aber es gibt Komplikationen mit der Kamera sie ist nicht mehr BehindPlayer.. und es verändert sich die Sicht usw....
    Also muss irgendwo ein Fehler sein bei der Abfrage oder bei der wiedergabe der Variable.

    ocmd:zustand(playerid,params[])
    {
    new string[128];
    new Zustand[12] = 100;
    format(string, sizeof(string),"Leben: %d%", Zustand);
    ShowPlayerDialog(playerid, DIALOG_ZUSTAND, DIALOG_STYLE_MSGBOX, "Zustand", string, "Ok", "");
    return 1;
    }


    So ich bin gerade dabei den Zustand herauszufinden.
    Am Anfang sollte der Zustand immer 100% sein.
    Aber sollte nach 10 Sekunden immer 1% tiefer gehen.
    Wie genau kann ich das umsetzen?
    Mit fehlt jetzt etwas die Idee.

    Also ich habe oft gehört das ein Script welches viele Ressourcen zieht auch laggen kann und das ganze, was natürlich auch logisch klingt.
    Frage 1: Mich würde mal interessieren was denn alles genau viele Ressourcen zieht, also unnötige Zeilen die man sich sparren kann?
    Frage 2: Wie schauts aus mit ocmd: wenn alle Befehle mit ocmd: und strcmp sind ist das schlecht, oder was ist am besten?
    Frage 3: Und ist es schlimm wenn man viele publics und stocks benutzt oder sollte man dies lieber vermeiden?
    Frage 4: Und wie kann man eigentlich die Ressourcen eines Scripts herausfinden? An der Speicherkapazität eines Scripts?
    Frage 5: Wenn ja wie viele MB's sollte ein komplettes, Ressourcen sparrendes Script betragen?

    ja ich sehe es lösche das <---ö
    Gibt aber immer irgendwie noch Probleme mit TextDrawDestroy.
    C:\Users\Alex\Desktop\Scripts\Samp-Server\filterscripts\deaglesystem.pwn(373) : warning 202: number of arguments does not match definition
    C:\Users\Alex\Desktop\Scripts\Samp-Server\filterscripts\deaglesystem.pwn(374) : warning 202: number of arguments does not match definition
    C:\Users\Alex\Desktop\Scripts\Samp-Server\filterscripts\deaglesystem.pwn(375) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Warnings.

    Errors:
    C:\Users\Alex\Desktop\Scripts\Samp-Server\filterscripts\deaglesystem.pwn(366) : error 001: expected token: "(", but found "ö"
    C:\Users\Alex\Desktop\Scripts\Samp-Server\filterscripts\deaglesystem.pwn(366) : error 001: expected token: ";", but found "-identifier-"
    C:\Users\Alex\Desktop\Scripts\Samp-Server\filterscripts\deaglesystem.pwn(367) : error 001: expected token: ";", but found "ö"
    C:\Users\Alex\Desktop\Scripts\Samp-Server\filterscripts\deaglesystem.pwn(369) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Scripts\Samp-Server\filterscripts\deaglesystem.pwn(371) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Scripts\Samp-Server\filterscripts\deaglesystem.pwn(378) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Kommen leider Errors wenn ich das so mache:
    forward löschetextdraw();
    public löschetextdraw()
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i, "Teilnehmer"))
    {
    TextDrawDestroy(i, Textdraw0);
    TextDrawDestroy(i, Textdraw1);
    TextDrawDestroy(i, Textdraw2);
    }
    }
    return 1;
    }

    Und wie kann ich den stock auffrufen ohne Timer:
    SetTimer("zeigetextdraw",1,false);


    Danke für deine Hilfsbereitschaft.

    Ok danke schon mal für die Hilfe.
    Also ich mache alle Textdraws bzw. die CreateTextdraws unter OnGameModeInit.......
    Und lass den stock so wie er ist, also den zweiten Stock:
    forward zeigetextdraw();
    public zeigetextdraw()
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i, "Teilnehmer"))
    {
    TextDrawShowForPlayer(i, Textdraw0);
    TextDrawShowForPlayer(i, Textdraw1);
    TextDrawShowForPlayer(i, Textdraw2);
    }
    }
    return 1;


    Und rufe Ihn einfach so auf:
    SetTimer("zeigetextdraw",1,false);
    Oder gibt es eine bessere Option ihn aufzurufen?

    New Text:Textdraw0 usw. wurde gemacht?
    Vermutlich ja.


    Und warum in einen Stock? Und wird der Stock aufgerufen? Wenn ja wo?


    Habe ein stock gemacht, weil bei gamemodeinit tauchen die manchmal nie auf oder sie tauchen halt eben auf...
    Aber die sollen nicht permanent angezeigt werden sonder lediglich sobald es beginnt.


    Die Dialoge werden so:
    unter einem Befehl z.B.
    ocmd:/hilfe
    {
    SetTimer("zeigetextdraw",1,false);
    return 1;
    }
    aufgerufen.

    Es sollte unten rechts eine kleine Box dargestellt werden mit Text: xx.
    Doch leider ist keine der Boxen identisch mit den Textdraws von mir.
    Also kann man ausschließen das nur einfach ein Teil nicht dargestellt wird.
    Sondern es wird alles nicht dargestellt.


    @Unbekannter Soldat:
    Woran kann das den liegen.
    Ich weiß aufjedenfall das die Textdraws alle richtig erstellt werden.
    Aber anscheinend kommt es zu einem Problem beim anzeigen.
    Möglich das die Schleife das verursacht das Problem?


    Probiers mal so ?