UO Sigena

Willkommen im Forum von Sigena!

Scripte

Videoprojekte und Scripte für Sigena

Re: Scripte

Beitragvon Vendor Fujin » Sa 9. Feb 2013, 11:45

Hier ein altes nie fertig gestelltes Script,
was aber läuft mit dem ich Sand und Lehm abbaue

Probier es mal aus,
da ich nur noch in open EasyUo Scripte werde ich das auch nicht mehr fertig stellen.

1x Vorminen
Packpferd Tasche öffnen und mit alt + b bestätigen (setzt die Tasche des Packpferds als Ziel für das Sand)

Spoiler: Zeigen
Code: Alles auswählen
; All-Mining-Script von Fourier für den UO-Shard Sigena www.uosigena.de
; Code Schnipsel aus dem Mining Script von Maxim Perdon Kopiert, Vielen Dank an der Stelle
; Das Auswählen des abzubauenden Materials ist für das umlagern in Packy von Bedeutung
; die Zahl für die gewüschte Farbe des Menüs Farben können mit dem Unten angehangenen Script
; ermittelt werden


;############ Variablen Setzen ###########################

;set %PackyBagId DVRPOIF
set %Kristall #false
set %packy BO_WN
set %wdist 5           ;Schrittweite
set %color1 39  ;Farbe für Schrittweite
set %color2 6   ;Farbe für sonstiges Menü
set #ltargetx #charposx
set #ltargety #charposy
set %k 0

set #sysmsgcol %color1
event SysMessage Packpferd auswaehlen!
event SysMessage ( Packpferd Tasche oeffnen )
event SysMessage mit ( alt + b )  bestätigen
set #sysmsgcol 0


repeat
      onhotkey b alt
      {
        set %PackyBagId #contid
        gosub menu
      }
until #false



;################### Menü #################################
sub menu
set #sysmsgcol %color1
event Sysmessage Schrittweite auf %wdist gesetzt
set #sysmsgcol %color2
event SysMessage Ore (Alt + O)
event SysMessage Lehm (Alt + L)
event SysMessage Sand (Alt + S)
event SysMessage Schrittweite aendern (Alt + W)
set #sysmsgcol 0

set #lpc 1000
repeat
{
      onhotkey o alt     ;Ore setzen
      {
       set %Stein DWJ
       event SysMessage Startet Ore Mining!
       gosub feld
      }
      onhotkey l alt     ;Lehm setzen
      {
       set %Stein TMK
       event SysMessage Startet Lehm Mining!
       gosub feld
      }
      onhotkey s alt     ;Sand setzen
      {
       set %Stein POF
       event SysMessage Startet Sand Mining!
       gosub feld
      }
      onhotkey w alt     ;Schritt setzen
      {
       gosub schritt
      }
sleep 1

until #false

event SysMessage watt


;################### Schrittweite ##########################
sub schritt
set #sysmsgcol %color2
event SysMessage 3 Schritte (Alt + 3)
event SysMessage 4 Schritte (Alt + 4)
event SysMessage 5 Schritte (Alt + 5)
set #sysmsgcol 0

set #lpc 1000
repeat
      onhotkey 3 alt     ;3 Schritte
      {
      set %wdist 3
      gosub menu
      }
      onhotkey 4 alt     ;4 Schritte
      {
      set %wdist 4
      gosub menu
      }
      onhotkey 5 alt     ;5 Schritte
      {
      set %wdist 5
      gosub menu
      }
sleep 1
until #false


;################### 25 Tilt ###############################

sub feld

for %xx -2 2
{
 for %yy -2 2
 {
 gosub mine %xx %yy
 wait 1s

 }
}
gosub walk   ;Feld komplett abgebaut in walk wird um Schrittweite weiter gegangen

;###########################################################
gosub feld

sub mine
set #ltargetx #charposx + %1 ;setz x Komponente des Tilt (%xx aus 25 Tilt)
set #ltargety #charposy + %2 ;setz y Komponente des Tilt (%yy aus 25 Tilt)



While #true       ;Endlos-Schleife
{
 if #false {    ;%kristall zum ein und ausstellen vom Kristallabbau
;##################### Automatisches Kristallabbauen #################################
;hinzugefügt von FlamingBiFi (IG:Dlavdo/Fourier) am 09.09.2011
             finditem JUO G
             event Sysmessage TEST1!
             if #findstack > 0
             {
               event macro 1 0 .disarm
                set #lobjectid #findid
                finditem NPF C_ , #Backpackid
                if #FINDSTACK > 0
                {
                      event macro 17 0
                      event macro 1 0 KRISTALLE!
                }
                wait 5s
                goto weiter
             }
  }
else
{
goto weiter
}

;####################################################################################
weiter:
event Sysmessage TEST2!


finditem TWF C_ , #Backpackid       ;Sucht Schaufel (TWF = Typ Bezeichnung von Schaufeln)
set #lobjectid #findid    ;Gefunde Schaufel-ID wird als Last-Object-ID gesetzt

event macro 17 0       ;Use Last Object
target 1s              ;wartet auf ein Target (max 1 Sekunde)
event macro 22 0       ;Auf letzes Ziel zielen
wait 20               ;Wartet (20 = 1sek)

;############### Überprüft ob auf dem Tilt noch Sand abzubauen ist ######
set %k ( %k + 1 )

for %i 1 5
{
scanjournal %i
if Hier_kann_kein_sand_mehr_abgebaut_werden in #journal  || Hier_kann_kein_clay_mehr_abgebaut_werden in #journal || Hier_gibt_es_kein_Erz_mehr_abzubauen in #journal  || Hier_ist_nichts_zu_holen in #journal  || %k > 2
{
;msg %k $
set %k 0
;msg %k $
event SysMessage Tilt Wechsel!
deletejournal
return
}
;########################################################################

;#### Ins Packpferd lagern (Kopiert aus dem Mining Script von Maxim Perdon ) ####
 if #weight => #maxweight
     {
     set #nextcposx 765
     set #nextcposy 555
     set %2 0
     set %1 0
     tryagain:
     finditem %packy G_1
     if #findkind = -1
        {
        set %1 %1 + 1
        if %1 > 2
        {
        event sysmessage da ist was mit deinem packy kaputt!
        event sysmessage kuemmer dich mal um das problem
        pause
        }
        event macro 1 0 All come
        wait 2s
        goto tryagain:
        }
     if #findkind > -1
        {
        set #lobjectid #findid
        event macro 17 0
        wait 1s
        }
      erzumlagern:
      set %2 %2 + 1
      if %2 > 6
      {
      event sysmessage Packpferd voll?
      pause
      set %2 0
      }

      finditem %Stein C_ , #backpackid
      if #findkind = -1
      {
       return
      }
      if #findcol = 0
      {
       exevent drag #findid #findstack
       msg $
       exevent dropc %PackyBagId
       wait 1s
       goto erzumlagern
      }
      if #findcol <> 0
      {
       exevent drag #findid #findstack
       msg $
       exevent dropc %PackyBagId
       wait 1s
       goto erzumlagern
      }
      }
  }
}
return
}

