Beiträge von Kaliber

    Also um dieses Problem zu lösen, gibt es mehrere Möglichkeiten.


    Zum einen, kannst du eine Funktion (es heißt Funktion, nicht stock) verwenden, allerdings müsstest du dann mit Argumenten arbeiten, wie du schon festgestellt hast ;)


    Wenn man das noch mit OP Code verbindet, kannst du z.B. eine gute Funktion dafür schreiben:


    Spoiler anzeigen
    stock SCM(playerid, color, fstring[], {Float, _}:...) {
    new n = numargs() * 4;
    if (n == 3 * 4) return SendClientMessage(playerid, color, fstring);
    new message[128],arg_start,arg_end,i = 0;

    Spoiler anzeigen
    #emit CONST.pri fstring
    #emit ADD.C 0x4
    #emit STOR.S.pri arg_start

    Spoiler anzeigen
    #emit LOAD.S.pri n
    #emit ADD.C 0x8
    #emit STOR.S.pri arg_end

    Spoiler anzeigen
    for (i = arg_end; i >= arg_start; i -= 4) {
    #emit LCTRL 5
    #emit LOAD.S.alt i
    #emit ADD
    #emit LOAD.I
    #emit PUSH.pri
    }

    Spoiler anzeigen
    #emit PUSH.S fstring
    #emit PUSH.C 128
    #emit PUSH.ADR message
    #emit PUSH.S n
    #emit SYSREQ.C format
    i = n / 4 + 1;
    while (--i >= 0) {
    #emit STACK 0x4
    }
    return SendClientMessage(playerid, color, message);
    }


    Allerdings kann man es wie oben schon genannt auch noch anders lösen, eine alternativ Funktion wäre:


    http://forum.sa-mp.com/showthr…ientMessageEx#post1189734


    oder du nutzt ein Makro:


    new buffer[144 + 1];
    #define SCM(%0,%1,%2,%3) format(buffer, sizeof(buffer),%2,%3) && SendClientMessage(%0, %1, buffer)


    Alternativ kannst du aber auch noch Plugins benutzen:


    [ PLUGIN ] Better Format


    mfg. :thumbup:

    Wie kann ich es dann lösen?


    Naja, du müsstest dir ein Programm in C# oder C++ oder Java oder what ever schreiben und dann könntest du den Prozess filtern und z.B. SendKeys verwenden um deine Login-Daten die du als String o.ä. gespeichert hast dort dann einzugeben.


    Aber du musst das Rad nicht neu erfinden, google doch einfach ein wenig, da gibt es bestimmt schon "Auto-Login" Clients für League of Legends ^^


    mfg. :thumbup:

    Nun, dass League Of Legends und TeamSpeak³ geöffnet werden kannst du ganz einfach machen mit z.B. Diesem Code:


    Code
    start "" "C:\Riot Games\League of Legends\lol.launcher.exe"
    start "" "C:\Program Files\TeamSpeak 3 Client\ts3client_win64.exe"


    Musst dann halt evtl die Pfade anpassen ;)


    Dass mit den Login-Daten kannst du über eine Batch Datei nicht lösen ;)


    mfg. :thumbup:

    Selbst wenn die DrawDistance zu hoch eingestellt sein sollte, bedenke, dass die StreamDistance auch noch eine Rolle spielt.
    D.h. ist das Objekt nicht eingestreamt, wird die "DrawDistance" auch nicht "beachtet"


    Jap...sry mein Fehler, ich rede natürlich von der StreamDistance ^^

    Joa, schreib es so:


    public SpielerSpeichern(playerid)
    {
    if(IsPlayerNPC(playerid) || !Spieler[playerid][pEingeloggt])return 1;
    format(longquery,sizeof(longquery),"UPDATE `accounts` SET `Admin`='%i',`Level`='%i',`Geld`='%i',`Skin`='%i',`Hanfsamen`='%i',`Kokssamen`='%i',`LSDsamen`='%i',`Fraktion`='%i',`Leader`='%i',",Spieler[playerid][pAdmin],Spieler[playerid][pLevel],Spieler[playerid][pGeld],Spieler[playerid][pSkin],Spieler[playerid][pHanfsamen],Spieler[playerid][pKokssamen],Spieler[playerid][pLSDsamen],Spieler[playerid][pFraktion],Spieler[playerid][pLeader],Spieler[playerid][pAccountID]);
    format(longquery,sizeof(longquery),"%s`Rank`='%i',`MuteTime`='%i',`Muted`='%i',`Banned`='%i',",longquery,Spieler[playerid][pRank],Spieler[playerid][pMuteTime],Spieler[playerid][pMuted],Spieler[playerid][pBanned]);
    format(longquery,sizeof(longquery),"%s`Death`='%i',`Totx`='%f',`Toty`='%f',`Totz`='%f',`Totint`='%i',`Totvirtual`='%i',`Deathtime`='%i',",longquery,Spieler[playerid][pDeath],Spieler[playerid][tot_x],Spieler[playerid][tot_y],Spieler[playerid][tot_z],Spieler[playerid][tot_int],Spieler[playerid][tot_world],Spieler[playerid][pDeathTime]);
    format(longquery,sizeof(longquery),"%s`Prison`='%i',`PrisonTime`='%i',`Geschlecht`='%i',`Age`='%i',`Letzte_X`='%f',`Letzte_Y`='%f',`Letzte_Z`='%f',",longquery,Spieler[playerid][pPrison],Spieler[playerid][pPrisonTime],Spieler[playerid][pSex],Spieler[playerid][pAge],Spieler[playerid][LastInGamePos_x],Spieler[playerid][LastInGamePos_y],Spieler[playerid][LastInGamePos_z]);
    format(longquery,sizeof(longquery),"%s`Letzte_Interior`='%i',`Letzte_VirtualWorld`='%i' WHERE `AccountID`='%i'",longquery,Spieler[playerid][LastInGamePos_int],Spieler[playerid][LastInGamePos_world],Spieler[playerid][pAccountID]);
    mysql_function_query(db,longquery,false,"","");
    return 1;
    }


    Dann sendet der nur 1nen Query an die Datenbank anstatt 5 ^^


    PS: longquery, sollte einen Array von so ca. 600 haben... :D


    mfg. :thumbup:

    Beim Zivispawn, wo ebenfalls von meinem Freund gemappt wurde sind es 716 und bei der Fahrschule tatsächlich 999.


    Dann nutzt du entweder noch in deinem Script CreateObject...nutze wirklich überall CreateDynamicObject (auch in Filterscripts etc)


    Oder du hast die StreamDistance bei manchen Objekten zu hoch eingestellt, so dass man sie von überall aus sehen kann...bzw in dieser Reichweite.


    Oder die Fahrschule ist einfach wirklich schlecht gemappt und es sind mehr als 1000 Objekte auf einem Fleck :rolleyes:


    mfg. :thumbup:

    Wie kann ich per Befehl die aktuellen Koordinaten via ocmd und sscanf anzeigen lassen? Bekomme das irgendwie nicht hin, dass die angezeigt werden im Chat.


    Einfach so:
    ocmd:coords(playerid) {
    new Float:p[3],string[64];
    GetPlayerPos(playerid,p[0],p[1],p[2]);
    format(string, sizeof string,"Deine Koordinaten sind X: %.02f | Y: %.02f | Z: %.02f",p[0],p[1],p[2]);
    return SendClientMessage(playerid,-1,string);
    }


    mfg. :thumbup:

    Das objekt kommt einfach nicht.


    Also bei mir schon, zwar nicht an seiner richtigen Position, aber es erscheint ^^


    Nutzt du evtl eine Commandprozesser oder ist evtl der Codeblock in einem ungültigen Directive?


    Schreib mal einen print rein und schau ob der Befehl überhaupt aufgerufen wird, denn das müsste funktionieren ;)


    mfg. :thumbup: