Einschmelzscript von Bonbori
Aus UO-Sigena Wiki
Version vom 27. August 2016, 15:54 Uhr von Bonbori (Diskussion | Beiträge)
Dieses Script schmilzt automatisiert Sondererz in kleinen Schritten (einstellbar, Standard ist 2 Erz) ein, um den Erzverlust zu minimieren. Das zu schmelzende Sondererz, Kohle und eine kleine Esse müssen in der Nähe der Spielfigur auf dem Boden liegen (maximal 2 Felder entfernt). Das Script eignet sich also nur zur Benutzung in einem Haus.
; Kohle, Erz und Esse müssen innerhalb von 2 Feldern vom Char sein und dürfen nicht befestigt sein! set %ore Kupfererz ;Name des Erzes set %getStackSize 2 ;Menge, die jeweils auf einmal geschmolzen wird ; Ab hier nix mehr anfassen! ; set #lpc 100 set %coal Kohle set %oreTyp DWJ set %stackId XXXXXX set %esse XXXXXX gosub getStackId %coal set %coalStack %stackId while #true { gosub getStackId %ore gosub melt %stackId %stackSize } ; Erwartet einen Erznamen als Parameter sub getStackId set %find %1 repeat finditem %oreTyp G_2 if ( #findcnt = 0 ) { halt } event Property #findid if ( %find notin #property ) { ignoreitem #findid 9 } until ( %find in #property ) set %stackId #findid set %stackSize #findstack ignoreitem reset 9 return ; %1 = Stack ID ; %2 = Stack Size sub putStackToBackpack if ( %getStackSize > %2 ) set %getStackSize %2 exevent drag %1 %getStackSize wait 10 exevent dropc #backpackid wait 10 return ; %1 = Stack ID ; %2 = Stack Size sub melt gosub putStackToBackpack %1 %2 finditem JBG G_2 if ( #findcnt = 0 ) { halt } set %esse #findid repeat set %jrnl #jindex set #lobjectid %1 event macro 17 0 gosub waitJournalForge set %jrnl #jindex set #ltargetkind 1 set #ltargetid %esse target 10s event macro 22 0 gosub waitJournalForge ; Prüfe, ob der Stack noch im Backpack ist finditem %1 C_ , #backpackid until ( #findcnt = 0 ) return sub waitJournalForge while #true { wait 1 if ( #jindex > %jrnl ) { set %jrnl %jrnl + 1 scanjournal %jrnl if ( etwas_Kohle_schueren. in #journal ) { gosub coal2Forge return } if ( In_welcher_Esse_wollt_ihr in #journal || + gewinnt_einige_Barren_und_legt in #journal || + gelingt_euch_nicht,_das_Erz in #journal || + Explosion_aus! in #journal ) { return } } } return sub coal2Forge set #ltargetkind 1 ;ein Objekt wird getargeted set #ltargetid %coalStack target 10s event macro 22 wait 1s return