Skip to content
Home > Programming > Paltalk 10.2 Programming Updates

Paltalk 10.2 Programming Updates

Viewing 15 posts - 31 through 45 (of 52 total)
  • Author
    Posts
  • #186925
    Admin
    Administrator

    Thanks String 🙂

    #186924
    light 2012
    Member

    hi
    There is something wrong in admin bot
    If there is a long comment, it doesn’t appear in text6 or text5
    the problem in getlastline code
    Gets the last line ,,,,doesn’t get the full comment 🙄 ❓

    #186923
    String
    Member

    If the sent text is so long that it takes 2 lines, then only the last line will be returned.

    Eg:
    PalUser: Some really long text string that
    wraps to the next line.

    Your “getlastline” function will return: “wraps to the next line.” As its name implies.

    You can get around some of this by stretching the chat room window to its maximum width. Also, removing the text formatting for incoming text also will help.

    #186922
    light 2012
    Member

    @String wrote:

    You can get around some of this by stretching the chat room window to its maximum width. Also, removing the text formatting for incoming text also will help.

    I know, but this solution doesn’t work always
    How to get a full comment by code
    I saw this in some programs
    🙄

    #186921
    Departure
    Member

    Hey loco, I think its time to start hooking paltalk text instead using Sendmessage/Postmessage types of codes to get text and send text, I also noticed you talked about cpu reaching 100% in a couple of recent threads. I highly suggest letting paltalk do the work for you and just “relaying” the incoming and outgoing to text to your applications, this should reduce a lot of your codes and make it a lot easier to update once you get the hang of it. just about every third party program for paltalk is based around incoming and outgoing text, so if you make this part easy then its only the imagination and good use of parsing the text that will determine how many different paltalk applications can be built. If you find it too much a task to hook then use the already created balool which does all the work for you and just release a series of plugins as applications for paltalk.. Otherwise if your ready to take a new step in programming and are willing to hook the text I can show you how it can be done using code injection methods to intercept incoming text and hows to send text straight to paltalk using the same method.

    Anyway good job updating the codes it will be useful to many…

    #186920
    String
    Member

    Post a pal text in/out hooking example. I’d be very interested in learning the process.

    #186919
    Admin
    Administrator

    Dep man lol Im ready for anything new just point the way I usually learn fast 🙂 even thou is summer I down for that idea :swift: thanks

    #186918
    Departure
    Member

    I am at a work doing a training course for 2 weeks(locked down at a resort) so code demo will come when I get home. basically there are a couple of way to do it. you could hook an API which contains the message, and in your hook look for key strings, if the key string matches then pass the message to a parsing function. Or you could code hook the function in paltalk which means you would require to debug paltalk and get the address you wanted to place a jump to your code cave, and from there pass the string on to the parsing part of your code.I personally like this method the best and balool uses this method also, but this would mean updating your program with a new address to hook each time paltalk releases another version. hooking an API that contains the message would be more suited for different paltalk versions but it also comes with disadvantage, Alot of antivirus could detect this API hook, and mistake it for a virus. so you really need to weigh up what suits you the best. for personal apps I would hook the API method thus reducing the need to update every version of paltalk, but for public use I would code hook the paltalk function which contains the strings being passed, but this means updating. Then if implementing an updating system like balool you would only need to update 1 online file with new addresses and the programs could auto update it self without the user needing to download a new version of your program. A simple API to hook for example would be winsock, but there are others which would also have message string so your not limited to API hooking winsock only. I guess it comes down to you… if you think its worth the extra code making an update system for code hooking or spend the extra time creating a good parsing routine for API hooking, actually microsoft call this a “detour”… anyway have think about which method you prefer and I will write a simple demo(in delphi ofcause)..

    #186917
    Admin
    Administrator

    K man when you can back and u got time we work on it 🙂 so far the one which wont have an issue with the antivirus is best :swift:

    #186916
    Departure
    Member

    keep in mind this will require updating every time a new paltalk build gets released, but I can help you minimize the update using a search and replace method for patching, meaning you can search for an array of bytes using wildcards which means you might not have to update until paltalk decide to change the function. it works like “xxx??Xxx?xxx??” the questions marks can be any byte value but the “x” must match, this will return an address in memory to place your code hook. but ofcause I will discuss this in more detail when I get home and write some examples..

    #186915
    Admin
    Administrator

    K man, but yo that sounding difficult lol and is summer so we’ll see :swift:

    #186914
    Admin
    Administrator

    Hey so how u use the index thing to get nicks from the room, so far i done this
    Declare
    Const SysListView32index As Integer = 1
    added function

    Private Function SystenViewHandle() As Long
    Dim iPHnd As Long
    
    iPHnd = getPalSubForm(WindowClass, Combo1.Text, SplittrWindow10, SplittrIndex10)
    SystenViewHandle = ChatHnd(iPHnd, SysListView32index)
    Debug.Print ("SystenViewHandle- " & SystenViewHandle) ' for testing
    End Function

    and call nick like this

    Function NickGet()
    Dim iHnd As Long
    
    If Len(Combo1.Text) > 1 Then
    FindTheWindow (Combo1.Text)
    End If
    
    'get nicks
    iHnd = SystenViewHandle
    Call GetListviewItem(iHnd)
    End Function

    and nada ): the listview goes empty

    #186913
    autopilot
    Member

    Just a guess, but I think you are trying to get the chat handle rather then the listview

        SystenViewHandle = ChatHnd(iPHnd, SysListView32index)
    #186912
    Admin
    Administrator

    Ah, I want the listview thou ehhehe can it be done via index or I have to use the old style ❓

    #186911
    autopilot
    Member

    @Admin wrote:

    Ah, I want the listview thou ehhehe can it be done via index or I have to use the old style ❓

    It can absolutely be done. Try looking at the chathnd method and you should see why it wont do the job for the syslistview. but you should also be able to see what chathnd does and figure out how to then find the syslistview.

Viewing 15 posts - 31 through 45 (of 52 total)
  • You must be logged in to reply to this topic.