annuncio

Comprimi
Ancora nessun annuncio.

[EASYUO]cerco script per craftare

Comprimi
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • [EASYUO]cerco script per craftare

    ciao a tutti, volevo chiedere se qualcuno può fornirmi uno script del genere per craftare:
    apri cassa con martelli e materiale (senza distinzione di type in modo tale che prende solo il martello che trova)
    metti nello zaino hammer e risorse
    crafta esempio: leafblade (magari per craft specifico mi dite cosa devo cambiare)
    conserva: demon + hml; undeed + hml; oppure armi con ssi + hit magico + altra prop +dmg; armi ubws ecc...
    il resto che non serve ricicla materiale e posa nella cassa
    se esiste già o è fattibile o ancora serve una richiesta più specifica, fatemi sapere grazie!
    Ultima modifica di fondismagubert; 01-07-2011, 11:31.

  • #2
    nello specifico l'ho modificato per kraftare katane e tenere solo undead e daemon usa solo martelli dull e shadow e se li hai martelli +10

    codice:
    set %packtype ZJF_LKF_HKF_HIF_BUD_ELN_CUD_JIF
    set %craftype NMH
    set %IngCol 0
    set %HammerCOl1 2419
    set %HammerCOl2 2406
    set %HammerCOlq 2
    set %NeedASH #true
    set %Category 4
    set %Number 6
    set %Prop1 demon
    set %Prop2 undead
    set %PropQ 2
    
    set #lpc 1000
    
    event macro 31 0
    wait 10
    event macro 8 1
    wait 20
    finditem %packtype G_ , 2
    while #findkind <> -1
    {
          for #findindex 1 #findcnt
          {
              set #lobjectid #findid
              event macro 17 0
              ignoreitem #findid OpenedPack
              wait 15
          }
          wait 10
    }
    wait 10
    event macro 8 7
    wait 20
    ignoreitem reset OpenedPack
    
    loop:
    ignoreitem reset smelted
    
    finditem %craftype C_ , #backpackid
    if #findkind = -1
    {
       gosub restock ENK 200
    
       for %i 1 10
       {
           if %NeedASH
              gosub UpdateASH
    
           gosub UpdateRunic
    
           gosub s7MakeAnything Smith %Category %Number %ActiveRunic
           if #result = #false
           {
              gosub UpdateRunic
              if #result = #false
                 break
           }
           wait 5
        }
    }
    
    finditem %craftype C_ , #backpackid
    if #findkind = -1
    {
       pause
       goto loop
    }
    while #findkind <> -1
    {
        repeat
              event property #findid
              wait 1
        until weapon in #property
    
        set %Save #false
        for %i 1 %PropQ
        {
            if %Prop . %i in #property
               set %Save #true
    
        }
        if %Save
        {
           ;exevent drag #findid
           ;exevent dropc %secure
           ;wait 10
           Ignoreitem #findid Save
        }
        else
        {
            set %ItemToIgnore #findid
            gosub s7MakeAnything Smith smelt #findid
            ignoreitem %ItemToIgnore smelted
            wait 5
        }
        finditem %craftype C_ , #backpackid
    }
    
    goto loop
    
    sub UpdateRunic
        set %RunicFound #false
        repeat
          finditem TLH C_ , #backpackid
          if #findkind <> -1
          {
             for #findindex #findcnt 1
             {
                 set %NeededCol #false
                 for %iH 1 %HammerCOlq
                 {
                  if #findcol = %HammerCOl . %iH
                     set %NeededCol #true
                 }
                 if %NeededCol = #false
                 {
                    ignoreitem #findid BadFindCol
                    continue
                 }
                 else
                 {
                     set %RunicFound #true
                     set %ActiveRunic #findid
                     break
                 }
             }
          }
          if %RunicFound = #false
          {
             finditem TLH C
             if #findkind = -1
                break
             for #findindex 1 #findcnt
             {
                 set %NeededCol #false
                 for %iH 1 %HammerCOlq
                 {
                  if #findcol = %HammerCOl . %iH
                     set %NeededCol #true
                 }
                 if %NeededCol = #false
                 {
                    ignoreitem #findid BadFindCol
                    continue
                 }
                 else
                 {
                     exevent drag #findid
                     exevent dropc #backpackid
                     wait 10
                     break
                 }
             }
          }
        until %RunicFound
    return %RunicFound
    
    sub UpdateASH
           finditem OLH C_ , #charid
           while #findkind = -1
           {
                 set %ASHfound #false
                 finditem OLH C
                 if #findkind = -1
                    break
                 if #findkind <> -1
                 {
                    for #findindex 1 #findcnt
                    {
                        repeat
                              event property #findid
                              wait 1
                        until weight in #property
    
                        if +60 in #property || +30 in #property
                        {
                           ignoreitem #findid BadFindCol
                           continue
                        }
                        if +15 in #property || +10 in #property
                        {
                           set %ASHfound #true
                           break
                        }
                    }
                 }
                 if %ASHfound
                 {
                    exevent drag #findid
                    exevent droppd
                    wait 10
                 }
                 finditem OLH C_ , #charid
           }
    return
    
    
    
    sub restock
        set %tot 0
        finditem %1 C_ , #backpackid
        if #findkind <> -1
        {
           for #findindex 1 #findcnt
           {
               if #findcol <> %IngCol
               {
                  ignoreitem #findid BadFindCol
                  continue
               }
               set %tot %tot + #findstack
           }
        }
        if %tot >= %2
           return
        set %need %2 - %tot
        need:
        if %need > 0
        {
           finditem %1 C
           for #findindex #findcnt 1
           {
               if #findcol <> %IngCol
               {
                  ignoreitem #findid BadFindCol
                  continue
               }
               if #findbagid <> #backpackid
                  break
           }
           if #findstack < %need
              set %take #findstack
           else
               set %take %need
           set %need %need - %take
           exevent drag #findid %take
           exevent dropc #backpackid
           wait 10
           if %need > 0
              goto need
        }
    return
    ICQ 579630104
    [Amdir]Firma Irregolare[/Amdir]
    Originariamente inviato da GiaPly3 , Dav87E , Gatsu
    Maledetto sia colui il quale m'ha segnalato la signa.

    Commenta


    • #3
      codice:
      ;* @name s7MakeAnything
      ;* @author snicker7
      ;* @ver 1.3 19Aug05
      ;* @purpose Crafting sub capable of dealing with the
      ;*	standard crafting gump for all crafting skills.
      ;* @params 	%1	Crafting skill. Possible values are:
      ;*			Tailor, Smith, Carpentry, Cooking,
      ;*			Alchemy, Stonecrafting, Tinker,
      ;*			Inscription, or Cartography
      ;*		%2	Three possible options:
      ;*			SelectMaterial: Selects the material to
      ;*				craft with (if avaliable) by
      ;*				index which is defined by %3.
      ;*			Smelt/Cut: Only avaliable if %1 is
      ;*				'Tailor' or 'Smith', respectively.
      ;*				Will cut or smelt the item passed
      ;*				by ID as variable %3.
      ;*			For Crafting: This should be a number
      ;*				which corresponds to the category
      ;*				on the crafting gump beginning
      ;*				with the first category as 1.
      ;*		%3	The material index for SelectMaterial,
      ;*			the ID of the item to be smelted/cut for
      ;*			Smelt/Cut, or the selection number of the
      ;*			item you wish to make on the crafting menu.
      ;*		%4	(optional) ID of specific tool to use. If
      ;*			%4 is defined, the sub will use this tool
      ;*			only to craft with. Used for runic kits.
      ;*			The sub will return #false if the tool is
      ;*			not found. Slower, as the tool will be
      ;*			opened every call of the script, rather
      ;*			than just waiting for the gump to return,
      ;*			ensuring that the tool menu is the right
      ;*			tool.
      ;* @returns 	#true	The sub executed successfully.
      ;* 		#false	A tool was not found to perform the
      ;*			necessary operations. Useful, if the sub
      ;*			returns #false, simply call it again to
      ;*			make the correct tool.
      ;* @notes	This sub automatically determines when to "Make Last."
      ;*		If you call the sub twice in a row with the same
      ;*		options, the second time it will click make last
      ;*		instead of clicking through the whole menu.
      ;* @example:	call s7subs.euo s7MakeAnything Smith 7 10 ;Make a warfork
      ;*		call s7subs.euo s7MakeAnything Stonecrafting SelectMaterial 2 ;select dullcopper granite
      ;*		call s7subs.euo s7MakeAnything Tailor Cut DFKLSED ;cuts the item with ID DFKLSED
      ;*		call s7subs.euo s7MakeAnything Smith 7 10 EASUSPS ;makes a warfork using the tool with ID EASUSPS
      ;* @status almost done. still need to put in the cartotool type and find all types for all tools.
      ;----
      sub s7MakeAnything
      	if %0 < 3
      		return #false
      	namespace push
      	namespace local _s7MakeAnything
      	if %0 = 4 && !tool <> N/A
      	{
      		finditem %4 C_ , #backpackid
      		if #findkind = -1 2
      			namespace pop
      			return #false
      		if %4 <> !tool
      		{
      		   set !tool %4
      		   set !FirstCall #true
          }
      	}
      	if !1 = %1 && !2 = %2 && !3 = %3 && %2 <> SelectMaterial && !2 notin Smelt_Cut
      		set !MakeLast #true
      	if !1 <> %1 || !2 <> %2 || !3 <> %3 || %2 = SelectMaterial || %2 in Smelt_Cut
      	{
      		set !1 %1
      		if !1 = Tailor
      			set !tool HAG
      		if !1 = Smith
      			set !tool OBG_TBG_TLH_FBG
      		if !1 = Carpentry
      			set !tool EGG_IGG_KGG
      		if !1 = Cooking
      			set !tool BCG_DND_OGG
      		if !1 = Alchemy
      			set !tool RQF
      		if !1 = Stonecrafting
      			set !tool ZEH
      		if !1 = Tinker
      			set !tool JTL_KTL_GTL
      		if !1 = Inscription
      			set !tool PBG
      		if !1 = Cartography
      			set !tool PBG
      		if %0 = 4
      		{
      			finditem %4 C_ , #backpackid
      			if #findkind = -1 2
      				namespace pop
      				return #false
      			if #findtype notin !tool 2
      				namespace pop
      				return #false
      			set !tool %4
      		}
      		if %0 < 4
      		{
      			finditem !tool C_ , #backpackid
      			if #findkind = -1 2
      				namespace Pop
      				return #false
      		}
      		set !FirstCall #true
      		set !MakeLast #false
      		if %2 in smelt_cut 3
      			set !FirstCall #false
      			set !destroyID %3
      			set !destroy #true
      		if !Destroy && !1 notin smith_tailor 2
      			namespace Pop
      			return #false
      		if %2 notin smelt_cut 2
      			set !3 %3
      			set !2 %2
      		if !2 = SelectMaterial
      			set !2 15
      	}
      	for !selection 2 3
      	{
      		for !loop 1 1
      		{
      			set #result #true
      			if !1 = Tailor && !destroy
      				set !loop 2
      			if ( ! !FirstCall || ( !1 = Smith && !Destroy ) ) && !loop <> 2 2
      				gosub s7WaitForVars contsize = 530_437 contname = generic_gump 2
      				set !loop 1
      			if ( ! #result || !FirstCall ) && !loop <> 2
      			{
      				gosub s7WaitForVars contsize = 530_437 contname = generic_gump 1
      				finditem !tool C_ , #backpackid
      				if #findkind = -1 2
      					namespace Pop
      					return #false
      				gosub s7WaitForAction 12
      				set #lobjectid #findid
      				event macro 17 0
      				set !loop 0
      				set !FirstCall #False
      			}
      		}
      		if !MakeLast && ! !destroy
      		{
      			set !_Cx #contposx + 280   ;MAKE LAST
      			set !_Cy #contposy + 410
      			click !_Cx !_Cy
      			namespace Pop
      			return #true
      		}
      		if !selection = 2
      		{
      			if !destroy && !1 = Tailor
      			{
      				finditem JAG_KAG C
      				if #findkind = -1 2
      					namespace pop
      					return #false
      				set #lobjectid #findid
      				set #ltargetid !destroyid
      				set #ltargetkind 1
      				gosub s7WaitForAction 12
      				event macro 17 0
      				target 2s
      				event macro 22 0
      				set !destroy #false
      				namespace pop
      				return #true
      			}
      			wait 10
      			set !_Cx #contposx + 20
      			set !_Cy ( #contposy + 70 + ( !2 * 20 ) )
      			if !destroy && !1 = Smith
      				set !_Cy ( #contposy + 70 + ( 14 * 20 ) )
      			click !_Cx !_Cy
      			if !destroy && !1 = Smith
      			{
      				target 2s
      				set #ltargetid !destroyid
      				set #ltargetkind 1
      				event macro 22 0
      				set !destroy #false
      				gosub s7WaitForVars contsize = 530_437 contname = generic_gump 2
      				namespace pop
      				return #true
      			}
      		}
      		if !selection = 3
      		{
      			set !3t !3
      			for !loop 0 1
      			{
      				if !3t > 10
      				{
      					set !_Cx #contposx + 380    ;380     NEXT PAGE
      					set !_Cy #contposy + 270    ;270
      					click !_Cx !_Cy
      					set !3t !3t - 10
      					set !loop 0
      				}
      				if !3t <= 10
      				{
      					set !_Cx #contposx + 230
      					set !_Cy ( #contposy + 50 + ( !3t * 20 ) )
      					click !_Cx !_Cy
      					gosub s7WaitForVars contsize = 530_437 contname = generic_gump 2
      					namespace Pop
      					return #true
      				}
      			}
      		}
      	}
      
      
      ;* @name s7WaitForVars
      ;* @author snicker7, inspired by Quintok, and of course, Smertrios
      ;* @ver 1.2 24Aug05
      ;* @purpose Multiple input sysvar waiter.
      ;* @params 	%1*n is the gump sysvar being checked
      ;*		%2*n is the comparative operator (>, <, <>, =, etc)
      ;*		%3*n is the desired value of the sysvar
      ;*		%nfinal is the timeout in seconds
      ;* @returns #false if it times out
      ;*          #true if success
      ;* @notes 	%1 does not require the preceding number sign
      ;*		one line shorter than Q's, no disrespect son
      ;*		originally written by Smertrios, included in Lexia
      ;*		Multiple inputs by Quintok, Obfuscation and name-
      ;*		spacing by snicker7!
      ;* @example: call s7Subs.euo s7WaitForVars contID = #backpackID contSize = 7_9 3
      ;* @status tested good
      sub s7WaitForVars
      	namespace Push
      	namespace Local _s7WFVs
      	set !C %0 / 3
      	set !T #scnt + 5
      	if ( %0 % 3 ) = 1
      		set !T #scnt + % . %0
      	for !i 1 !C
      	{
      		set !o 3 * !i - 2
      		set !p !o + 1
      		set !q !o + 2
      		if ! ( # . % . !o % . !p % . !q )
      			set !i 0
      		if #scnt > !T 2
      			namespace pop
      			return #false
      	}
      	namespace Pop
      return #true
      
      ;----
      ;* @name s7WaitForAction
      ;* @author snicker7
      ;* @ver 1.1 31Jan05
      ;* @purpose waits 1.3 seconds before continuing, useful for waiting to perform
      ;*    another action
      ;* @params 	none
      ;* @returns none
      ;* @notes probably not an original idea, but I need to use it frequently and it
      ;*    was easier to write it myself than to try to look for it as written by
      ;*    someone else
      ;* @example: call s7Subs.euo s7WaitForAction 13
      ;* @status tested good
      sub s7WaitForAction
      	_s7WaitForAction:
      	if %_s7ActionTimer + %1 > #scnt2 2
      		wait 1
      		goto _s7WaitForAction
      	set %_s7ActionTimer #scnt2
      return
      ICQ 579630104
      [Amdir]Firma Irregolare[/Amdir]
      Originariamente inviato da GiaPly3 , Dav87E , Gatsu
      Maledetto sia colui il quale m'ha segnalato la signa.

      Commenta


      • #4
        c è possibilità di modificarlo? ti spiego cosa:
        1)usare qualunque tipo di martello
        2)aumentare le proprietà dell'oggetto craftato da tenere magari a 3-4 (esempio: ssi+hml+hsl+slayer)
        3)cambiare ogni volta il tipo di oggetto da craftare

        io purtroppo non riesco a capirli gli script nonostante mi ci metta ogni volta nel caso posso contattarti su icq per non spammare troppo qui ty.

        Commenta

        Sto operando...
        X