Guest User

Untitled

a guest
Oct 17th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 8.37 KB | None | 0 0
  1. #cs ----------------------------------------------------------------------------
  2.  
  3.  AutoIt Version: 3.3.6.1
  4.  Author:        ZKFTW
  5.  
  6.  Script Function: expsale GWA²
  7.  
  8.  
  9. #ce ----------------------------------------------------------------------------
  10. ; to Do:
  11. ; ggf runen, fehlende ids
  12.  
  13. #include-once
  14. #include "GWA².au3"
  15. #include "GWAAddsOn.au3"
  16. Local $storegolditems= 1
  17.  
  18. Local $ini = 0
  19. While 1
  20.    
  21.      Main()
  22.      Exit
  23.     Wend
  24. Func Main()
  25.  
  26. Ini()
  27. Test()
  28.  
  29. Endfunc
  30.  
  31. Func Test()
  32. expsale (1)
  33.  
  34.  
  35.  
  36. EndFunc
  37.  
  38.  
  39. Func Ini()
  40. If $ini = 0 Then
  41.     Local $GWWindowName ="Guild Wars"
  42.     Initialize(WinGetProcess($GWWindowName))
  43.     $bPID = WinGetProcess($GWWindowName)
  44.     $ini += 1
  45. EndIf
  46. EndFunc
  47.  
  48.  
  49.  
  50. Func expsale($storegolditems)
  51.  
  52.     Local $sBags = 0
  53.     Local $sNPCid
  54.     Local $lMe  
  55.     Local $bX
  56.     Local $bY
  57.     Local $lBlocked = 0
  58.     Local  $bagslots = 0
  59.     Local $merchant = "Gi Hahn"
  60.  
  61.    
  62.     $sNPCid = GetAgentByName($merchant)
  63.     GoNPC($sNPCid)
  64.    
  65.     $bX = DllStructGetData($sNPCid, 'X')    
  66.     $bY = DllStructGetData($sNPCid, 'Y')
  67.  
  68.    
  69.         Do
  70.             Sleep(1000)
  71.             $lMe = GetAgentByID(-2)
  72.             If GetIsMoving($lMe) = False Then
  73.                $lBlocked += 1
  74.                GoNPC($sNPCid)
  75.             EndIf  
  76.         Until ComputeDistance(DllStructGetData($lMe, 'X'), DllStructGetData($lMe, 'Y'), $bX, $bY) < 200 Or $lBlocked > 14  
  77.         SLeep(500);until here tested
  78.        
  79.     For $b = 1 to 3
  80.         $sBags = + 1
  81.         $bagslots = DllStructGetData(GetBag($sBags), 'Slots')
  82.          
  83.          For $s = 0 to $bagslots
  84.              Global $strucktItem = GetItemBySlot($b,$s)
  85.              GLobal $sItemID = DllStructGetData($strucktItem, 'ID')
  86.              Global $sModelID =DllStructGetData($strucktItem, 'ModelID')
  87.              Global $sType = DllStructGetData($strucktItem, 'Type')
  88.              Global $sQuality =DllStructGetData(GetEtraItemInfoByItemId($strucktItem), 'Rarity')
  89.            
  90.             ;==============kein item=========================================
  91.             IF $sItemID = 0 Then
  92.                     Sleep(10)  
  93.                                
  94.             ;==============Nichts tuen mit Item==============================
  95.             ElseIf  $sModelID = 5899 or $sType = 29  Then
  96.                      Sleep(10); Platzhalter
  97.                    
  98.             ;========== Item  in Truhe=======================================
  99.              
  100.              ElseIf $sModelID = 146 or $sModelID = 28435 or $sModelID = 28436 or $sModelID = 28432 or $sModelID = 22751 or $sType = 18 or $sType = 10 or $sType =  9 Then
  101.                      storageitem ($sItemID)
  102.                      
  103.             ;===============Item in Truhe und identifiziern==================
  104.              ;ElseIf $sModelID = -1 Then; Platzhalter
  105.                 ;    If FindIDKit() = 0 Then
  106.                 ;        BuySuperiorIDKit()
  107.                 ;    Endif
  108.                 ;   IdentifyItem($sitemID)
  109.                 ;   storageitem ($sitemID)             
  110.            
  111.             ;==================Item wen Gold in Truhe========================
  112.              ElseIf  $sQuality = $RARITY_Gold Then  
  113.                      Msgbox (1 "GoldItem","works")
  114.                     IF $storegolditems = 1 Then
  115.                             If storageitem ($sItemID) = True Then
  116.                                 Sleep(40)
  117.                             Else
  118.                                 Sleep(1)
  119.                                 If FindIDKit() = 0 Then
  120.                                     BuySuperiorIDKit()
  121.                                     Sleep(40)
  122.                                 Endif
  123.                             IdentifyItem($sItemID)
  124.                             Sleep(100)
  125.                             SellItem ($sItemID)
  126.                            
  127.                             Endif
  128.                     Else
  129.                         If FindIDKit() = 0 Then
  130.                          BuySuperiorIDKit()
  131.                             Sleep(100)
  132.                         Endif
  133.                         IdentifyItem($sItemID)
  134.                         Sleep(100)
  135.                         SellItem ($sItemID)
  136.                        
  137.                     Endif
  138.                    
  139.             ;==================Material======================================
  140.             Elseif  $sType = 11 Then
  141.                               MsgBox(1,$sModelID ,$sType)
  142.                             If $sModelID = 921 Then
  143.                                 MoveItem($sItemID, 6,  1)
  144.                             ElseIf $sModelID = 948 Then
  145.                                 MoveItem($sItemID, 6,  2)
  146.                             ElseIf $sModelID = 940 Then
  147.                                 MoveItem($sItemID, 6,  3)
  148.                             ElseIf $sModelID = 953 Then
  149.                                 MoveItem($sItemID, 6,  4)
  150.                             ElseIf $sModelID = 954 Then
  151.                                 MoveItem($sItemID, 6,  5)
  152.                             ElseIf $sModelID = 925 Then
  153.                                 MoveItem($sItemID, 6,  6)
  154.                             ElseIf $sModelID = 946 Then
  155.                                 MoveItem($sItemID, 6,  7)
  156.                             ElseIf $sModelID = 955 Then
  157.                                 MoveItem($sItemID, 6,  9)
  158.                             ElseIf $sModelID = 924 Then
  159.                                 MoveItem($sItemID, 6, 10)
  160.                             ElseIf $sModelID = 934 Then
  161.                                 MoveItem($sItemID, 6, 11)
  162.                             ElseIf $sModelID = 933 Then
  163.                                 MoveItem($sItemID, 6, 12)
  164.                             ElseIf $sModelID = 941 Then
  165.                                 MoveItem($sItemID, 6, 13)
  166.                             ElseIf $sModelID = 926 Then
  167.                                 MoveItem($sItemID, 6, 14)
  168.                             ElseIf $sModelID = 927 Then
  169.                                 MoveItem($sItemID, 6, 15)
  170.                             ElseIf $sModelID = 930 Then
  171.                                 MoveItem($sItemID, 6, 17)
  172.                             ElseIf $sModelID = 949 Then
  173.                                 MoveItem($sItemID, 6, 18)
  174.                             ElseIf $sModelID = 950 Then
  175.                                 MoveItem($sItemID, 6, 19)
  176.                             ElseIf $sModelID = 923 Then
  177.                                 MoveItem($sItemID, 6, 20)
  178.                             ElseIf $sModelID = 931 Then
  179.                                 MoveItem($sItemID, 6, 21)
  180.                             ElseIf $sModelID = 932 Then
  181.                                 MoveItem($sItemID, 6, 22)
  182.                             ElseIf $sModelID = 937 Then
  183.                                 MoveItem($sItemID, 6, 23)
  184.                             ElseIf $sModelID = 938 Then
  185.                                 MoveItem($sItemID, 6, 24)
  186.                             ElseIf $sModelID = 935 Then
  187.                                 MoveItem($sItemID, 6, 25)
  188.                             ElseIf $sModelID = 936 Then
  189.                                 MoveItem($sItemID, 6, 26)
  190.                             ElseIf $sModelID = 922 Then
  191.                                 MoveItem($sItemID, 6, 27)
  192.                             ElseIf $sModelID = 945 Then
  193.                                 MoveItem($sItemID, 6, 28)
  194.                             ElseIf $sModelID = 939 Then
  195.                                 MoveItem($sItemID, 6, 30)
  196.                             ElseIf $sModelID = 942 Then
  197.                                 MoveItem($sItemID, 6, 31)
  198.                             ElseIf $sModelID = 943 Then
  199.                                 MoveItem($sItemID, 6, 32)
  200.                             ElseIf $sModelID = 944 Then
  201.                                 MoveItem($sItemID, 6, 33)
  202.                             ElseIf $sModelID = 951 Then
  203.                                 MoveItem($sItemID, 6, 34)
  204.                             ElseIf $sModelID = 952 Then
  205.                                 MoveItem($sItemID, 6, 35)
  206.                             ElseIf $sModelID = 956 Then
  207.                                 MoveItem($sItemID, 6, 36)
  208.                             ElseIf $sModelID = 6532 Then
  209.                                 MoveItem($sItemID,6, 37)
  210.                             ElseIf $sModelID = 6533 Then
  211.                                 MoveItem($sItemID,6, 38)
  212.                             Else
  213.                                 Sleep(10)
  214.                             EndIf
  215.                        
  216.            
  217.             ;============== Wen Blau, Lila oder Grün id + vk ==================
  218.              Elseif $sQuality = $RARITY_Blue or $sQuality = $RARITY_Purple or $sQuality = $RARITY_Green Then
  219.                      Msgbox (1, "test","fLila oder Grün id + vk )
  220.                      Sleep(40)
  221.                      If FindIDKit() = 0 Then
  222.                          BuySuperiorIDKit()
  223.                         Sleep(100)
  224.                      Endif
  225.                      IdentifyItem($sItemID)
  226.                      Sleep(100)
  227.                      SellItem ($sItemID)
  228.                    
  229.            
  230.             ;===================Item wenn weiß  verkaufen======================   
  231.              ElseIf $sQuality = $RARITY_White Then
  232.                     SellItem ($sItemID)
  233.                
  234.            
  235.             ;==========================Else====================================
  236.              Else  
  237.                 Sleep(10)
  238.              EndIf   
  239.          Next
  240.     Next
  241.    Sleep(100)
  242.     DepositGold()
  243.    Sleep(100)
  244. Endfunc    
  245.  
  246.  
  247.     Func storageitem ($sItemID);tested
  248.        
  249.         If FindSameItemStorageandplace($sItemID) = True Then
  250.             Return True
  251.         ElseIf   Storeunstackableitem ($sItemID) = True Then
  252.             Sleep (1)
  253.             Return True
  254.         Else
  255.             Return False
  256.                
  257.         Endif
  258. EndFunc ;==> item auf truhepacken und ggf.Stacken
  259.    
  260.    
  261.     Func Storeunstackableitem ($sItemID) ;tested
  262.        
  263.         Local $moveslot
  264.         For $i = 1 to 9
  265.        
  266.                 FindEmptySlot($i+7)
  267.                 If @extended >0 Then
  268.                      $moveslot =  @extended
  269.                      MoveItem($sItemID,$i+7 , $moveslot)
  270.                      Sleep (100)
  271.                      Return True
  272.                      ExitLoop
  273.                
  274.                 Else
  275.                     Sleep(50)
  276.                    
  277.                 Endif
  278.         Next
  279.     EndFunc ;==> nicht stackable items auf truhe packen
  280.    
  281.  
  282.  
  283. Func FindSameItemStorageandplace($sItemID) ;tested
  284.  
  285. If  $sType = 18 or 10 or 11 or 30 or 31 or 9  or DllStructGetData($sItemID, 'Quantity') > 1 Then   
  286.        
  287.          For $i = 8 to 16
  288.             If FindSameItem($i,$sItemID) = 0 Then
  289.                 Sleep (1)  
  290.             Else
  291.                 Return True
  292.                 ExitLoop
  293.             Endif
  294.         Next
  295.     Endif
  296. EndFunc ;==> item auf truhe packen und stacken wenn möglich
  297.  
  298.  
  299.  
  300.  
  301. Func FindSameItem($bagIndex,$sItemID) ;tested
  302.    
  303.     Local  $aSlot
  304.     ;Local  $sItemID = GetItemByItemID ($stItemID)
  305.     ;Local $sModelID =DllStructGetData($sItemID, 'ModelID')
  306.     For $aSlot = 0 To DllStructGetData(GetBag($bagIndex), 'Slots')-1
  307.         $lItemInfo = GetItemBySlot($bagIndex, $aSlot)
  308.         Local $lModelID = DllStructGetData($lItemInfo, 'ModelID')
  309.          If  $sModelID = $lModelID Then
  310.             Sleep(1)
  311.             If DllStructGetData($lItemInfo, 'Quantity') + DllStructGetData($sItemID, 'Quantity') >249 Then
  312.                 Sleep(1)
  313.             Else
  314.                 MoveItem($sItemID,$bagIndex,$aSlot +1)
  315.                 ExitLoop
  316.             EndIf
  317.         EndIf
  318.     Next
  319.     Return 0
  320. EndFunc ;==> Gleiches item im fach suchen und dazu packen
Add Comment
Please, Sign In to add comment