Beiträge von Hybris

    Einzelne Buchstaben in ein Object packen und zufällig zusammensetzen:
    s := "Roleplay"
    o:=[]
    loop % strlen(s)
    {
    o.Insert(substr(s,A_Index,1))
    }
    b:=""
    Loop % o.MaxIndex()
    {
    Random,r,1,% o.MaxIndex()
    b := b o[r]
    o.Remove(r)
    }
    msgbox % b

    Zitat

    SAMP UDF für AutoHotKey


    Diese Sammlung von Funktionen ermöglicht es, auf GTA bzw. SAMP zuzugreifen, um so den Chat zu manipulieren oder Daten auszulesen.


    Die UDF ist eine Alternative zur API von agrippa1994, welche ohne eine zusätzliche Datei "DLL" eingebunden werden kann.


    Code
    ; #####################################################################################################################; # SAMP-Functions:                                                                                                   #; #     - isInChat()                                check if dialog or chatbox is active                              #; #     - getUsername()                             get local player name                                             #; #     - getId()                                   get local player id                                               #; #     - sendChatMessage(wText)                    send a message to the server                                      #; #     - addMessageToChatWindow(wText)             add a "private" text to the chatbox                               #; #     - showGameText(wText, dwTime, dwTextsize)   show a text on the sreen                                          #; #     - showDialog(dwStyle, wCaption,             show a dialog-box                                                 #; #                   wInfo, wButton1)                                                                                #; #     - playAudioStream(wUrl)                     play an "audio stream"                                            #; #     - stopAudioStream()                         stopp an audio stream                                             #; #     - blockChatInput()                          call this func to block chat messages to server                   #; #     - unBlockChatInput()                        call this func to unblock chat messages to server                 #; # ----------------------------------------------------------------------------------------------------------------- #; #     - patchRadio()                              (internal stuff)                                                  #; #     - unPatchRadio()                            (internal stuff)                                                  #; #####################################################################################################################; #     - getPlayerNameById(dwId)                   get some player's name                                            #; #     - getPlayerIdByName(wName)                  get some player's id                                              #; #     - getPlayerScoreById(dwId)                  get some player's score                                           #; #     - getPlayerPingById(dwId)                   get some player's ping                                            #; #     - isNPCById(dwId)                           check if player is a NPC                                          #; # ----------------------------------------------------------------------------------------------------------------- #; #     - updateScoreboardDataEx()                  (internal stuff)                                                  #; #     - updateOScoreboardData(ex=0)               (internal stuff)                                                  #; #####################################################################################################################; # Player Functions :                                                                                                #; #     - getPlayerHealth()                         get HP                                                            #; #     - getPlayerArmor()                          get ARMOR                                                         #; #     - getPlayerInteriorId()                     get interior id                                                   #; #     - getPlayerMoney()                          get player money                                                  #; #####################################################################################################################; # Vehicle Functions:                                                                                                #; #     - isPlayerInAnyVehicle()                    check if the local player is inside some vehicle                  #; #     - isPlayerDriver()                          check if player is driver                                         #; #     - getVehicleHealth()                        get vehicle health                                                #; #     - getVehicleType()                          get vehicle type                                                  #; #     - getVehicleModelId()                       get vehicle model id                                              #; #     - getVehicleModelName()                     get vehicle model name                                            #; #     - getVehicleLightState()                    get vehicle light state                                           #; #     - getVehicleEngineState()                   get vehicle engine state                                          #; #     - getVehicleLockState()                     get vehicle door lock state                                       #; #####################################################################################################################; # Coordinates:                                                                                                      #; #     - getCoordinates()                          get local player's position                                       #; # ----------------------------------------------------------------------------------------------------------------- #; #     - calculateZone(X, Y, Z)                    get zone                                                          #; #     - calculateCity(X, Y, Z)                    get city                                                          #; #     - getCurrentZonecode()                      get zone code (buggy)                                             #; #####################################################################################################################; # Internal Functions:                                                                                               #; #     - initZonesAndCities()                                                                                        #; #     - AddZone(Name, X1, Y1, Z1, X2, Y2, Z2)                                                                       #; #     - AddCity(Name, X1, Y1, Z1, X2, Y2, Z2)                                                                       #; #####################################################################################################################; # Memory Functions:                                                                                                 #; #     - checkHandles()                                                                                              #; #     - refreshGTA()                                                                                                #; #     - refreshSAMP()                                                                                               #; #     - refreshMemory()                                                                                             #; #     - getPID(szWindow)                                                                                            #; #     - openProcess(dwPID, dwRights)                                                                                #; #     - closeProcess(hProcess)                                                                                      #; #     - getModuleBaseAddress(sModule, dwPID)                                                                        #; #     - readString(hProcess, dwAddress, dwLen)                                                                      #; #     - readFloat(hProcess, dwAddress)                                                                              #; #     - readDWORD(hProcess, dwAddress)                                                                              #; #     - readMem(hProcess, dwAddress, dwLen=4, type="UInt")                                                          #; #     - writeString(hProcess, dwAddress, wString)                                                                   #; #     - writeRaw(hProcess, dwAddress, data, dwLen)                                                                  #; #     - callWithParams(hProcess, dwFunc, aParams, bCleanupStack = true)                                             #; #     - virtualAllocEx(hProcess, dwSize, flAllocationType, flProtect)                                               #; #     - virtualFreeEx(hProcess, lpAddress, dwSize, dwFreeType)                                                      #; #     - createRemoteThread(hProcess, lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter,                  #; #                             dwCreationFlags, lpThreadId)                                                          #; #     - waitForSingleObject(hThread, dwMilliseconds)                                                                #; #     - __ansiToUnicode(sString, nLen = 0)                                                                          #; #     - __unicodeToAnsi(wString, nLen = 0)                                                                          #; #####################################################################################################################



    SAMP-UDF


    Ihr braucht diese AHK Version: http://ahkscript.org
    Kompiliert mit ANSI oder UNICODE32
    Unterstützt nur SAMP Client Version: 0.3z R1


    Ihr könnt gerne Fragen stellen und Bugs melden.


    Die UDF basiert auf Frozenbrains Projekt.
    Ich habe nichts mit Suchty112's Projekt zutun. Er hat diese Funktionen weder entwickelt noch irgendwie dazu beigetragen.
    :rolleyes:

    Sieht ganz gut aus.
    Jetzt müsst ihr es nur erweitern.
    Ihr habt im Grunde genommen 2 Möglichkeiten.
    -ihr macht es wie in der API von Santiago/Agrippa (Dll in gta Process laden)
    Hat den Vorteil, dass ihr direkten Speicherzugriff habt
    -oder wie in der UDF, man schreibt opcodes in einen reservierten Speicher und führt das aus


    Ihr solltet euch mit Assembler beschäftigen und dann klappt das schon ^^

    Wenn du die UDF hast guck in die .ahk datei dort stehen alle funktionen drinne und werden auch noch gut erklärt, dies dürftest du sogar verstehen. Die UDF empfehle ich dir aber nicht, nutze lieber die von Slider programierte API da ich kaum noch Updates von der UDF sehe.


    Naja es ist ja nicht so, dass ich mit Vorschägen überhäuft wurde, aber ja stimmt schon hab da nix mehr gemacht.. Aber die UDF liefert doch schon viele Funktionen..