Macro Mod

Status
Für weitere Antworten geschlossen.
T

TutMeistensNix

Ich habe mal ne Frage.
Im Chat ist öfters zu lesen das einige den Macro Mod nutzen, deswegen wollte ich hier mal um Hilfe bitten.

Wenn ich aus der Mine zurück in mein Lager will habe ich hier ein kleines Script gemacht:
Code:
$${
echo(/home lager_steine);
wait(1);
log(Du bist nun wieder im Lager!);
echo(/mcscoreboard clear);
wait(1);
log(Dein Scoreboard wurde gelöscht...);
echo(/mc);
wait(1);
log(Es wurde /mc gemacht, guck mal ob es nun aus ist!);
}$$

Nun würde ich aber ganz gerne den letzten Teil mit echo(/mc); etwas erweitern.
Mache ich 1x /mc steht im Chat:
Poof! The magic carpet appears below your feet!

Mache ich noch mal /mc steht dort:
/Poof ! The magic carpet disappears!

Kann ich diese Chat Nachrichten auslesen?

Wenn ich nun aus der Mine komme er mc macht und im Chat steht das mc nun aus ist soll er nix mehr machen, steht dort aber das mc eingeschaltet wurde soll er halt noch mal mc machen.


PS: Evtl. hat ja der eine oder andere auch nen Script was er uns gerne mitteilen möchte?! ;)


Gruß TMN
 

Llewe

Berater
14 November 2014
349
745
121
27
München
Account bestätigt
Ja
am einfachsten ist es wen du /mc auf eine taste legst z.b. wen du M drückst wird /mc gemacht

dabei änderst du ne global flag an deinen clienten
dan schreibst du in dein skript von oben noch einen if satzt wen die flag aktiviert ist mach /mc lösche flag

kann nachher mal das makro schreiben wen ich zeit habe...
 
T

TutMeistensNix

Ok.

Ich werde es später auch mal selbst versuchen.
Das mit dem If habe verstanden, das kenne ich von PHP aber so ganz habe ich noch nicht verstanden wie ich flag abrufe.
 

Llewe

Berater
14 November 2014
349
745
121
27
München
Account bestätigt
Ja
so ging schneller als erwartet xD
Skirpt 1 um mc an aus zuschalten:
Code:
$${ECHO(/mc); TOGGLE(@mc)}$$
Skript 2 um ins lager zu komen:
Code:
$${
echo(/home lager_steine);
wait(500ms);
log(Du bist nun wieder im Lager!);
echo(/mcscoreboard clear);
wait(500ms);
log(Dein Scoreboard wurde gelöscht...);
wait(500ms);
if(@mc)
    TOGGLE(@mc)
    echo(/mc);
    wait(500ms);
    log(Es wurde /mc gemacht, guck mal ob es nun aus ist!);
ENDIF
}$$
 
T

TutMeistensNix

o_O Was bist du schnell.

Ich habe auch ein Script welches mich in die Mine bringt. Ich setze mal alles rein was ich habe.

Ich habe mir Buttons erstellt welche ich drücken kann wenn ich den Chat offen habe, möchte ich in die Mine wird dieses Script ausgeführt:
Code:
$${
    echo(/bergbau);
    wait(1);
    log(Du wirst in 3 Sekunden in die Mine geportet...);
    echo(/mcscoreboard keep);
    wait(1);
    log(Du wirst in 2 Sekunden in die Mine geportet...);
    echo(/mc);
    wait(1);
    log(Du wirst in 1 Sekunden in die Mine geportet...);
    echo(/home mine);
    wait(1);
    log(Du bist nun in der Mine!);
}$$

Bin ich fertig in der Mine drücke ich wieder einen Button der mich zurückbringt, habe da zwei aber meistens drücke ich den der erst nen Home setzt und mich dann portet, das sieht so aus:
Code:
$${
    echo(/sethome mine);
    wait(1);
    log(Home wurde neu gesetzt!);
    echo(/home lager_steine);
    wait(1);
    log(Du bist nun wieder im Lager!);
    echo(/mcscoreboard clear);
    wait(1);
    log(Dein Scoreboard wurde gelöscht...);
    echo(/mc);
    wait(1);
    log(Es wurde /mc gemacht, guck mal ob es nun aus ist!);
}$$
 

