CMUD
Re: CMUD
A masz jakies suby czy triggery co obrabiaja walke? Bo samo z siebie tak nie powinno.
Everyone is fighting their own battle to be free from their past, to live in the present, and create a meaningful future for themselves. Don't judge, have a heart.
Re: CMUD
To z innej beczki
Przykladowo mam coś takiego:
Chciałbym uzyskać coś takiego:
i teraz aliasy:
alias "xa" - zabij ob_(numer z GMCP malego dziwnego pieska)
alias "xb" - zabij ob_(numer z GMCP dzikiego duzego pieska)
alias "xc" - zabij ob_(numer z GMCP malego osowialego kotka)
alias "xd" - zabij ob_(numer z GMCP cudownie slicznej panienki)
alias "xe" - zabij ob_(numer z GMCP brzydkiej szmaragdowookiej lampucery)
Moze ktos ma zrobione cos takiego i moglby sie podzielic lub ktos
wie jak to zrobic lub ma cos podobnego? Patrzylem na skrypt Zurwena ale
tam trzeba klikac myszka co jest dosc toporne
Jak powinien wygladac kod?
Z góry dziekuję za pomoc
Przykladowo mam coś takiego:
Kod: Zaznacz cały
Jakas lokacja.
Maly dziwny piesek, dziki duzy piesek, maly osowialy kotek, cudownie sliczna panienka i brzydka szmaragdowooka lampucera.
Kod: Zaznacz cały
Jakas lokacja.
[a]Maly dziwny piesek, [b]dziki duzy piesek, [c]maly osowialy kotek, [d]cudownie sliczna panienka i [e]brzydka szmaragdowooka lampucera.
alias "xa" - zabij ob_(numer z GMCP malego dziwnego pieska)
alias "xb" - zabij ob_(numer z GMCP dzikiego duzego pieska)
alias "xc" - zabij ob_(numer z GMCP malego osowialego kotka)
alias "xd" - zabij ob_(numer z GMCP cudownie slicznej panienki)
alias "xe" - zabij ob_(numer z GMCP brzydkiej szmaragdowookiej lampucery)
Moze ktos ma zrobione cos takiego i moglby sie podzielic lub ktos
wie jak to zrobic lub ma cos podobnego? Patrzylem na skrypt Zurwena ale
tam trzeba klikac myszka co jest dosc toporne
Jak powinien wygladac kod?
Z góry dziekuję za pomoc
Re: CMUD
Nie polecam - mocno obciążające dla CMUDa (aktualizacja zmiennych przy każdym "zerknij" i każdej zmianie lokacji), i suby w jednej linii się często krzaczą. I choć na pierwszy rzut wydaje się, że to "fajny" skrypt, to moim zdaniem tak naprawdę jest to średnio przydatne poza walkami PvP (a tam można to zrobić lepiej i wydajniej, bo w ograniczonym zakresie).
Re: CMUD
Może i racja z tymi krzaczącymi się subami, a co dokładnie masz na myśli pisząc:
Na chwilę obecną to klikam w okienku "kondycje" myszką i w ten sposób atakuje zasłaniam itd, tak jak to napisał Zurwen,
jednak to jest bardzo niefunkcjonalne na dłuższą metę.
Będę wdzięczny za jakiś kod który mógłbym wrzucić do swoich skryptów.Haern pisze:(...)(a tam można to zrobić lepiej i wydajniej, bo w ograniczonym zakresie).
Na chwilę obecną to klikam w okienku "kondycje" myszką i w ten sposób atakuje zasłaniam itd, tak jak to napisał Zurwen,
jednak to jest bardzo niefunkcjonalne na dłuższą metę.
Re: CMUD
Chodzi o to, żeby patterny były jak najwęższe, to znacząco zwiększa prędkość działania całego programu (tzn. im więcej masz triggerów z szerokim patternem typu (*), tym wolniej chodzi cały CMUD). Nie wiem jak zbudowany jest skrypt Zurwena, ale jeśli wyłapuje osoby i podstawia je gdzieś w innym okienku, to najprawdopodobniej możesz też zrobić aliasy/makra odnoszące się do tych osób (zamiast klikać). Z konkretami nie pomogę niestety.
Re: CMUD
Skrypt Zurwena to raptem jedna funkcja
Funkcja uaktualnij_kondycje:
ale jak ja zmodyfikowac pod aliasy to juz dla mnie czarna magia
Funkcja uaktualnij_kondycje:
Kod: Zaznacz cały
#execwin kondycje {#clr}
$kwinYou = %null
$kwinTeam = %null
$kwinEnemy = %null
$kwinRest = %null
$updateFight = 0
fightAttack = %null
#LOOPDB @GMCP_OBJECTS_DATA
{
$val = %val.attack_num
#IF ($val = "false")
{
#IF (%iskey(@fightAttack, %key))
{
#DELKEY fightAttack %key
}
#CONTINUE
}
#IF (%db(@fightAttack, %key) != $val)
{
#ADDKEY fightAttack %key $val
}
}
fightAttackedBy = %null
#LOOPDB @fightAttack
{
#addkey fightAttackedBy %val %additem(%key, %db(@fightAttackedBy, %val))
}
#LOOPDB @GMCP_OBJECTS_DATA
{
$jaka = %val.hp + 1
$atakuja = %db(@fightAttackedBy, %key)
$ile = %numitems($atakuja)
$sub = "["$ile"]["%if( $jaka = 7, %repeat( "##", 7), %repeat( "##", $jaka)%repeat( "--", 6-$jaka)"--")"] "
$atakujaOpisy = %null
$atakujaSub = %null
#if ($ile)
{
#forall $atakuja
{
$desc = @GMCP_OBJECTS_DATA.%i.desc
$atakujaOpisy = %additem(%if($desc, $desc, "ty"), $atakujaOpisy)
}
$atakujaSub = "<== "%expandlist($atakujaOpisy, ", ")
}
#if (%val.avatar = "true") {
$sub = %ansi( @kolor_z_kondycji( $jaka/2))$sub"<send 'rozkaz wszystkim zaslonic ciebie;wskaz siebie jako cel obrony' 'rozkaz zaslonic'>"Ty"</send> "$atakujaSub
$kwinYou = $sub
#CONTINUE
}
#if (%val.team = "true")
{
$sub = $sub[T]" <send 'zaslon ob_"%key"|rozkaz wszystkim zaslonic ob_"%key";wskaz ob_"%key" jako cel obrony|wycofaj sie za ob_"%key"' 'zaslon|rozkaz zaslonic|wycofaj sie za'>"%proper( %val.desc)"</send> "$atakujaSub
#additem $kwinTeam $sub
#CONTINUE
}
#if (%val.enemy = "true")
{
$sub = $sub[E]" <send 'zabij ob_"%key"|przelam obrone ob_"%key"|rozkaz wszystkim zaatakowac ob_"%key";wskaz ob_"%key" jako cel ataku|zaslon przed ob_"%key"|zablokuj ob_"%key"' 'zabij|przelam|rozkaz zaatakowac|zaslon przed|zablokuj'>"%proper( %val.desc)"</send> "$atakujaSub
#additem $kwinEnemy $sub
#CONTINUE
}
$sub = $sub"<send '|zabij ob_"%key"|przelam obrone ob_"%key"|rozkaz wszystkim zaatakowac ob_"%key";wskaz ob_"%key" jako cel ataku|zaslon przed ob_"%key"|zablokuj ob_"%key"' 'brak domyslnej akcji|zabij|przelam|rozkaz zaatakowac|zaslon przed|zablokuj'>"%proper( %val.desc)"</send> "$atakujaSub
#additem $kwinRest $sub
}
#win "kondycje" $kwinYou
#forall {$kwinTeam} {#win "kondycje" %i}
#forall {$kwinEnemy} {#win "kondycje" %i}
#forall {$kwinRest} {#win "kondycje" %i}
Re: CMUD
Ten skrypt to wysylanie do okna juz. Podstawa lezy w triggerze 'Objects' I zrzut danych do GMCP_objects_data I nums. Z nich trzeba sobie zbudowac wylapywacz do aliasow I ewt suby (to najgorszy mozliwy pomysl w cmudzie akurat, krzaczy...)
Everyone is fighting their own battle to be free from their past, to live in the present, and create a meaningful future for themselves. Don't judge, have a heart.
Re: CMUD
Suby/numerki polecam dodać nie do listy osób na lokacji (pojedyncza linijka), ale do kondycji. Jako że leci w osobnych linijkach - nic się nie krzaczy. Ponadto można zawrzeć wszystko w jednym triggerze o patternie wyłapującym kondycję.