Beiträge von IPrototypeI


    Arbeitest du mit statischen Ports oder Dynamischen. Bei statischen werten hast du die möglichkeit das ganze direkt über das listitem dies zu tun sonst musst du die anklickbare ids in einem anderen array speichern. Ich würde dir noch empfehlen sollten es statische werte sein ein extra string nimmst und das bei OnGameModeInit zu formatieren damit entlastest du auch dein string ein wenig obwohl das auch geht solle es dynamisch sein in der hinsicht das du den string neu formatieren lässt sollte was geändert werden.

    Welchen Streamer hast du? Wenn du den von Inconito hast, wird dieser nie überlastet sein. Dieser lädt allerdings nur 500 Objekte in deinem Umkreis.


    Der lädt bis zu 1000 muss man jedoch einstellen der standart wert ist 500 jedoch sollte man CreateObject nicht verwenden

    Wie funktioniert das genau oO
    Das ist doch ein Pointer oder nicht? Funktioniert das ohne eine Include?
    Warum machst du das so?


    und das -> kenn ich von rCmd... ^^ das sieht auch sehr nice aus ^^


    B2T: Ich finde auch dass es mal was anderes ist, ich kenne mich so oder so mit #emit und #pragma nicht so aus ^^
    Wenns funktioniert 10/10 ;)


    Das was der liebe BlackAce gepostet hat basiert einfach auf 2 defines warum er das macht musst ihn selbst fragen vllt um leut ezu verwirren
    aber ein besonderen zweck hat es nicht

    sieht gut aus 10/10


    :D zumindest gefällt mir der aufbau vom cmd
    sprich dsa " cmd->"Command"(playerid,params[])
    aber ürgendwie ähnelt dsa an cmd :D


    mfg kyle


    Danke für die bewertung die grund idee für das define hab ich mir bei BlackAce abgeschaut :D wo dieser mir mal ein define für eine irentierte
    setzen eines arrays zeigen wollte wo wir mal das gespräch so generel mal hatten.
    Aber ich sags mal so wer das so nicht nutzen will kann es ja im define ändern ist jetzt nicht auf dich bezogen :D.


    //edit das einbringen von #emit sollte mal was neues darstellen zu dem versuch ich mich auch mit dem thema auseinander zu setzen.
    Jedoch ist das hooken mit state schneller und sicherer als die verwendung von CallLocalFunction um eine funktion zu hooken.
    Und ein thema zu emit es sind opcodes zu dem sollte das auch schneller sein als CallLocalFunction es wird durch kein umweg gemacht ich hab mir auch mal eine alternative angesehen von Zeex um Functionen auszurufen mit unendliche vielen parametern was so ähnlich ist wie CallLocalFunction nur im emit format da ist dies ein weitaus kürzerer code. Ich kann ja gerne mal schauen was so alles schneller ist.

    [tabmenu]


    [tab='Allgemein']



    Guten Tag da ich mich mal
    Qualifizieren wollte für das Skripting Battle Turnier so just4fun
    habe ich die letzten Tage mich wieder mehr mit
    #emit auseinander gesetztund das ist dabei herraus gekommen ist
    aufjedenfall mal was anderes.



    Wie es vom Speed im Vergleich zu den anderenCommand-Prozessoren ist kann
    ich momentan nicht sagen ich hab noch keinen gemacht jedoch generel von der hooking
    Art dürfte das ganze doch sehr rapide sein.Die einzige momentane besonderheit ist außer das eure Befehle schneller aufgerufen werden
    ist das die schreibweise egal ist ob /TeST oder /TEST ist vollkommen egal es wird trotzdem erkannt.




    Ein großen Dank geht an

    • Y_LESS #emit Tutorial und seine optimierte version von tolower
    • Zeex interessante amx includes auf github
    • BlackAce für das Testen
    • SynonymousZ für das Testen


    [tab='Beispiel']

    //Example
    CMD-> test(playerid,params[])
    {
    printf("ausgegeben %d |%s|",playerid,params);
    return 1;
    }


    [tab='Downloads']




    http://pastebin.com/z9VyWL3Z


    [tab='Edits']
    1. Text entfernt
    2.- 6. Überarbeitung
    [/tabmenu]

    Bezüglich des pfeiles ja was anderes habe ich nicht getestet kann jedoch wie bei dir vllt nicht ganz richtig sein (seitenverkehrt)



    if (strcmp("/test", cmdtext, true, 10) == 0){
    an = true;
    var = CreatePlayerObject(playerid,1318,0.0,0.0,0.0,0.0,0.0,0.0);
    return 1;
    }

    public OnPlayerUpdate(playerid)
    {
    if(an)SetArrowPos(playerid,GetPlayerVehicleID(playerid),var,0.0,0.0);
    return 1;
    }


    Wieso redundant?


    Der Source-Code ist für manche vielleicht hilfreich? :huh:


    Da unser lieber Schwabbel mein einen code getestet hat SetArrowPos(playerid,vehicleid,objectid,Float:X, Float:Y)
    welche leider falsch war von der berechnung naja trollbeit bringt unterschwellig nicht alles zum laufen.



    Poste ich den Code nochmal welche diesmal Perfekt funktioniert


    stock SetArrowPos(playerid,vehicleid,objectid,Float:X, Float:Y){
    new Float: Pos[4];
    GetVehiclePos(vehicleid, Pos[0], Pos[1],Pos[2]);
    GetVehicleZAngle(vehicleid,Pos[3]);
    AttachPlayerObjectToVehicle(playerid,objectid, vehicleid, 0.0, 0.0, 1.5, 0.0, 90.0,atan2(Pos[1] - Y,Pos[0] - X)-Pos[3]);
    return 1;
    }

    Diese ID, 344, definiert den Typ, das Modell des Objekts - nicht das physische Objekt selbst.
    An eine ID die in GetObjectPos eingesetzt werden kann, kommt man nur mit CreateObject - und das wird beim Wurf
    einer Granate natürlich nicht aufgerufen.


    Das einzigste was man da machen kann ich ein object zu erstellen auf dem boden + dem Partikel Effect( ist auch ein Object)
    und davon kannst die position ermittlen sollte sich ein spieler im umkreis befinden.
    Wen man noch gut in mathe ist kann man noch ein flugbogen via MoveObject machen.

    Liegt daran das du ein ! bei IsPlayerNPC gemacht hast.. bei OnPlayerAccountLoad
    Richtig:
    if(!IsPlayerConnected(playerid) || IsPlayerNPC(playerid)) return 1;


    Abgesehen mal davon würde das sein momentanes problem nicht beheben da dies beim registrieren kommt also sein dialog wird imme rneu aufgerufen.


    Hmmm ich versteh auch nicht wo der Fehler sein kann. Langsam verzweifel ich


    Du kannst mal zwei Sachen machen in wie ich schon gesagt habe in die MySQL Log schauen und wenn immer die registrierung aufgerufen wird kannst du mal
    das was in den Dialogen steht mal umbenennen das weisst du wenigstens was er dich immer zurück schmeißt und an welcher stelle das ist. Weil ich kann auch nicht Hellsehen
    sondern auch nur vermuten an was liegen könnte. Ein Fehler sehe ich auch nicht. Jedoch was mir noch einfallen würde ist das du das neuste R7 plugin verwendest also R7 r15
    war das.


    Es kann auch am plugin liegen so ist es nicht. Verwendest du das sscanf plugin ?