Llewe

Berater
14 November 2014
349
745
121
27
München
Account bestätigt
Ja
perfekt dan ergänzt du im ersten skript einfach noch die globale flag
füge einfach nach echo(/mc); hinzu SET(@mc) (Set setzt die flage halt immer egal was der wert dafor in @mc wahr das @ steht dafür das es eine globale flag ist das heißt jedes skript von dir kan darauf zugreifen.

fürs 2. script nimste einfach meins von vorhin her da ist halt noch der if satz drinnen.
 
T

TutMeistensNix

Ok, habe ich mir eben auch so fast gedacht.

Vielen Dank für so eine schnelle Antwort. :)
 
T

TutMeistensNix

Ok, funzt so weit ganz gut nur nicht so wie ich es mir gedacht habe.

Weil eigentlich hat sich ja nicht so viel geändert, mein Script hat /mc an gemacht und wieder aus gemacht.
Nun mit deinen Ergänzungen setzt er zwar ne Flag aber ich habe dann immer noch ein Problem.

Ich versuche mal zu beschreiben warum ich den /mc Wert bei der Rückkehr in mein Lager haben möchte.

Nun stehe ich in meinem Lager, mit Ausrüstung und Nachtsichttrank und denke so bei mir das ich ja mal Minen gehen könnte. ;)
Mache also den Chat auf, drücke auf den Button und er rattert das Script durch.
Zack, da stehe ich nun in meiner Mine mit eingeschalteten Scoreboard um zu sehen wann immer der Superbrecher bereit ist und natürlich auch eingeschalteten /mc um nicht gleich in jedes Loch zu stürzen. Bin ja schon etwas älter und da bricht man sich so schnell was. xD

Nun grabe ich mich mit einem Pfeifen auf den Lippen immer schön durch die Mine, sammel nebenbei mal hier und mal da ein Erzchen auf.
Doch was da?!
Ein Typ mit ausgestreckten Armen, Mundgeruch und komischen Aussehen will ganz dringend mit mir Kuscheln.
Aber nicht mit mir und ich haue ihn direkt mein Schwert durch die Fratze. Puh, noch mal Glück gehabt.
Doch was steht im Chat?
Poof! The magic carpet disappears.
The carpet cannot be used while in PVP/PVE combat.

Da ich aber eh gerade mit minen fertig war da mein Trank der Nachtsicht seine Wirkung verliert mache ich den Chat auf und klick auf den Button der mich zurück ins Lager bringt.
Zack, da stehe ich wieder in meinem Lager. Scoreboard wurde ausgeschaltet und auch /mc wurde ausgeführt und wer richtig gelesen hat, wieder eingeschaltet da ja der Zombie meinte mir im Gesicht rum tatschen zu müssen.

Sorry, keine Ahnung warum ich den Text so komisch geschrieben habe. xD

Verstehst du mein Problem?
Sollte aus irgendeinem Grund /mc in der Mine ausgegangen sein steht es ja immer noch in der Flag und er schaltet es bei der Rückkehr einfach wieder um.
 
  • Like
Reaktionen: BurnLP2013

Llewe

Berater
14 November 2014
349
745
121
27
München
Account bestätigt
Ja
@christian2000099 iwo in dem thread ist der link für den download... finde ihn gerade nicht musst selber etwas suchen

Tun meisten nix ok habe dein problem verstanden es gibt schon die möglichkeit nachrichten auszulesen wobei das kompliziert ist ich würde an deiner stelle einfach /mc nicht mehr in den chat schreiben und anstelle von dem das was ich ganz am anfang geschrieben habe auf eine taste legen dan kannste mit der taste immer mc an und aus machen und wen du ins lager gehst gehts auch aus (damit das dan bug frei geht vll im dem skript zum tpn in die Farmwelt TOGGLE(@mc) verwenden damit die flag nur umgeschaltet wird und nicht immer gesetzt wird)
 
T

TutMeistensNix

Soo, ich habe mich mal etwas bei Google umgeschaut und habe es nun so wie ich es gerne hätte.
Vielen Dank auch an @lleKuno da er mir nen wichtigen Tipp gegeben hat. ;)

So habe ich es nun gemacht.

Als erstes habe ich ein Script gemacht welches via $$<chat_auslesen.txt> in den onChat Event gepackt wird.
Code:
$${
    IFCONTAINS(%CHAT%,"Poof! The magic carpet");
        IFCONTAINS(%CHAT%,"disappears.");
            TOGGLE(@mc);
            log(MC wurde umgeschaltet);
        Endif;
        IFCONTAINS(%CHAT%,"appears below your feet!");
            SET(@mc);
            log(MC wurde Global gesetzt);
        Endif;
    Endif;
}$$

Jetzt haben wir schon mal ein Script welches den Chat ausliest. *freu*

Nun habe ich mir nen Button "Minen" gebastelt, welches nen Script via $$<minen.txt> ausführt.
Code:
$${
    echo(/bergbau);
    wait(1);
    log(Du wirst in 3 Sekunden in die Mine geportet...);
    SLOT(2);
    echo(/mcscoreboard keep);
    wait(1);
    log(Du wirst in 2 Sekunden in die Mine geportet...);
    if(!@mc)
        echo(/mc);
        wait(500ms);
        log(Dein Glasteppich wurde eingeschaltet.);
    else
        log(Dein Glasteppich war schon eingeschaltet.);
    ENDIF
    wait(1);
    log(Du wirst in 1 Sekunden in die Mine geportet...);
    echo(/home mine);
    wait(1);
    log(Du bist nun in der Mine!);
}$$

Nachdem ich nun mit Minen fertig bin klicke ich auf den Button "sethome -> Lager" der ein Script via $$<sethome_mine_lager.txt> ausführt.
Code:
$${
    echo(/sethome mine);
    wait(500ms);
    echo(/home lager_steine);
    wait(500ms);
    log(Du bist nun wieder im Lager!);
    echo(/mcscoreboard clear);
    wait(500ms);
    log(Dein Scoreboard wurde gelöscht...);
    wait(500ms);
    if(@mc)
        echo(/mc);
        wait(500ms);
        log(Dein Glasteppich wurde ausgeschaltet.);
    else
        log(Dein Glasteppich war schon aus.);
    ENDIF
}$$

Fertig. ^^

Nun habe ich ein Script welches schaut ob /mc schon an ist und reagiert dementsprechend.
Ich freu mich schon auf das was ich nun noch alles mit meinen neuen Erfahrungen machen kann. xD


Gruß TMN
 
3 Dezember 2014
506
303
76
Glückwunsch tmn. :)

Pass bitte auf, dass du keine Grenze zu den Regeln überschreitest, der Macro Mod ist sehr machtvoll, manche verbotene Funktionen sind auch deaktiviert, aber nicht alle.
Wir haben ja auch schon mal geredet und meiner Einschätzung nach hast du auch nicht die Ambitionen diese Grenze zu überschreiten, daher vertraue ich dir in dieser Hinsicht. ;)

Trotzdem hätte ich die Bitte, dass du evtl weitere Macros kurz Kuno oder mir zeigst? So wären wir alle auf der sicheren Seite und entdecken evtl noch Funktionen die wir deaktivieren sollten. :)
 
T

TutMeistensNix

Also ich habe keinerlei Absicht damit irgendwie was zu machen was gegen die Regeln verstößt.
Mein Script oben macht nur das automatisch was ich sonst alles per Hand eingegeben habe und nix davon bietet mir einen spielerischen Vorteil gegenüber anderen Spielern. :p

Und ich glaube meine Kenntnisse sind viel zu gering um was gescheites daraus zu machen.
Das ich neue Macros erst jemanden zeige und bitte bitte mache ob ich die benutzen darf halte ich für inakzeptabel.

Gruß TMN
 
Zuletzt bearbeitet von einem Moderator:
  • Like
Reaktionen: daim und superniko789
Status
Für weitere Antworten geschlossen.