You are not logged in.

Dear visitor, welcome to Runes of Magic EU. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

41

Saturday, October 3rd 2009, 10:36pm

Hab bisschen im Forum rumgesucht, noch nichts dazu gefunden:
Ich hab den Bewahrer angefangen zu spielen, da ich gern mit den Macros rumspiele und schon einiges nachbauen konnte, wollte ich nun auch mit meinem Pet etwas rumalbern:
Das Pet hat ja ne eigene Hotbar, weiss einer wie man die ansteuern kann?
Wie ich das Pet anwähle hab ich schon selber herausgefunden:
/script TargetUnit("pet")

Hoffe, dass mir da einer weiterhelfen kann, alternativ die Funktionen wie ich die "Befehle" des Pets aufrufen kann. Vielleicht denke ich wieder zu komplex. Danke

Corto666

Trainee

Posts: 617

Location: worstcase (wurstkasten)

Occupation: Fachinformatiker

  • Send private message

42

Saturday, October 3rd 2009, 11:06pm

kommt die petquickbar genau hinter den normalen bars? so genau kannst du nicht geschaut haben ^^ wenn du weist wie man die normalen 4 leisten steuert sollte das eigentlich auch klar sein...

Update::

UnitChangeHealth gibt sobald sich die lp ändern die letzte änderung aus, und ist somit nach dem ersten schlag unbrauchbar...

werde es nun wohl mit einer einfachen "if Boss then" abfrage machen, und zwar damit:

Quoted from "www.theromwiki.com/index.php/API:UnitSex"


API:UnitSex


From Runes of Magic Wiki - The Runes of Magic

Get the gender of a unit.
UnitSex(unit)

Parameter :

(unit String) - the UnitID (e.g. "player", "target", "party1", "raid1", etc..)

Returns :


genderID Integer - returns 0 for male and 1 for female, 2 for elite mobs and above 2 for boss mobs Note: if the specified unit doesn't exist, it returns 0 rather than nil.


Example


Display the gender of the player in a language neutral way
DEFAULT_CHAT_FRAME:AddMessage((UnitSex("player") ~= 0 and getglobal("C_FEMALE")) or getglobal("C_MALE"))

43

Sunday, October 4th 2009, 12:53am

