Jump to content
metin2dev

Question

Hi. I want create simple python script to autotrade withother character. On this moment i finding player with nickname and starting trade. But i cant add all items to trade window. Heres my simple code:
 

import ui,app,chat,chr,net,player,item,skill,time,game,shop,chrmgr,thread,event,exchange


SWITCH_RARE_VNUM = 30270
start = 0
end = 2000000
SzamVID = 0
exslot = 0
for vid in range(start, end):
    if chr.GetInstanceType(vid) != 6:
        continue
    
    if chr.GetNameByVID(vid) == "DajSeNaLuz":
		SzamVID = vid
		break
		
net.SendExchangeStartPacket(SzamVID)
for i in range(0,90*2):
	if player.GetItemIndex(i) == SWITCH_RARE_VNUM:
		chat.AppendChat(chat.CHAT_TYPE_INFO, "Odłamek znaleziony")
		net.SendExchangeItemAddPacket(i, exslot)
		exslot += 1

net.SendExchangeAcceptPacket()

I think problem is that i dont understant how to use net.SendExchangeItemAddPacket function. Somebody can explain what is wrong here?

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Check with 

for i in range(0,90*2):
        attachedSlotType = player.INVENTORY
        attachedInvenType = player.SlotTypeToInvenType(attachedSlotType)
        itemVnum = player.GetItemIndex(attachedInvenType, i)

	if itemVnum == SWITCH_RARE_VNUM:
		chat.AppendChat(chat.CHAT_TYPE_INFO, "Odłamek znaleziony")
                net.SendExchangeItemAddPacket(attachedInvenType, i, exslot)
		exslot += 1

 

Share this post


Link to post
Share on other sites
  • 0

Tested and nothing happen. But if i comment 3 last lines:

net.SendExchangeItemAddPacket(i, exslot)
net.SendExchangeItemAddPacket(attachedInvenType, i, exslot)
exslot += 1

Code normally run. I dont have any idea how make this work...

 

After change exslot += 1 to  exslot=exslot+1 code run but still must have commented net.SendExchangeItemAddPacket functions. 

Share this post


Link to post
Share on other sites
  • 0

How did you run code? You dont have any error?  aaaand wchich server?

ps. I edited above my post, because i found mistake ;x

Share this post


Link to post
Share on other sites
  • 0

Change Net etc  for that you tell and still this same. I still dont understand How to get DstSlotNumber for slot in exchange window. 

That Script only must do Open Trade With My Character Move all Dragon Shard to trade and Accept. At This time only move all Dragon Shard dosent work and i dont know why ... Thats my second python script

Share this post


Link to post
Share on other sites
  • 0
16 godzin temu, MrMuniez napisał:

Thanks YOu BRO. That Pastebin code Works perfect. Can you tell me only function to walk to character ? 

These functions:

	x, y = chr.GetPixelPosition(vid)[:2]
	myX, myY = player.GetMainCharacterPosition()[:2]
	chr.MoveToDestPosition(player.GetMainCharacterIndex(), x, y)

Good luck!

  • Like 1

Share this post


Link to post
Share on other sites
  • 0

Again small problem. x, y = chr.GetPixelPosition(vid)[:2] That func like MoveToDestPosition dosent work.. Sysrer still clean ...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×