Seite 1 von 1

casten von rollen per script?!

BeitragVerfasst: Di 25. Jun 2013, 14:09
von Tontaube
ich weiss das wir einen .castscroll befehl haben. allerdings will der als übergabeparameter keinen spruchnamen, sondern eine zahl.
Beispiel:
.castspell Heilung funktioniert einwandfrei
.castscroll Heilung funktioniert nicht. auch mit 1 (erster spruch im spellbook) oder 11 (erster zirkel, erster spruch) gehts nicht.
im OSI-UO ist kleine heilung der 4te spell des ersten zirkels. also auch mit 4 und 14 probiert. ohne erfolg.

an dem punkt hatte ich dann keine lust mehr und wollte das ganze im script über einen "use" oder "nutze" befehl lösen.
sowas hab ich allerdings nicht finden können, also muss es der "click" befehl tun:
(lasst euch nicht davon stören das es feuerwand (ItemID: AUL) scrolls sind. mir sind beim testen die kleinen heilungen ausgegangen.)
Code: Alles auswählen
finditem AUL C    ;sucht nach feuerwandscrolls in allen offenen containern
if #FINDCNT > 0
{
  click #findx  #findy d    ;klick auf die bildschirmkoordinaten der gefundenen rolle
  wait 5s                        ;Zeit zum zaubern 
  event macro 23 0         ;target self
}
else
event sysmessage Keine Feuerwand-Scrolls im Inventar


auch das war ergebnisslos. nach genauerem hingucken ist mir aufgefallen, das die von "finditem" übergebenen bildschirmkoordinaten genau die linke obere ecke der graphik anvisieren. man klickt also "ins leere". mit einigem augenmaß hab ich hier die x und y koordinaten angepasst (bei \\ "west-ost rollen": +20x +10y und bei // "Nord-süd rollen" +15x +10y) so trifft man die rolle. wenn ich die koordinaten händisch ins script tippe (beispiel: "click 1250 953 d") funktioniert das auch einwandfrei.
nun liegen ja nicht bei jedem spieler, an jedem tag die rollen und bags genauso, also müssen sich die dämlichen koordinaten gefälligst selbst anpassen:
Code: Alles auswählen
finditem AUL C   ;sucht nach feuerwandscrolls in allen offenen containern
if #FINDCNT > 0
{
%clickx = ( #findx + 20 )
%clicky =  ( #findy + 10 ) ;bildschirmkoordinaten anpassen
  click %clickx %clicky d   ; doppelklick auf angepasste koords
  wait 5s                        ;Zeit zum zaubern 
  event macro 23 0         ;target self
}
else
event sysmessage Keine Feuerwand-Scrolls im Inventar


leider funktioniert auch das nicht. es mach fast den eindruck als funktioniert der click befehl nur mit festen werten. (und das wäre ja wohl ausgesprochen nutzlos).

mir wäre eine lösung über .castscroll am liebsten, weil am einfachsten, nehme aber auch ansonsten jede hilfe an.

Nachtrag (edit):
achso, das ganze über "set #lObjectID" und "event macro 17 0" (also lastObjekt) zu relaisieren habe ich garnicht erst weiterverfolgt.
das wirkt irgendwie immer so unsauber. diesen lösungsweg will ich also nach möglichkeit vermeiden.

Re: casten von rollen per script?!

BeitragVerfasst: Di 25. Jun 2013, 16:17
von Admin Gymir
Code: Alles auswählen
Zum casten eines Spruches von einer Spruchrolle.
.castscroll Objekttype
Beispiel Plumpheit:
.castscroll 0x01F2E
Benutze .type zum Herausfinden des Objekttypes.

Re: casten von rollen per script?!

BeitragVerfasst: Di 25. Jun 2013, 17:22
von Tontaube
ahhh... so simpel >_>

dank dir

kann dann in die ablage

Re: casten von rollen per script?!

BeitragVerfasst: Di 25. Jun 2013, 18:45
von Laios
Das lasse ich hier ;). Die Hilfe ist auch für andere Interressant

Re: casten von rollen per script?!

BeitragVerfasst: Fr 12. Aug 2016, 08:27
von Amarutu
Ich hab das mal ins Wiki übernommen.

Re: casten von rollen per script?!

BeitragVerfasst: Fr 12. Aug 2016, 21:21
von Bonbori
achso, das ganze über "set #lObjectID" und "event macro 17 0" (also lastObjekt) zu relaisieren habe ich garnicht erst weiterverfolgt.
das wirkt irgendwie immer so unsauber. diesen lösungsweg will ich also nach möglichkeit vermeiden.


Das wäre aber genau der übliche und richtige Weg, das zu machen.