;#### Geht weiter in die Richtung in die der Char schaut (Kopiert aus dem Mining Script von Maxim Perdon ) ####

sub walk
if #chardir = 0
{
set %x #charposx
set %y #charposy
set %x2 %x
set %y2 %y - %wdist
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 1
{
 set %x #charposx
 set %y #charposy
 set %x2 %x + %wdist
 set %y2 %y - %wdist
 move %x2 %y2 0 10s
 wait 3s
 return
}
if #chardir = 2
{
set %x #charposx
set %y #charposy
set %x2 %x + %wdist
set %y2 %y
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 3
{
set %x #charposx
set %y #charposy
set %x2 %x + %wdist
set %y2 %y + %wdist
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 4
{
set %x #charposx
set %y #charposy
set %x2 %x
set %y2 %y + %wdist
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 5
{
set %x #charposx
set %y #charposy
set %x2 %x - %wdist
set %y2 %y + %wdist
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 6
{
set %x #charposx
set %y #charposy
set %x2 %x - %wdist
set %y2 %y
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 7
{
set %x #charposx
set %y #charposy
set %x2 %x - %wdist
set %y2 %y - %wdist
move %x2 %y2 0 10s
wait 3s
return
}


;##############Anhang######################

;für die Farbermittlung
;in Neue Datei laden und laufen lasse, wenn die gewünscht Farbe gefunden wurde
;das Script einfach Stoppen.
;Die zugehörige Zahl unter "Variablen Setzen" ändern
;set %color1 39  ;Farbe für Schrittweite          <<< Bsp 39 = Rot
;set %color2 6   ;Farbe für sonstiges Menü        <<< Bsp 6 =Blau

for %i 1 1000
{
set #sysmsgcol %i
event Sysmessage %i
wait 1
}

Vendor Fujin
Offline
 
Beiträge: 209
Registriert: Fr 20. Jan 2012, 14:42

Re: Scripte

Beitragvon Vendor Fujin » Mo 11. Feb 2013, 08:57

Code: Alles auswählen
 ;Einzel-Einschmelzen-Skript  -  zum Verhindern von großen Verlusten beim Einschmelzen

 ;Version 2.3 By FlamingBiFi (Fourier) für den UO FreeShard Sigena www.UoSigena.de
 ;Einschmelzen von Erzen, nicht von Glas und Lehm, in Einzelnen Stacks.Das Erz liegt 0 Tile
 ;genau unter dem schmelzenden Char und die  zuschmelzenen Stacks werden in ein "Erzfreies" (!) Backpack geräumt
 ;Auch das Mainbag ist möglich sofern dort keine Erz- oder Kohlestapel sind.

 ;Vorgehensweise
 ; 1. Erz direkt unter (0 Tile) an den Char auf den Boden legen
 ; 2.1. Backpack mit "setBag-Button" auswählen - Im Backpack darf sich kein anderer Stapel von Erzen/Kohle liegen
 ; 2.2. Esse zum Schmelzen mit "setEsse-Button" auswählen
 ; 2.3. Kohlestapel mit "setKohle-Button" auswählen.
 ; 3. Entscheiden ob Lila Infos angezeigt werden sollen, auf Systemmessage achten (Standart: Infos werden gezeigt)
 ; 4. die Größe der zu schmelzenden Einzel Stapel in der Editbox wählen  (siehe Tipps)

 ; Info: Das Script kehrt zum Menü zurück, wenn kein Erz mehr gefunden, auf dem Boden oder im Bag, gefunden wird oder
 ;       der angegebene Kohlestapel nicht mehr Existiert (leer ist) und die Esse aus ist.
 ;       Das Script wartet bis die Hitpoint über 45 sind falls sie einmal unter 45 Hitpoint fallen
 ;       damit kein Tod durch Explosionen beim Einschmelzen eintritt.
 ;       Gelegentlich kommen Systemmeldungen (Grau nicht vom Script) wie z.B. Gegenstand ist Unbeweglich,
 ;       Meine Tests zeigen das diese unbeachtet bleiben können, das Script sollte trotzdem einwandfrei arbeiten.
 ;       (Der Grund für diese Meldungen sind mir noch nicht ganz klar)
 ;       Mögliche Fehler: You are already holding an Item - tritt auf wenn ihr und das Script gleichzeitig etwas Anheben wollt
 ;                        You already doing something else - tritt auf wenn ihr und das Script gleichzeigt eine Aktion ausführen wollt
 ;                        z.B: Doppelklick auf die Kohle.
 ;                        In den Fällen müsst ihr das Script und den Client Neustarten
 ;                        Das Beenden des Script mitten im Vorgang kann auch zu solchen Fehlern führen.
 ;
 ; Tipps: Schmelzt wertvolle Metalle nicht über eine Stackgröße von 2, die Menge lässt dich über die Editbox einstellen.
 ;        Eine Menge von 2 hat nach meinen Beobachtungen nur Barrenverluste wenn Explosionen auftreten, dies geschieht
 ;        relativ selten und hat bringt nur einen Verlust von 2 Barren mit sich.

 ; Wichting: Die Kohle in einen extra Bag oder direkt neben den Char auf den Boden legen (min 1 Tile entfernt)
           ; im Backpack, der mit setBag bestimmt wurde, darf sich kein andere Erz/Kohlestapel befinden.
           ; Nach jedem Starten des Scriptes müssen Bagpack,Esse und Kohlestapel neu gewählt werden.
           ; Nachdem das Script wieder ins Menü geht weil kein Erz oder die Kohle mehr da ist müssen das Bagpack
           ; und die Esse nicht neugewählt werden. Der Kohlestapel muss nur neugewählt werden wenn der alte Leer/Weg ist.
           ; als Bag zählen auch: Main Bagpack, Packpferd oder jegliche anderen Container wie Truhen etc.


 ;Version 1.0 14.06.2011 Erster Code
 ;Version 1.1 15.06.2011 Kommentare und Systemmessage hinzugefügt
 ;Version 1.2 16.06.2011 event Drag- und Click-Funktion durch exevent ersetzt
 ;                      (zuverlässiger und 1 sekunde schneller je durchgang)
 ;Version 1.3 16.06.2011 Script Stopt nun wenn die Esse neue Kohle benötigt
 ;Version 1.4 09.09.2011 Andere Container mit Erzen oder Kohle dürfen nun geöffnet sein
 ;Version 2.0 16.10.2011 Kohle wird Automatisch nachgelegt
                         ;Auslagern von Scriptcode in  Methoden/Subroutinen
                         ;Farben angepasst - Script Systemmessages werden von den Normalen abgehoben
                         ;Kommentare erweitert und Anleitung aktualisiert
 ;Version 2.1 17.10.2011 Menü hinzugefügt ( Start/setEsse/setKohle/setBag/Info-On/Off -Button & Editbox für Stapelgrößen-Wahl)
                         ;Info - On/Off hinzugefügt zum ein und ausschalten des Lila Infotextes
                         ;Kommentare Angepasst
                         ;Restart Funktion eingebaut - wenn Kohlestapel leer oder kein Erzmehr auf der Char Position
 ;Version 2.2 17.10.2011 ;Pause Button eingefügt
                         ;Script Pausiert bei Tot des Chars oder wenn der Char ausgeloggt ist
 ;Version 2.3 24.10.2011 BETA Bei benötigter Schmelze wird die Schmelze automatisch gesucht und ausgewählt
                         ;Worldsave Absicherung eingebaut

;Geplant:  -

;####################### Init ################################################################################################
    ; Hier ändern wenn anderer Einschmelz-Stack erwünscht
set %info #true
set %bool 0

restart:             ; Springt hierhin wenn kein Erz oder keine Kohle mehr gefunden wurde

gosub getRestartInfo

set %bool 0
set %colorNorm 0
set %colorRot 39
set %colorGruen 58
set %colorBlau 6
set %colorLila 16
set %colorBag %colorGruen
set %colorEsse %colorRot
set %colorKohle %colorLila
set %haufenid 0
set %ore DWJ





;###################### Main - Einschmelzen/Endlosschleife  #################################################################

; Main Methode
; ------- Initialisiere BagPack, Esse und Kohlestack --------

;------------MENÜ -----------------
gosub Menu
repeat
 if start in #menubutton
    goto start
 if esse in #menubutton
    gosub selectEsse
 if kohle in #menubutton
    gosub selectKohle
 if stackBag in #menubutton
    gosub selectBag
 if info in #menubutton
    gosub setInfo
until #false



;MENÜ ENDE

start:
menu Get menge
set %menge #MenuRes
set #menuButton N/A
set #sysmsgcol %colorGruen
event Sysmessage Einschmelzen Gestartet . . .
; ---- beginn Endlos-Schleife --------------
StartSchleife:              ;siehe der Methode "checkStapel", wenn der falsche Stapel gefunden wurde springt Script hier hin
while  #true
{
 gosub checkStatus
 gosub locateErz
 gosub checkStapel
 gosub waitWorldSave
 event macro 17 0           ;haufen wird "doppelgeklickt"
 target 3s  ;wartet bis zu 3sekunden aufs Target
 gosub waitWorldSave
 click %essex %essey d        ;Klickt an die Position der Esse
 wait 20
 gosub checkEsse
 gosub waitWorldSave
 if #targcurs = 1
 {
      gosub findSchmelze
 }
 wait 3s                    ;wartet 3 Sekunden
 gosub checkHits

};ende While Schleife







;##############################################################################################################################
;##############################################################################################################################
;################### Methoden #################################################################################################
;##############################################################################################################################
;##############################################################################################################################
;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub selectBag {
;################## Methode zum Backpack bestimmen #############
event Sysmessage Die einzelnen Erzhaufen muessen in ein Backpack gelegt werden.
set #sysmsgcol %colorBag
event Sysmessage An welche Stelle soll das Erz gelegt werden?
set #sysmsgcol %colorNorm

set #targcurs 1
bag:
if #targcurs = 1
{
   goto bag
}
set %stackbag #ltargetid

wait 20
set #menuButton N/A
event Sysmessage Erz-Bagpack gesetzt!
return
}

;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub selectEsse {
;########### Methode um die Esse zubestimmen ####################
set #sysmsgcol %colorEsse
event Sysmessage Welche Esse soll benutzt werden?
set #sysmsgcol %colorNorm

set #targcurs 1
esse:
if #targcurs = 1
{
   goto esse
}
set %essex #cursorx
set %essey #cursory
wait 20
set #menuButton N/A
event Sysmessage Esse gesetzt!
return
}

;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub selectKohle {
;########### Methode um den Kohlestapel zubestimmen ####################
set #sysmsgcol %colorKohle
event SysMessage Kohlestapel auswaehlen!
set #sysmsgcol %colorNorm

set #targcurs 1

kohle:
if #targcurs = 1
{
   goto kohle
}

set %kohle #ltargetid
wait 20
set #menuButton N/A
event Sysmessage Kohle gesetzt!
return
}

;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub checkEsse {
;######### Überprüft ob Kohle nachgelegen werden muss #####################################
for %i 1 10
{
 scanjournal %i
 if Dieses_Feuer in #journal
    {
    deletejournal
    ;das eigenständige Kohlenachlegen soll noch Programmiert werden
    set #sysmsgcol %colorGruen
    event sysmessage Kohle wird Automatisch Nachlegen! . . .
    set #sysmsgcol %colorNorm
    Key ESC
    wait 10
    click %essex %essey d
    wait 10
    set #ltargetid %kohle
    wait 10
    event macro 22 0
    wait 10
    gosub checkKohlestack
    wait 10

    }
}
return
}

;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub checkHits {
;######### Überprüft die Lebenspunkte / Schütz vor dem Tod durch Explosionen #################
repeat
gosub checkStatus
if #HITS < 50
{
 set #sysmsgcol %colorRot
 event Sysmessage Hitpoint Regeneriren
 wait 1s
 set #sysmsgcol %colorNorm
}
until ( #HITS > 50 )

return
}

;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub locateErz {
;############### Sucht Erz im Bag und am Boden, wenn nichts gefunden wird dann wird das zum Menü zurückkehren #######
;############### Wird Erz am Boden gefunden wird es in der angegebenen "%menge" in den "%stackBag" gepackt #######
 finditem %ore C_ , %stackbag   ;Ore im Ausgewählten Bag suchen

 ; Entscheidung Ore im backpack oder aufm Boden
 if #findcnt > 0  ;wenn Ore im Backpack
 {
    set #sysmsgcol %colorLila
    if %info
       event SysMessage Noch Erz im Bag!
    set #sysmsgcol %colorNorm
    set %haufenid #findid
    set #lobjectid %haufenid
 }
 if #findcnt = 0    ; wenn kein Ore im Backpack
 {
    set #sysmsgcol %colorLila
    if %info
       event SysMessage Kein Erz im Bag! Suche Erz auf dem Boden . . .
    set #sysmsgcol %colorNorm
    finditem  DWJ G_0
    if #findcnt = 0 ;und auch keins auf dem Boden
    {
    set #sysmsgcol %colorRot
    event Sysmessage Kein Erz mehr. Zurueck ins Menu!
    set #sysmsgcol %colorNorm
    set %bool 2
    wait 1s
    goto restart
    }
    set %haufenid #findid
    set #lobjectid %haufenid
    wait 10
    ;Stack ins Backpack
    exevent Drag %haufenid %menge   ;%haufenid wird in locateErz gesetzt
    wait 10
    exevent dropc %stackbag         ;%stackBag wird in selctBag gesetzt
    wait 10
 }

}

 return
}

;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub checkStapel {
;###### Überprüft das nicht der Falsche stapel gewählt wurde ###########

 finditem %haufenid
 if #findstack > %menge
 {
   goto StartSchleife
 }
 return

}

;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub checkKohlestack {
;###### Überprüft ob der Kohlestack bei Ausgegangener Esse noch vorhanden ist #################
    for %i 1 10
    {
       scanjournal %i
       if What_you_selected_does_not_seem_to_exist in #journal
       {
          deletejournal
           set #sysmsgcol %colorRot
           event Sysmessage Kohlestapel leer. Zurueck ins Menue!
           set #sysmsgcol %colorNorm
           set %bool 1
           wait 1s
           goto restart
       }
    }
return
}

;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub Menu {
;#### Erstellt und Ruft das Menü auf ########
menu show 10 10
menu window size 100 275
menu Font Size 7
menu Font color $AA0000
menu text h1 5 5 Einzel-Einschmelzen-Skript
menu Font color $000000
menu text h1 22 30 Stapelgröße:
menu Font Size 10
menu Edit menge 22 45 80 2
menu button stackBag 22 75 80 25 setBag
menu button esse 22 105 80 25 setEsse
menu button kohle 22 135 80 25 setKohle
menu button info 22 165 80 25 Info-On/Off
menu button pause 22 195 80 25 Pause
menu button start 22 225 80 25 Start

menu Font Size 6
menu Font color $0000AA
menu text h3 60 260 by FlamingBiFi
set #menuButton N/A
return
}

;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub setInfo {
;#### Methode zum setzen der Variable "%info" / %info bestimmt ob Lila Systemmeldungen angezeigt werden ####
 if %info
 {
   set %info #false
   event Sysmessage Info ausgeschaltet
 }
 else
 {
   set %info #true
   event Sysmessage Info angeschaltet
 }


 set #menubutton N/A
 return
}

;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub getRestartInfo {
;### Methode zur Information ob neuer Kohlestapelnotwenig ist oder das Erz komplett eingeschmelzt wurde ######
;### Gibt die Information über die Systemmeldungen aus ########
if %bool = 1
{
set #sysmsgcol %colorGruen
event Sysmessage  Neuen Kohlestapel auswaehlen!
set #sysmsgcol %colorNorm
}
if %bool = 2
{
set #sysmsgcol %colorGruen
event Sysmessage Neues Erz platzieren!
set #sysmsgcol %colorNorm
}
return
}


;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub checkStatus {    ;ungetestet
 ;### Methode Überprüft ob Char ausgeloggt oder Gestorben. Wenn eines davon zutrift geht das Script zurück ins Menü ###
 if #charghost = yes     ; wenn gestorben zurück zum Menü
 {
    set #sysmsgcol %colorRot
    event Sysmessage Char Tod! Zurück ins Menu
    set #sysmsgcol %colorNorm
    goto restart
 }
 if pause in #menubutton
 {
    set #sysmsgcol %colorGruen
    event Sysmessage Pause, zurueck ins Menue!
    set #sysmsgcol %colorNorm
    goto restart
 }
 if #clilogged = 0 ;wenn ausgeloggt Skript beenden
 {
    set #sysmsgcol %colorRot
    event Sysmessage Char Ausgeloggt! Script gestoppt!
    set #sysmsgcol %colorNorm
    halt
 }
 return
}


;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub findSchmelze {
;findet die benötigte Schmelze und benutzt die

finditem %ore C_ , %stackbag
wait 10

if #findcol = 1642 ;Andril
{
finditem IPF
wait 10
set #ltargetid #findid
wait 10
event macro 22 0
return
}
if #findcol = 2220 ;Mithril
{
finditem LPF
wait 10
set #ltargetid #findid
wait 10
event macro 22 0
return
}
if #findcol = 1424 ;Uramit
{
finditem MUF
wait 10
set #ltargetid #findid
wait 10
gosub waitWorldSave
event macro 22 0
return
}
return
}


;-----------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------
sub waitWorldSave {
 wait 10
 for %i 1 10
 {
      scanjournal %i
      if speichere in #journal
      {
         deletejournal
         wait 5s
      }
 }  ;ende for %i 1 10
 return
} ;ende sub waitWorldSave


Vendor Fujin
Offline
 
Beiträge: 209
Registriert: Fr 20. Jan 2012, 14:42

Re: Scripte

Beitragvon Vendor Fujin » Mi 13. Feb 2013, 16:58

Die "Fehlermeldung" passt zu einer älteren Version.
Wenn du magst versuch das.
Wie gesagt das Script ist alles andere als Schick

Code: Alles auswählen
; All-Mining-Script von Fourier für den UO-Shard Sigena www.uosigena.de
; Code Schnipsel aus dem Mining Script von Maxim Perdon Kopiert, Vielen Dank an der Stelle
; Das Auswählen des abzubauenden Materials ist für das umlagern in Packy von Bedeutung
; die Zahl für die gewüschte Farbe des Menüs Farben können mit dem Unten angehangenen Script
; ermittelt werden


;############ Variablen Setzen ###########################

;set %PackyBagId DVRPOIF
set %Kristall #true
set %packy BO_WN
set %wdist 5           ;Schrittweite
set %color1 39  ;Farbe für Schrittweite
set %color2 6   ;Farbe für sonstiges Menü
set #ltargetx #charposx
set #ltargety #charposy
set %k 0

set #sysmsgcol %color1
event SysMessage Packpferd auswaehlen!
event SysMessage ( Packpferd Tasche oeffnen )
event SysMessage mit ( alt + b )  bestätigen
set #sysmsgcol 0


repeat
      onhotkey b alt
      {
        set %PackyBagId #contid
        goto start
      }
until #false

start:

gosub menu ;setzt den Steintyp und/oder geht in die Methode SChrittweite
gosub feld


repeat
      gosub walk
      gosub feld
until #false



;################### Menü #################################
sub menu
{
set #sysmsgcol %color1
event Sysmessage Schrittweite auf %wdist gesetzt
set #sysmsgcol %color2
event SysMessage Ore (Alt + O)
event SysMessage Lehm (Alt + L)
event SysMessage Sand (Alt + S)
event SysMessage Schrittweite aendern (Alt + W)
set #sysmsgcol 0

set #lpc 1000
repeat
{
      onhotkey o alt     ;Ore setzen
      {
       set %Stein DWJ
       event SysMessage Startet Ore Mining!
       return
      }
      onhotkey l alt     ;Lehm setzen
      {
       set %Stein TMK
       event SysMessage Startet Lehm Mining!
       return
      }
      onhotkey s alt     ;Sand setzen
      {
       set %Stein POF
       event SysMessage Startet Sand Mining!
       return
      }
      onhotkey w alt     ;Schritt setzen
      {
       gosub schritt
      }
sleep 1

until #false

event SysMessage watt
}




;################### METHODE FELD ###############################

sub feld {

for %xx -2 2
{
 for %yy -2 2
 {
 gosub mine %xx %yy
 wait 1s

 }
}
return
}

;#################### Methode MINE #######################################
sub mine {
set #ltargetx #charposx + %1 ;setz x Komponente des Tilt (%xx aus 25 Tilt)
set #ltargety #charposy + %2 ;setz y Komponente des Tilt (%yy aus 25 Tilt)



While #true       ;Endlos-Schleife
{
;if %kristall
   gosub Kristall
finditem TWF C_ , #Backpackid       ;Sucht Schaufel (TWF = Typ Bezeichnung von Schaufeln)
set #lobjectid #findid    ;Gefunde Schaufel-ID wird als Last-Object-ID gesetzt

event macro 17 0       ;Use Last Object
target 1s              ;wartet auf ein Target (max 1 Sekunde)
event macro 22 0       ;Auf letzes Ziel zielen
wait 20               ;Wartet (20 = 1sek)

;############### Überprüft ob auf dem Tilt noch Sand abzubauen ist ######
set %k ( %k + 1 )

for %i 1 5
{
scanjournal %i
if Hier_kann_kein_sand_mehr_abgebaut_werden in #journal  || Hier_kann_kein_clay_mehr_abgebaut_werden in #journal || Hier_gibt_es_kein_Erz_mehr_abzubauen in #journal  || Hier_ist_nichts_zu_holen in #journal  || %k > 2
{
;msg %k $
set %k 0
;msg %k $
event SysMessage Tilt Wechsel!
deletejournal



return
}
}
;########################################################################

;#### Ins Packpferd lagern (Kopiert aus dem Mining Script von Maxim Perdon ) ####
 if #weight => #maxweight
     {
     set #nextcposx 765
     set #nextcposy 555
     set %2 0
     set %1 0
     tryagain:
     finditem %packy G_1
     if #findkind = -1
        {
        set %1 %1 + 1
        if %1 > 2
        {
        event sysmessage da ist was mit deinem packy kaputt!
        event sysmessage kuemmer dich mal um das problem
        pause
        }
        event macro 1 0 All come
        wait 2s
        goto tryagain:
        }
     if #findkind > -1
        {
        set #lobjectid #findid
        event macro 17 0
        wait 1s
        }
      erzumlagern:
      set %2 %2 + 1
      if %2 > 6
      {
      event sysmessage Packpferd voll?
      pause
      set %2 0
      }

      finditem %Stein C_ , #backpackid
      if #findkind = -1
      {
       return
      }
      if #findcol = 0
      {
       exevent drag #findid #findstack
       msg $
       exevent dropc %PackyBagId
       wait 1s
       goto erzumlagern
      }
      if #findcol <> 0
      {
       exevent drag #findid #findstack
       msg $
       exevent dropc %PackyBagId
       wait 1s
       goto erzumlagern
      }
      }
  }
}
return
}
;################# Methode WALK #######################################
;#### Geht weiter in die Richtung in die der Char schaut (Kopiert aus dem Mining Script von Maxim Perdon ) ####

sub walk  {
if #chardir = 0
{
set %x #charposx
set %y #charposy
set %x2 %x
set %y2 %y - %wdist
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 1
{
 set %x #charposx
 set %y #charposy
 set %x2 %x + %wdist
 set %y2 %y - %wdist
 move %x2 %y2 0 10s
 wait 3s
 return
}
if #chardir = 2
{
set %x #charposx
set %y #charposy
set %x2 %x + %wdist
set %y2 %y
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 3
{
set %x #charposx
set %y #charposy
set %x2 %x + %wdist
set %y2 %y + %wdist
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 4
{
set %x #charposx
set %y #charposy
set %x2 %x
set %y2 %y + %wdist
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 5
{
set %x #charposx
set %y #charposy
set %x2 %x - %wdist
set %y2 %y + %wdist
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 6
{
set %x #charposx
set %y #charposy
set %x2 %x - %wdist
set %y2 %y
move %x2 %y2 0 10s
wait 3s
return
}
if #chardir = 7
{
set %x #charposx
set %y #charposy
set %x2 %x - %wdist
set %y2 %y - %wdist
move %x2 %y2 0 10s
wait 3s
return
}
}

;######### METHODE SCHRITTWEITE ############
;################### Schrittweite ##########################
sub schritt
{
set #sysmsgcol %color2
event SysMessage 3 Schritte (Alt + 3)
event SysMessage 4 Schritte (Alt + 4)
event SysMessage 5 Schritte (Alt + 5)
set #sysmsgcol 0

set #lpc 1000
repeat
      onhotkey 3 alt     ;3 Schritte
      {
      set %wdist 3
      return
      }
      onhotkey 4 alt     ;4 Schritte
      {
      set %wdist 4
      return
      }
      onhotkey 5 alt     ;5 Schritte
      {
      set %wdist 5
      return
      }
sleep 1
until #false
}


sub Kristall {
;##################### Automatisches Kristallabbauen #################################
;hinzugefügt von FlamingBiFi (IG:Dlavdo/Fourier) am 09.09.2011
             finditem JUO G_ , 1
             event Sysmessage TEST1!
             if #findstack > 0
             {
               event macro 1 0 .disarm
                set #lobjectid #findid
                finditem NPF C_ , #Backpackid
                if #FINDSTACK > 0
                {
                      event macro 17 0
                      event macro 1 0 KRISTALLE!
                }
                wait 5s
                goto weiter
              }
;event Sysmessage #TIME

;###################################################################################'##
return
}
;##############Anhang######################

;für die Farbermittlung
;in Neue Datei laden und laufen lasse, wenn die gewünscht Farbe gefunden wurde
;das Script einfach Stoppen.
;Die zugehörige Zahl unter "Variablen Setzen" ändern
;set %color1 39  ;Farbe für Schrittweite          <<< Bsp 39 = Rot
;set %color2 6   ;Farbe für sonstiges Menü        <<< Bsp 6 =Blau

for %i 1 1000
{
set #sysmsgcol %i
event Sysmessage %i
wait 1
}

Vendor Fujin
Offline
 
Beiträge: 209
Registriert: Fr 20. Jan 2012, 14:42

Re: Scripte

Beitragvon Vendor Verwalter » Mo 18. Feb 2013, 19:38

Das Script ist für Jektion
es Isst 2 beef sobald die dex unter 15 fällt



sub Nahrung()
While 1
Wait (100)
if UO.Stamina < 15 then
wait(2500)
UO.UseType('FND')
end if
Wend
end sub
Vendor Verwalter sitzt im Zelt vor der Magielehranstalt
Teleporter in Sunna ---> Magielehranstalt ---> Vendor Verwalter

Vendor Verwalter
Offline
 
Beiträge: 228
Registriert: Mi 5. Sep 2012, 17:53

Re: Scripte

Beitragvon Tontaube » Fr 31. Mai 2013, 18:50

Kleine Erleichterung für Zauberlehrlinge.
zum trainieren von Magery mit Spruchrolle.

weiss net obs sowas hier schon gibt, hab aber auch keine lust zu gucken :mrgreen:

Code: Alles auswählen
; UOSigena.de
; Zum Skilen von Magery per Spruchrolle
; Vorher einmalig die gewünschte Spruchrolle nutzen
; und einmal Meditieren
; Falls die Rolle KEIN Ziel erfordert bitte die beiden
; gekennzeichneten "event macro" zeilen
; löschen oder mit ; ausnehmen
; Script by Tontaube 2013

repeat
{
if #mana <= ( #maxmana / 3 )
  {
  repeat
    {
    event macro 14 0
      scanjournal 1
      if Ihr_beginnt_zu_meditieren in #journal
        {
        wait 45s
        }
      else
        {
        wait 10s
        }
    }
  until #mana = #maxmana
  }
else
  {
  event macro 17 0
  wait 4s
;------------------------------------------
  event macro 25 0        ;nur für Zauberrollen die
  event macro 22 0        ;ein Ziel erfordern
;----------------------------------------
  }
}
Diese Signatur ist in ihrem Land leider nicht verfügbar, da die GEMA noch nicht reich genug ist.

Helft im Sigena Wiki mit!
Benutzeravatar
Tontaube
Offline
 
Beiträge: 251
Registriert: Fr 23. Nov 2012, 07:43

Re: Scripte

Beitragvon Tontaube » Do 13. Feb 2014, 07:15

Kistenknacker-Helfer

einfach das script anmachen und den lootbeutel angeben.
per F11 kann man sich einen zielcursor herholen mit dem man dann die kiste auswählt
falle entschärfen, schloss knacken und kiste leeren geht dann von alleine

auch gegengifte werden selbstständig getrunken und bandagen angelegt, falls euch mal ne falle erwischt hat.

ist nicht das schnellste kistenknackerscript auf sigena, aber es tuts ;)

Code: Alles auswählen
; Disarm/Lockpick Helper
; by Tontaube - 2014
; for www.uosigena.de

; Dietriche müssen sich irgendwo im Backpack befinden.
; Sofern Bandagen und Gegengift vorhanden sind
; werden diese Automatisch genutzt.

; Script starten, Lootbag auswählen.
; Mit F11 wird der eigentliche "Knackvorgang" gestartet
; Automatisches Lockpick, Disarm Trap und
; Transfer aller Items in den Lootbag


set %msg1 schloss_geknackt
set %msg2 Das_ist_nicht_verschlossen
set %msg3 Ihr_wurdet_von_Imoen_vergiftet
set %msg4 Ihr_loest_eine
set %msg5 Ihr_entfernt_erfolgreich_die_Falle
set %msg6 Falle_dran
set %msg7 now_

event sysmessage Lootbag auswaehlen
set #targcurs 1
while #targcurs = 1
  {
  wait 1
  }
set %lbag #ltargetid

finditem NWH C ;Dietriche suchen
if #FindCNT < 1
  {
  event sysmessage keine Dietriche, bitte besorg welche und starte das Script neu!
  pause
  }
else
  {
  set %tool #findid
  }

sub auswaehlen
set #targcurs 1
while #targcurs = 1
  {
  wait 1
  }
set %kiste #ltargetid
return

sub waitforkey
{
while #true
  {
  onhotkey F11
  return
  wait 1
  }
}

sub disarm
{
set #ltargetid %kiste
event macro 13 48 ;falle entschärfen
target 1s
event macro 22 0
wait 40
scanjournal #jindex
if ( %msg3 in #journal ) || ( %msg4 in #Journal ) || ( %msg5 in #Journal ) || ( %msg6 in #Journal ) || ( %msg7 in #Journal )
  {
  return
  }
else
  {
  wait 10s
  gosub disarm
  }
}

sub checkpoison
{
if ( c notin #charstatus )
  {
  return
  }
else
  {
  finditem NUF C ;Gegengift Suchen
  if #FindCNT < 1
    {
    event sysmessage Keine Gegengifte. Du musst wohl mit den Scherzen leben
    return
    }
  else
    {
    set #lobjectid #findid
    event macro 17 0  ;last object
    return
    }
  }
}

sub checkhealth
finditem ZLF C ;Bandagen suchen
if #FindCNT < 1
  {
  event sysmessage keine Bandagen mehr, bitte besorge neue
  pause
  }
else
  {
  if ( c in #charstatus )
    {
    return
    }
  else
    {
    while ( #hits < ( #maxhits - 1 ) )
      {
      event macro 1 0 .healme
      wait 8s
      }
    }
  }
return

sub lockpick
{
finditem NWH C ;Dietriche suchen
if #FindCNT < 1
  {
  event sysmessage keine Dietriche mehr, bitte besorge neue!
  pause
  }
else
  {
  set #ltargetid %kiste
  set #lobjectid %tool
  event macro 17 0 ;last object
  target 1s
  event macro 22 0
  wait 50
  scanjournal #jindex
  if ( %msg1 in #journal ) || ( %msg2 in #journal ) || ( %msg7 in #journal )
    {
    return
    }
  else
    {
    gosub lockpick
    }
  }
}


sub transfer
set #lobjectid %kiste
event macro 17 0 ;last object zum kiste öffnen
wait 10
finditem * C_ , %kiste  ;items verschieben
if #findkind <> -1
  {
  exevent drag #findid #findstack
  wait 5
  exevent dropc %lbag
  gosub transfer
  }
return

while #true
  {
  gosub waitforkey
  gosub auswaehlen
  gosub disarm
  gosub checkpoison
  gosub checkhealth
  gosub lockpick
  gosub transfer
  }
Diese Signatur ist in ihrem Land leider nicht verfügbar, da die GEMA noch nicht reich genug ist.

Helft im Sigena Wiki mit!
Benutzeravatar
Tontaube
Offline
 
Beiträge: 251
Registriert: Fr 23. Nov 2012, 07:43

Re: Scripte

Beitragvon Tontaube » Do 13. Feb 2014, 07:21

Script für den Tamer/Archer zum Veterinary und Archery am eigenen Tier üben.

einfach im Stall einige Tiles vom Ziel entfernt aufstellen und einen (Composit-)bogen in die Hand nehmen.
Pfeile und Bandagen irgendwo ins Backpack legen.

je nach Ziel und können am Bogen muss man evtl an der makierten stelle etwas mit der Zeit herumprobieren!!
Standard ist: 10 sekunden lang archern, dann zum Ziel hinlaufen und das beschossene Tier wieder hochheilen.
Wieder auf die ursprungsposition und es beginnt es von vorne
Die Zeit muss so lange sein, das man net ständig nur rennt aber auchnicht aus versehen sein Tier erschiesst.

Die Pfeile sammeln sich "im tier" an. die könnt ihr entweder rausklauen, oder ihr legt das viech später um.

das Script stoppt automatisch falls euch Pfeile oder Bandas ausgehen.


Code: Alles auswählen
; Archery/Veterinary Script
; by Tontaube 2014
; for www.uosigena.de

; einfach einige Tiles vom Ziel entfernt aufstellen
; Compositbogen in der Hand
; Pfeile und Bandagen irgendwo im Backpack
; je nach Ziel und können am Bogen muss man evtl
; an der makierten stelle etwas mit der Zeit herumprobieren



set %oldX #charposx
set %oldY #charposy
set %msg1 Der_Patient_erfreut

sub mymove
    wait 5
    move %1 %2 %3
return

sub heal
repeat
  {
  event macro 1 0 .loot all
  heal:
  finditem ZLF C ;bandagen suchen
  if #FindCNT > 0
    {
    set #ltargetid %1
    event macro 1 0 .healother
    target 1s
    event macro 22 0
    wait 6s
    }
  else
    {
    event sysmessage Bandas leer, bitte neue holen!
    pause
    }
  }
scanjournal #jindex
until %msg1 in #journal
return

sub shoot
  event macro 1 0 .loot all
  finditem RWF C ;Pfeile suchen
  if #FindCNT < 1
    {
    event sysmessage Pfeile leer, bitte neue holen!
    pause
    }
  else
    {
    event macro 6 0
    set #ltargetid %1
    event macro 27 0
    wait 10s                ;Wie lange wird gearchert, bevor zum Heilen geht.
    event macro 6 0
    }
return
 

event sysmessage Ziel auswaehlen
set #targcurs 1
while #targcurs = 1
  {
  wait 1
  }
set %ziel #ltargetid


while #true
  {
  gosub mymove %oldX %oldY 0
  gosub shoot %ziel
  finditem %ziel
  gosub mymove #findX #findY 1
  gosub heal %ziel
  }
Diese Signatur ist in ihrem Land leider nicht verfügbar, da die GEMA noch nicht reich genug ist.

Helft im Sigena Wiki mit!
Benutzeravatar
Tontaube
Offline
 
Beiträge: 251
Registriert: Fr 23. Nov 2012, 07:43

Re: Scripte

Beitragvon Quarzul » Sa 12. Jul 2014, 20:26

Winziges Meditationsscript.

Es funktionert auch, wenn der Char auf Reisen ist. Naürlich kann man damit nicht kämpfen, weil ich das Umschalten War/Peace für die Medi-Unterbrechung benutze. Kürzere Laufzeiten scheinen nicht zu gehen, weil dann immer eine Aktion erst abgeschlossen werden soll, laut Textmeldung.

Achtung: Man darf Scripte ja ohnehin nicht AFK-verwenden, aber hier kann es nach einer Zeit auch schief gehen. Wenn Euer Rechner zwischendurch etwas anderes macht, also beschäftigt ist, kann es dazu kommen, dass die Umschaltung War/Peace nicht richtig klappt, so dass ihr anschliessend vesucht um War-Modus zu meditieren, was nicht geht. In dem Fall einfach den Modus per Hand berichtigen.

Vielleicht kann ich später da eine Abfrage einbauen.
Spoiler: Zeigen
; Setze zuerst den Magierhut auf
event macro 1 0 .unbuff
wait 1s
event macro 13 46 ; medi
wait 8s
event macro 6 0 ; medi interupt
wait 1s
event macro 6 0

Quarzul
Offline
 
Beiträge: 40
Registriert: Mi 4. Jun 2014, 16:37

Re: Scripte

Beitragvon Tontaube » Sa 20. Sep 2014, 12:39

Script zum gainen von MR und Magery beim Druiden
Zaubert am laufenden band schneestürme
dazischen bufft, heilt und meditiert es
die benötigten Reags werden auch gezählt.

kann man sicherlich auf auch Magier/Feuersturm bzw Nekro/Todeswolke umbauen

Spoiler: Zeigen
Code: Alles auswählen
;Schneesturm Script
;zum PowerGain von MagicResistace
;und Magery beim Druiden
;www.uosigena.de
;Tontaube 2014

while #true
{
  gosub ReagCount
  gosub Buffen
  gosub Heilen
  gosub Schneesturm
  gosub Heilen
  gosub Medi
}

sub ReagCount
set %neg = 0
gosub FI JZF 1 7 ;ginseng   %1=ObjectID %2=Array-Zahl für die Variable %3 Mindestmenge bei der das script stoppt
gosub FI KZF 2 9 ;knoblauch
gosub FI MZF 3 3 ;alraune
gosub FI EUF 4 1 ;blutiger Laich
gosub FI FUF 5 1 ;schwefel
gosub FI JUF 6 1 ;blutmoos
gosub FI JUF 7 0 ;Spinnenseide
event sysmessage %reag3 Alraune, %reag6 Blutmoos, %reag1 Ginseng, %reag2 Knoblauch, %reag7 Spinnenseide, %reag4 blutiger Laich und %reag5 Schwefel.
while %neg 1
  {
  event sysmessage zu wenig reags, script gestoppt
  stop
  %neg 0
  }
return
}

sub FI
{
  finditem %1 C
  set %reag . %2 #findstack
  if #findcnt <= %3
    {
    set %neg 1
    }
return
}

 
sub Buffen
{
  if #maxhits <= 93
  {
    event macro 1 0 .castspell Segen
    wait 3s
    event macro 25 0
    event macro 23 0
    event macro 1 0 .castspell Staerke
    wait 1s
    event macro 25 0
    event macro 23 0
  }
return
}


sub Schneesturm
{
  event macro 1 0 .castspell Schneesturm
  wait 20s
return
}

sub Heilen
{
  while #hits <= ( #maxhits - 20 )
  {
    event macro 1 0 .castspell Heilen
    wait 1s
    event macro 25 0
    event macro 23 0
  }
return
}

sub Medi
{
  while #mana <= ( #maxmana - 20 )
  {
    event macro 13 46
    wait 10s
  }
return
}


Diese Signatur ist in ihrem Land leider nicht verfügbar, da die GEMA noch nicht reich genug ist.

Helft im Sigena Wiki mit!
Benutzeravatar
Tontaube
Offline
 
Beiträge: 251
Registriert: Fr 23. Nov 2012, 07:43

Re: Scripte

Beitragvon Bonbori » Mi 22. Okt 2014, 21:32

Script zum einschmelzen von Sondererz. Funktioniert nicht mit Andril, Mithril und Uramit:

Code: Alles auswählen
; Kohle, Erz und Esse müssen innerhalb von 2 Feldern vom Char sein und dürfen nicht befestigt sein!
; Von dem Erz, das geschmolzen werden soll, darf beim Start des Scripts nichts im Backpack liegen.
set %ore Bronzeerz ;Name des Erzes
set %getStackSize 5 ;Menge, die jeweils auf einmal geschmolzen wird

; Ab hier nix mehr anfassen! ;
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
Benutzeravatar
Bonbori
Offline
 
Beiträge: 693
Registriert: Di 28. Dez 2010, 01:41

Re: Scripte

Beitragvon TarTheCat » Do 6. Nov 2014, 21:58

Box/Healscript, Original von FlamingBifi
Anpassungen:
-Heilsubs auf .healme und .healother geändert.
-Die Textkommandos mit Event Macro 1 0 eingepflegt (stört den eigentlich Chat nicht)
-Aus den dedizierten 2 Scripts eines gemacht für maximalen persönlichen Gain
(im Idealfall: Boxen, Tacs, Heal, Anatomy; ggf noch Block und mit hohen Skills in Wrestling und Healing vmtl auch für Waffentraining geeignet)

Spoiler: Zeigen
Code: Alles auswählen
;Healing Script 1.0 für Powergamen/Boxen von FlamingBiFi/Fourier für den UO Freeshard Sigena www.uosigena.de
;Heilt sich selbst wenn die HP unter die Hälfte fallen und eine Ausgesuchte Person wenn diese "aua" schreibt
;Ein Script welches den Partienten "aua" sagen lässt findet ihr im Anhang
;Getestet auf Sigena mit EasyUo 1.5 Version 146
;Version 1.1 22.08.2014  (by TarCat)

%Patient 0

event Sysmessage Wer soll geheilt werden
set #targcurs 1
back:
if #targcurs = 1
{
goto back
}

set %Patient #ltargetid


repeat
{
if #hits < ( #maxhits - 30 ) ;Ab wieviel Schaden ihr euch selbst heilt
gosub selbstheilen
for %i 1 10
{
scanjournal %i
if aua in #journal
gosub anderenheilen
}
until #false


;##### Selbstheilen Heilen Methode ##############

sub selbstheilen
{
event macro 1 0 .healme
wait 10s
return
}

;##### Andere Heilen Methode ##############
sub anderenheilen
{
deletejournal

event macro 1 0 .healother

target 3s
set #ltargetid %Patient
event macro 22 0

wait 10s
return
}

if #HITS < ( #MAXHITS / 3 ) ;ab wieviel Schaden ihr eine Heilhilfe vom anderen erbittet
{
 event macro 1 0 aua
 wait 10s
}
Benutzeravatar
TarTheCat
Offline
 
Alter: 39
Beiträge: 109
Registriert: Do 7. Aug 2014, 10:43

Re: Scripte

Beitragvon Egon Hammerstein » Mo 11. Mai 2015, 08:28

Hallo zusammen,

hat zufällig jemand ein funktionierendes Script für Inscription?
Die zwei die hier angeboten werden funktionieren leider bei mir nicht.
Oder einen Tipp wie ich die hier vorhandenen Scripte zum laufen kriege.
Danke im vorraus :)

LG
Egon

Egon Hammerstein
Offline
 
Beiträge: 32
Registriert: Mo 23. Mär 2015, 16:53

Re: Scripte

Beitragvon Estarom23 » Mo 24. Aug 2015, 17:14

Hallo zusammen,

Ich bin daran ein Bogenbauer zu werden, aber mit dem sammeln von Holz tue ich mich noch schwer bzw. manuelles sammeln ist auf diese menge zu schwer. Skripte schreiben verstehe ich nicht, auch mit allen verfügbaren Erklärungen. Kann mir jemand ein Lumberjackingskript geben. Hat jemand ein paar fertig kreierte Skripts welche ich verwenden könnte? Habe schon Stunden damit verbracht selbst eines zu kreieren, aber das gebe ich auf...!

Vielleicht kann mir jemand von euch helfen.

mfg
Estarom23

Estarom23
Offline
 
Beiträge: 31
Registriert: Sa 21. Mär 2015, 15:10

Re: Scripte

Beitragvon Bonbori » Mi 9. Sep 2015, 18:56

Im Wiki ist im Lumberjacking-Artikel mein Script verlinkt. Ganz ohne Anpassungen (Wegpunkte) wird das aber nicht laufen.
Benutzeravatar
Bonbori
Offline
 
Beiträge: 693
Registriert: Di 28. Dez 2010, 01:41

Re: Scripte

Beitragvon Aeroneth » Fr 8. Jan 2016, 23:52

Bonbori hat geschrieben:
Spoiler: Zeigen
Code: Alles auswählen
;Peacemaking Script by Bonbori
;Dieses Script übt Peacemaking aus und attackiert eine beliebige Anzahl Monster dannach wieder, um wieder an ihnen gainen zu können.
set %mobs ZC_YD_WE ;Typen mit _ getrennt. Momentan Zombies, Skelette und Gespenster
set %instrument ID_HIER_EINTRAGEN ;ID des Musikinstruments, das benutzt werden soll. Muss in der Hand sein (außer bei Großharfen)
while #true
      {
       gosub provoke
       gosub peace
      }

sub provoke
repeat
      event macro 50 5
      set %current #ltargetid
      finditem %current G_15
          set %type #findtype
          if %type in %mobs
             {
              event macro 53
              ignoreitem #findid
             }
until #findkind = -1
ignoreitem reset
return

sub peace
    event macro 13 9
    wait 100
    set #lobjectid %instrument
    event macro 17 0
    wait 100
return




Wie und wo kann man bei diesem Script Z.B. Riesenschlangen, Ins und Ochsenmenschen eintragen?
Entschuldigung, falls die Frage doof ist.^^

Aeroneth
Offline
 
Beiträge: 2
Registriert: Mo 21. Dez 2015, 16:14

VorherigeNächste

Zurück zu Videothek / Scripte

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste