Beiträge von Kaliber

    Schreib das mal so:


    new string[64];
    GetPlayerName(playerid,string,MAX_PLAYER_NAME);
    format(string,sizeof string,"/Accounts/%s.ini",string);
    format(string,sizeof string, dini_Get(string, "Passwort"));
    if(!strcmp(inputtext, string))
    {
    //Hier ist das pw richtig
    }
    else
    {
    //Hier falsch!
    }


    mfg. :thumbup:

    Hier ist der Fehler nämlich nicht -> https://github.com/Reclusior/Open-Pawn/b…/cmdprocess.inc


    Das sieht ja schön optimiert aus, man kann auch strdel so besser schreiben:


    cmdtext[k+1] = '\0';


    Dann spart man sich die Funktion ;)


    Das liegt an gewissen Plugins zum Beispiel beim JIT Compiler, sonst passiert das normal nicht.


    Mag sein...


    Ist ja auch egal wir müssen uns hier jetzt nicht um ein paar ms streiten, ich habe verstanden was ihr mir sagen wolltet :rolleyes:


    IsActorInRangeOfPoint


    Ja...und jetzt? :huh:

    da Kaliber meinte er kenne sich in der Materie nicht so gut aus .


    Ich habe gesagt, dass es des öftern crasht bzw nicht immer richtig aufgerufen wird...


    Genauso wie dein CMD-Prozessor...


    Es kommt da halt manchmal zu fehlern...


    Aus dem Grund benutze ich den nativen, aber dafür auch sicheren weg :rolleyes:

    Dann schreib es so:


    main()
    {
    print("\n--------------------------------------");
    print(" Filterscript by ChinG.");
    print("--------------------------------------\n");
    return 1;
    }


    mfg. :rolleyes:

    d.h. es darf nicht so sein?


    Richtig, so darf es nicht sein!


    Na einfach so:


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(killerid == INVALID_PLAYER_ID) return 1;
    SendClientMessage(killerid, KID_COL_GRUEN, "Du hast 100$ Killbelohnung erhalten!");
    GivePlayerMoney(playerid,-100);
    GivePlayerMoney(killerid,100);
    return 1;
    }


    mfg. :thumbup:

    nep.. Nirgends definiert..


    Du darfst diese Funktion nicht auf eine Globale Ebene schreiben...sprich:


    //Hier darf das nicht stehen!
    GivePlayerMoney(...);


    public xx() {
    //Muss lokal sein, z.B. hier:
    GivePlayerMoney(...);
    }


    mfg. :rolleyes:

    Kaliber: in dem anderen Thema wurde GetPlayerTargetPlayer, das du auch zitiert hast, erwähnt. Eventuell kannst du das für Actors auch realisieren. Sprich, ein Callback, wenn man auf einen Actor zielt.


    Gibt es auch eine Möglichkeit rauszufinden ob man auf den Actor zielt?


    So ist nun drinnen ;)


    Schöne Include 9/10


    Hast du Verbesserungsvorschläge / Wünsche? :)


    Nette, Idee das so zu lösen, aber unsinnig, wenn der Actor nicht existent ist, so kann man auch Rechnenzeit verschwenden


    Nun sagen wir es mal so, es ist nicht unsinnig! Wenn er da z.B. 1000 eingibt...dann gibts n Array out of Bounds Fehler...also macht schon Sinn, aber ich habe da mal was ergänzt...


    Ich würde dir auch raten, nicht die Funktion via CallLocalFunction aufzurufen, sondern via einfachen Funktionsaufruf


    Das hat aber den Nachteil, dass der Besitzer von dem Gamemode auf diesen Callback implementiert haben muss, sonst bekommt dieser einen Fehler.
    Zudem handelt es sich um Callbacks wo es sagen wir mal auf 50ms nicht so ankommt ^^


    oder einfach via #emit.


    Da habe ich nicht so gute Erfahrungen mit gemacht...da failt das manchmal oder der Server crasht...


    massig Zeit


    ...Wir reden hier über extrem kleine Millisekunden Bereiche...wenn nicht sogar Nanosekunden...


    Da habe ich lieber ein System, welches stabil ist und keine Fehler kommen, als 10ms gespart dafür aber kritisch bzw mit mehr Auffwand (Callbacks implementieren).


    PS: Wenn jemand darauf Wert legt und diese Funktionen drinnen hat, kann er das ja auch umschreiben, ich meine eine Zeile zu ersetzen ist jetzt keine Sache der Unmöglichkeit :D


    mfg. :thumbup:

    Wenn ich jetzt Pro Stadt 500 Actors erstelle, die durch die Stadt laufen, evtl. verschiedene Aktionen tätigen..


    Wesentlich besser als wenn es 500 NPCs wären :)


    Allerdings liegt das Limit bei 1000 Actors ;)


    Wie schauts mit Fahrzeugen aus?
    Actors in Cars undso..


    Momentan gar nicht möglich, müssen auf Kalcor warten...aber das kommt bestimmt bald :)

    Kaliber: in dem anderen Thema wurde GetPlayerTargetPlayer, das du auch zitiert hast, erwähnt. Eventuell kannst du das für Actors auch realisieren. Sprich, ein Callback, wenn man auf einen Actor zielt. ;)


    Ja klar kann ich machen, aber erst heute Abend bin noch unterwegs :)


    Wenn wer noch weitere Ideen hat, gerne Posten :)


    mfg. :thumbup:

    Jetzt nurnoch das mit dem zielen und dann währ alles perfekt :b


    Kannst es so machen:


    new target[MAX_PLAYERS];


    public OnPlayerUpdate(playerid)
    {
    new target = GetPlayerTargetPlayer(playerid);
    if(target == INVALID_PLAYER_ID && !target[playerid]) return 1;
    if(target == INVALID_PLAYER_ID) return target[playerid]=0;
    if(!IsPlayerNPC(target)) return 1; //Hier prüfen ob es der richtige NPC ist!
    if(!target[playerid]) target[playerid] = gettime()+10;
    else {
    if(gettime() >= target[playerid]) {
    //Hier hat er 10Sekunden auf den Bot gezielt!
    }
    }
    return 1;
    }


    mfg. :thumbup: