Strona 46 z 53

Re: Mudlet 3.* - skrypty + mapper

: 08 lis 2018 13:07
autor: Kregan
Yavoth pisze: 08 lis 2018 10:31 Można jakoś cofnąć do 3.14.0?
https://www.mudlet.org/wp-content/files/?C=M;O=D

W linku masz starsze wersje mudleta.

Re: Mudlet 3.* - skrypty + mapper

: 08 lis 2018 22:51
autor: Werbat
Tęczuś, co Ci nie działa? W skryptach Adremena wywala się tylko to wszystko, co używa prefix(), czyli głównie suby na ciosy. Ty masz milion swoich dopisków, a ten wątek jest jednak o Adremenowych, więc nie wprowadzaj ludzi w błąd, że 'mocno' nie działa, bo jednak większość rzeczy jest ok.

Re: Mudlet 3.* - skrypty + mapper

: 20 lis 2018 20:45
autor: Kregan
Taki wynalazek dla zapominalskich pocztowych elfek.
Po pobraniu paczki miga nam na statusie kolo Alertu, że mamy aktywna paczke. To taka mala pomoc dla
kazdego kto bierze dlugodystansowe paczki i idzie w miedzyczasie cos jeszcze dlubac, i kompletnie o tym zapomina.
Powiadomienie miga bo statyczne napisy czasem umykaja uwadze.

do zrobienia dwa trigery

Kod: Zaznacz cały

Pattern
przekazuje ci jakas paczke.$ (perl regex)
^Bierzesz pocztowa paczke z (perl regex)
Lua
paczka_blink_value = 0
enableTimer("paczka_blinking_timer")

Kod: Zaznacz cały

Pattern
^Oddajesz pocztowa paczke (perl regex)
Lua
disableTimer("paczka_blinking_timer")
scripts.ui:info_action_update("")
I timer o nazwie paczka_blinking_timer (standardowo ma byc wylaczony rzecz jasna - odptaszkowany)
Timer ustawiamy na 1 sekunde (lub 3 jak ktos chce wolniejsze miganie)

Kod: Zaznacz cały

paczka_blink_value = paczka_blink_value + 1

if (paczka_blink_value % 2 == 0) then
	scripts.ui:info_action_update("Paczka")
else
 scripts.ui:info_action_update("")
end	
Jak komus potrzeba wiecej testujacych zdarzen, to do pierwszego triggera moze dorzucic pattern zajrzenia do plecaka czy jest w nim paczka (np. po rozlaczeniu etc)

Opcja bez migania. Robimy tylko same triggery i wyrzucamy z Lua linie z aktywacja i deaktywacja timera i paczka_blink_value = 0. Do pierwszego triggera dopisujemy w Lua

Kod: Zaznacz cały

scripts.ui:info_action_update("Paczka")

Re: Mudlet 3.* - skrypty + mapper

: 10 sty 2019 17:28
autor: Kregan
Taki mały dodatek do skryptow, wyswietlanie poznanych NPCy z bazy dla konkretnego id lokacji na mapie
Przykład działania:
/poznane_lok 7201
(skrypty): Znalazlem:
(438) Rudolf (NPC)
barczysty mezczyzna
Rudolf Karczmarz, mezczyzna.
23/08/2018 16:21:28
Lokacja: 7201

Nowy skrypt z zawartoscia:

Kod: Zaznacz cały

function scripts.people:search_lok(room_id)
  if not room_id then
    error("Wrong input")
  end
  
  local search_loc = string.upper(string.sub(room_id, 0, 1)) .. string.sub(room_id, 2)
  local results = db:fetch(scripts.people.db.people, db:eq(scripts.people.db.people.room_id, search_loc))

  if table.size(results) > 0 then
    local str_print = "Znalazlem:"
    for k, v in pairs(results) do
      str_print = str_print .. scripts.people:print_person(v, true)
    end
    scripts:print_log(str_print)
  else
    scripts:print_log("Nic nie znalazlem")
  end
end
alias:

Kod: Zaznacz cały

pattern:
^/poznane_lok (\d+)$
body:
scripts.people:search_lok(matches[2])

Re: Mudlet 3.* - skrypty + mapper

: 18 sty 2019 20:06
autor: Kregan
Ponieważ mi się już dawało w kość przeglądanie po sklepach/depozytach i klepanie z palca to zmontowałem sekwencyjny alias, który ponawiany przegląda kolejna rzecz danego typu w sklepie albo depozycie i resetuje się sam jeśli zmienimy w trakcie przeglądania obiekty np. miecze na kirysy.
Ze skrzyniami gildiowymi też pewnie zadziała, ale nie mam patternu do triggera, który informuje, ze takiego obiektu nie ma już w skrzyni np piętnastego miecza etc (np. sklep daje zwrot Pokaż <co>) i się sam nie zresetuje, chyba że zmienimy typ przedmiotu. Zatem to już każdy we własnym zakresie musi uzupełnić, żeby miał pełnie funkcjonalności. Wymaga utworzenia aliasa , triggera i skryptu.

Działanie w zależności czy mamy do czynienia ze sklepem czy depozytem/skrzynia
dla sklepu
/przs kirys
/przs srebrzysty miecz

Ponawiany wyśle - pokaz 1. kirys, pokaz 2. kirys itd.

dla depozytu analigicznie
/przd zdobiony kirys
/przd ksiege

/prz oczywiście do zmiany wedle uzania, suffix "s" "d" jak kto sobie dalej zmieni w kodzie aliasa, jesli będzie chciał.

Alias do przeglądania, nazwa wedle uznania

Kod: Zaznacz cały

Pattern:
^/prz([sd]) (.*)$
Body:

enableTrigger("przejrzyj_sekwencja")
przejrzyj_value = przejrzyj_value + 1
local obiekt_przegladany = matches[3]
local typ = matches[2]

if typ == "d" then
 if obiekt_przegladany_wczesniej ~= obiekt_przegladany then
przejrzyj_value = 1
send("przejrzyj " ..przejrzyj_value..". " ..obiekt_przegladany)
obiekt_przegladany_wczesniej = obiekt_przegladany
 else 
send("przejrzyj " ..przejrzyj_value..". " ..obiekt_przegladany)
obiekt_przegladany_wczesniej = obiekt_przegladany
 end
end

if typ == "s" then
 if obiekt_przegladany_wczesniej ~= obiekt_przegladany then
przejrzyj_value = 1
send("pokaz " ..przejrzyj_value..". " ..obiekt_przegladany)
obiekt_przegladany_wczesniej = obiekt_przegladany
 else 
send("pokaz " ..przejrzyj_value..". " ..obiekt_przegladany)
obiekt_przegladany_wczesniej = obiekt_przegladany
 end
end

Trigger nazwa: przejrzyj_sekwencja (nazwa musi się zgadzać z tą która jest w body aliasa - enableTrigger!). Ten trigger domyślnie powinien być odptaszkowany, włącza się kiedy potrzebny i wyłącza przy braku kolejnych przedmiotów do przejrzenia.

Kod: Zaznacz cały

Patterny:
^Pokaz <co>\?
^Przejrzyj depozyt/stare przedmioty
Body:
przejrzyj_value = 0
disableTrigger("pokaz_sekwencja")
Skrypt. Nowy skrypt lub taki w którym przechowujemy zmienne

Kod: Zaznacz cały

obiekt_przegladany_wczesniej = 0
przejrzyj_value = 0
Po testach zakładam, że powinno to działać bezproblemowo, być może da się to ładniej (ja nie umiem :D). Po małych przeróbkach można to zaadaptować do innych rzeczy.

Re: Mudlet 3.* - skrypty + mapper

: 02 lut 2019 17:46
autor: Filarion
Adremenie - naprawde wielkie podziekowania za ten projekt. Czesto uzyszkodnicy tego nie pisza i biora pewne rzeczy za dane na zawsze. Tym bardziej konieczne jest napisac raz na jakis czas, ze doceniamy to, co inni dla nas obkodowuja ;)

Re: Mudlet 3.* - skrypty + mapper

: 02 lut 2019 22:15
autor: Vadi

Re: Mudlet 3.* - skrypty + mapper

: 04 lut 2019 13:13
autor: Proksim
Witam. Jak przekształcić tekst np: " Znajdujesz fioletowy zwarty kwiatostan. " na " Znajdujesz lawede " i pokolorować wyraz lawedę na jakiś kolor.

Re: Mudlet 3.* - skrypty + mapper

: 04 lut 2019 17:52
autor: Heinkar
Ja ma tak:

w triggerach:

Znajdujesz fioletowy zwarty kwiatostan. jako substring

Kod: Zaznacz cały

selectCurrentLine()
bg("magenta")
fg("black")
resetFormat()
cecho("<green>\n ZNAJDUJESZ LAWENDE -PRZYLOZ +LECZENIE +ODPORNOSC")

Re: Mudlet 3.* - skrypty + mapper

: 06 lut 2019 21:38
autor: Grokal
Czy tylko mi sie wydaje, ze na mapie nie ma trolli pod KK? To raczej nie jest (w porownaniu z masa innych miejsc na mapie bedacych) jakies super trudne miejsce? Wiadomo, że jak coś można samemu zmapować - ja tylko pytam czy to nie jest jakiś błąd.