dachte ich auch erst, also UseAction(81) etc. schmiert aber mein RoM ab... klappt das bei einem? oder hat wer eine andere idee`?

44

Sunday, October 4th 2009, 1:46am

Es gibt in den Tastatureinstellungen jetzt 6 Aktionsleisten... die 4 normalen, eine Zusatz-und dann die Petaktionsleiste. Schau mal, wieviele Plätze die Zusatzaktionsleiste hat und überspringe die beim Zählen... sind glaube 10 Stück, somit wäre man dann bei 91-100 für das Pet. (Wie man diese Zusatzaktionsleiste aktivieren kann, weiß ich aber leider auch nicht)

Vigilantus
Live a life of risk - leave a trail of bodies.

45

Sunday, October 4th 2009, 12:05pm

Der Angriffsbefehlt z.b. liegt auf der 3. Position, weder UseAction(83), UseAction(93) noch UseAction(103) führen zum Erfolg; jedes mal stürzt RoM ab.

Jemand noch eine Idee?

Corto666

Trainee

Posts: 617

Location: worstcase (wurstkasten)

Occupation: Fachinformatiker

  • Send private message

46

Sunday, October 4th 2009, 1:23pm

sry, war fast sicher das es geht ^^

hilft dir das, hab keinen bewahrer zum test, müsste aber gehen:

List of commands

/run UsePetAction(1) = Follow
/run UsePetAction(2) = Stop
/run UsePetAction(3) = Attack
/run UsePetAction(4) = Cancel Attack
/run UsePetAction(5) = Passive/Agressive - *command doesnt work*
/run UsePetAction(6) = Punch / Beam
/run UsePetAction(7) = Entanglement


quasi nur ein "PeT" ansonsten der normale "UseAtion(01)

47

Monday, October 5th 2009, 8:13pm

super danke, klappt wunderbar...

kurze frage nebenher:
Das Transportbuch, kann ich das per Befehl ansteuern? Bei den Tastaturbelegungen ist nichts zu finden und im Forum bisher auch nichts gesehen... hab nen Addon Design und das ist der Bereich unten rechts verdeckt...

Corto666

Trainee

Posts: 617

Location: worstcase (wurstkasten)

Occupation: Fachinformatiker

  • Send private message

48

Tuesday, October 6th 2009, 8:49pm

www.theromwiki.com

schau da mal da gibts ne menge zum gucken an funktionen, evtl gibts da ne show_??? die passt.

49

Tuesday, October 6th 2009, 11:19pm

Mir machen die Makros in ROM etwas Angst - Habe die Tage mal etwas mit rumgespielt und mit 8 Makros das ganze Spiel auf einen Knopf reduziert. Gegner anvisieren - Knopf drücken - Show angucken - Gegner tot.

Und was wirklich schlimm ist das Makro reagiert schneller und besser als ich es könnte.

Das Makro entscheidet welche Aktion wann am sinnvollsten ist. Benutzt Selfbuffs usw mit der richtigen Priorität zur richtigen Zeit. Sogar Tränke und Cooldownfertigkeiten benutzt das Makro zur richtigen Zeit.

Ich finde es sollte nicht möglich sein das ein Makro ein anderes aufrufen kann und schon gar nicht sollte man Schleifen bauen können. Das Zeichenlimit von 255 kann man sich dann nämlich sparen - man hängt einfach ein Makro ans nächste und fertig ist der BOT.

So hört sich sicher jetzt schlimm an - sind aber nur meine 5 Cent zum Makroing in ROM.

Corto666

Trainee

Posts: 617

Location: worstcase (wurstkasten)

Occupation: Fachinformatiker

  • Send private message

50

Wednesday, October 7th 2009, 7:13pm

jup, halbautomatische Makros sind in 2 Zeilen geschrieben.

Hab selbst eins produziert, es visiert an, castet bis tot und sammelt auf -> dann ruft es sich wieder selbst auf.

fertisch is der Bot.

pullt einer den char aber von den Gegnern weg - bottet er ins leere...
würde man da noch eine vierteldrehung einbauen wäre es rundum...

ach was mach ich hier - bots sind böse :D

ob das "sich selbst wieder aufrufen" nu den schritt zum bot markiert wage ich aber zu bezweifeln - es macht es aber einfacher und übersichtlicher.
Mit halbwegs fundierten Kenntnissen im Programmieren kann jeder das schon lange.

51

Friday, October 9th 2009, 4:34pm

welche Befehle gehen noch?

hab grad versucht , ein paar ganz einfache Makros zu machen. Eigentlich sollte /UseAction und /wait in Makros noch funtionieren, aber das spiel schmiert sofort ab. sind diese befehle allgemein entfallen oder mach ich was anderes falsch?

52

Friday, October 9th 2009, 6:52pm

leg mal beim useAction auf den Actionslot nicht direkt den Skill, den Du aufrufen willst, sondern ein weiteres Makro, in dem du nur:
/script CastSpellByName("name des Skills");

stehen hast. das funktioniert noch.

53

Saturday, October 10th 2009, 11:59am

heisst das, ads ich auf irgendeinen slot das eigentliche makro mit den funktionen inklusive /wait-befehlen lege, es benenne und das ausführend makro dann so aussehen würde:
/script CastSpellByName(Regenerieren), für quasi daueregena
Regenerieren: /CastSpellByName(Regenerieren)
/wait 20
/CastSpellByName(Regenerieren)
/wait 20
usw.

Corto666

Trainee

Posts: 617

Location: worstcase (wurstkasten)

Occupation: Fachinformatiker

  • Send private message

54

Saturday, October 10th 2009, 7:34pm

jup, nur das das dann eben so oft läuft wie du es aneinander reihst. net mehr und net weniger.

55

Saturday, October 10th 2009, 8:40pm

So, ich habe versucht einige Makros zu schreiben und da ist mir ein Problem aufgetaucht.

Makro 1 (Actionbar 67):
/script for a=1,2 do UseAction(65); end;

Makro 2 (Actionbar 65):
/script CDduration, CDremaining = GetActionCooldown(4); if(CDremaining == 0) then UseAction(4); end;
/script if(UnitHealth("target")>0)then UseAction(66); end;

Makro 3(Actionbar 66):
/wait 0.1
/script if (UnitHealth("target")>0)then UseAction(65); end;

Actionbar 4: Windpfeil

Das Ziel ist es 2 Windpfeil nacheinander abzuschiessen, möglichst schnell. Dabei möchte nicht, dass aufgrund von starken Lags nur 1 abgeschossen wird. Deshalb wird ein Test alle 0.1. Doch irgendwie funktioniert es nicht.
Ich denke das Problem ist, dass nach einem Abschiessen eines Windpfeil das Marko 2 abbricht und zu Marko 1 geht, um da die For-Schleife fortführt.

Vielleicht konnte jemand dieses Problem lösen.

Ps: Noch eine Frage: Ist es möglich globale Variablen zu definieren? (d.h. welche in anderen Markos auch verwendet werden können.)

56

Monday, October 12th 2009, 10:52am

Quoted from "Ulrian;1081225"

So, ich habe versucht einige Makros zu schreiben und da ist mir ein Problem aufgetaucht.

Makro 1 (Actionbar 67):
/script for a=1,2 do UseAction(65); end;

Makro 2 (Actionbar 65):
/script CDduration, CDremaining = GetActionCooldown(4); if(CDremaining == 0) then UseAction(4); end;
/script if(UnitHealth("target")>0)then UseAction(66); end;

Makro 3(Actionbar 66):
/wait 0.1
/script if (UnitHealth("target")>0)then UseAction(65); end;

Actionbar 4: Windpfeil

Das Ziel ist es 2 Windpfeil nacheinander abzuschiessen, möglichst schnell. Dabei möchte nicht, dass aufgrund von starken Lags nur 1 abgeschossen wird. Deshalb wird ein Test alle 0.1. Doch irgendwie funktioniert es nicht.
Ich denke das Problem ist, dass nach einem Abschiessen eines Windpfeil das Marko 2 abbricht und zu Marko 1 geht, um da die For-Schleife fortführt.

Vielleicht konnte jemand dieses Problem lösen.

Ps: Noch eine Frage: Ist es möglich globale Variablen zu definieren? (d.h. welche in anderen Markos auch verwendet werden können.)


ich bin mir da momentan nicht ganz sicher (hab keine zeit zum ausgiebig testen), aber ich glaube, das
1) GetActionCooldown nicht mehr richtig funktioniert
und 2) man nicht mehr direkt den Windpfeil aufrufen kann (der bei Dir auf slot 4 liegt)

Probier mal folgendes:
auf Slot 21 legst Du den Windpfeil hin
auf Slot 4 legst Du makro 4 hin:

Makro 4:
/script CastSpellByName("Windpfeil");

Makro 2 sollte dann so aussehen:

Makro 2 (Actionbar 65):
/script if (GetActionUsable(21)) then UseAction(4); end;
/script if(UnitHealth("target")>0)then UseAction(66); end;


Jetzt holt er sich den cooldown (nicht direkt den, ist aber fast genauso gut...) aus Slot 21, wo der "echte" Windpfeil liegt und der Cooldown auch angezeigt wird, und führt zum Schiessen ein Makro aus (was noch geht).

Makro 1 kannst Du ganz weglassen: ist sinnlos... (Die For-Schleife wird völlig unabhängig von allen anderen Makros einfach hintereinander durchgezogen: er ruft direkt nacheinander zweimal makro 2 auf und beendet sich dann. Der zweite Aufruf wird aber wegen Cooldowns sowieso nicht genommen. Makro 3 ruft dann wieder endlos Makro 2 auf, bis das Ziel tot ist - da kannst Du auch gleich Makro 2 aufrufen...).
Ich empfehle ja immer wieder gerne, nur kurze Makros zu verwenden, die sich NICHT selbst aufrufen... aber dann musst Du Makro 3 rauswerfen und in Makro 1 schreiben:

Makro 1 (Actionbar 67):
/script UseAction(65)
/wait 0.9
/script UseAction(65)
/wait 0.9
/script UseAction(65)

oder so...

57

Monday, October 12th 2009, 11:10am

genauso hab ich das bei mir auch versucht, wenn er aber über makro1 auf makro2 mit /UseAction oder /wait zugreifen will, dann schiesst sich RoM komplett ab (wollte das für regenerieren des krieger priester machen)
sah so aus : Makro 1: /script UseAction(41)
Makro 2 auf Slot 41: /CastSpellByName(Regenerieren)
/wait 20.5
/CastSpellByName(Regenerieren)
/wait 20.5
/CastSpellByName(Regenerieren)

58

Monday, October 12th 2009, 12:32pm

Quoted from "togbad;1087039"

genauso hab ich das bei mir auch versucht, wenn er aber über makro1 auf makro2 mit /UseAction oder /wait zugreifen will, dann schiesst sich RoM komplett ab (wollte das für regenerieren des krieger priester machen)
sah so aus : Makro 1: /script UseAction(41)
Makro 2 auf Slot 41: /CastSpellByName(Regenerieren)
/wait 20.5
/CastSpellByName(Regenerieren)
/wait 20.5
/CastSpellByName(Regenerieren)



Mach mal vor das CastSpellByName ein script und das Regenerieren in Anführungszeichen...

/script CastSpellByName("Regenerieren")

59

Monday, October 12th 2009, 1:17pm

so ich möchte mich auch mal an das erstellen von makros wagen.

ich bitte euch mir ein wenig dabei zu helfen.

problematik:
nbuff funktioniert nicht mehr (ok man kann es "umgehen" will ich aber nicht) daher will ich jetzt mein eigenes buff-makro schreiben.

Ausgangspunkt / was will ich genau:
magier / ritter --- ich möchte das die beiden selbstbuff "Rüstung verstärken" alle 5 min erneuert wird, und "Bote des Lichts" alle 10 min erneuert wird.
(ok das ist ja einfach, jedoch möchte ich es so gestalten, das das Makro diese beiden buffs selber erkennt ob sie vorhanden sind oder nicht, sowie gegebenenfalls nachbufft.)

Lösungsschritt: ??

mit -- UnitBuff("player",i) kann ich ja abfragen ob auf mir buffs sind.wie sieht der befehl aus um zu erkennen welcher buff auf mir ist ?

ich fasse es mal mit meinen worten.

/schau nach welche buffs auf mir sind
/ist der buff "Rüstungsverstärken" und "Bote des Lichtes" auf mir, mache nichts und frage nach geringer zeit dieses erneut ab.
/fehlt einer dieser buffs, oder sogar beide buffs, dann caste diese automatisch auf mich.
/findest du andere buffs auf mir ignoriere sie einfach *gg*
/ist alles soweit in ordnung, gehe wieder in die buff-prüfschleife

- so wie mache ich jetzt aus meinen worten ein funktionierendes makro.
ich bitte um hilfestellung. ich möchte es ja lernen und gegebenenfalls weitere makros erstellen. vielleicht könntet ihr mir die speziellen befehle posten für meine "zeilen".

danke schon mal an euch

gruss Siborr