Strona 14 z 53
Re: Mudlet 3.* - skrypty + mapper
: 08 lis 2017 03:21
autor: Adremen
Crer pisze:Po pierwsze - dziekuje Werbat za odpowiedz. Po drugie wiecej z Toba nie pije. No dobra, zartowalem, pijemy za rok:)
A po trzecie w pliku imie.txt. nie ma nic odnosnie lokacji startowej, chyba, ze mam jakis stary.
Kolejny problem:
Mudlet buduje baze ziol. Tylko jak z niej korzystac w kwestii bindow na branie deliony czy dziurawca? Czy sa jakies gotowe? Nie moge tego odnalezc w pomocy.
Werbat jak mozesz przeczytaj pliki pomocy i odpisz. Wiem, ze masz czas.
Jest, ale brak komentarza w którym miejscu to jest. Tutaj ustawiasz lokację startową:
Kod: Zaznacz cały
amap.locating["name"] = "Adremenie"
amap.locating["loc_id"] = 1
Forma imienia ma być taka, jak wyświetla się po podaniu gdy się logujesz, czyli u ciebie najprawdopodobniej "Crerze". loc_id to numer lokacji, na której masz być ustawiany.
Nie ma jeszcze bindów na zioła, to dopiero jest w planach. Możesz je na razie brać, czyli coś typu: `/wezz deliona`
Re: Mudlet 3.* - skrypty + mapper
: 08 lis 2017 21:54
autor: Werbat
Asgalird pisze:
Generalnie wytworzyłem coś takiego. Wrzuciłem funkcję z zaskoczeniem, tuż nad funkcję z atakiem. Naturalnie, nie działa ;) Coś przeoczyłem? Coś źle wpisałem?
Wuja, nie edytuj istniejących w skrypty_master rzeczy, bo każdy update nadpisze Twoje zmiany w cholerę. Zrób sobie swoją grupę (a w niej swój element) koniecznie _pod_ skrypty master.
Jak zrobiłeś aliasa do tego zaskocz_func()? I jeszcze: w Twoim kodzie zamiast " są '"' - to wina formatowania forum? Powinny być po prostu cudzysłowy.
Re: Mudlet 3.* - skrypty + mapper
: 09 lis 2017 04:41
autor: Asgalird
Werbat pisze:
Wuja, nie edytuj istniejących w skrypty_master rzeczy, bo każdy update nadpisze Twoje zmiany w cholerę. Zrób sobie swoją grupę (a w niej swój element) koniecznie _pod_ skrypty master.
Jak zrobiłeś aliasa do tego zaskocz_func()? I jeszcze: w Twoim kodzie zamiast " są '"' - to wina formatowania forum? Powinny być po prostu cudzysłowy.
No więc, zrobiłem sobie nowy pliczek, zainstalowałem go normalnie, zrobiłem w aliasach nową grupę, zamieniłem "quote" na cudzysłowie. Teraz jest wyłącznie ten "skrypt" w tym folderze.
Kod: Zaznacz cały
function zaskocz_func(id)
local id_retrieved = nil
if ateam.enemy_op_ids[tonumber(id)] then
id_retrieved = ateam.enemy_op_ids[tonumber(id)]
elseif ateam.normal_ids[tonumber(id)] then
id_retrieved = ateam.normal_ids[tonumber(id)]
end
if id_retrieved then
local real_id = id_retrieved
local local_str = ";ob_ "; .. real_id
send("zaskocz " .. local_str, false)
if table.size(ateam.team) > 1 and ateam.team[ateam.my_id] == ";@"; and ateam.attack_mode > 1 then
send(";wskaz "; .. local_str .. "; jako cel ataku";, false)
if ateam.attack_mode > 2 then
send(";rozkaz druzynie zaatakowac "; .. local_str, false)
end
end
else
scripts:print_log(";Nie ma takiego id";)
end
end
https://gyazo.com/f38ec14195a8dfc5fca0ed2515a5428f Tak wygląda sam alias. "Quote" zrobiło się chyba po odpaleniu tego w notepad++. Nie wpadłem na nic innego, sensownego do odpalenia xmla.
Re: Mudlet 3.* - skrypty + mapper
: 09 lis 2017 11:41
autor: Werbat
Alias wygląda dobrze. Co do samej funkcji, teraz powstawiało Ci "; zamiast " (to jest, swoją drogą, lua, a nie xml). Ona powinna wyglądać tak (przy okazji skracam niepotrzebne rzeczy):
Kod: Zaznacz cały
function zaskocz_func(id)
local id_retrieved = nil
if ateam.enemy_op_ids[tonumber(id)] then
id_retrieved = ateam.enemy_op_ids[tonumber(id)]
elseif ateam.normal_ids[tonumber(id)] then
id_retrieved = ateam.normal_ids[tonumber(id)]
end
if id_retrieved then
local real_id = id_retrieved
local local_str = "ob_" .. real_id
send("zaskocz " .. local_str, false)
else
scripts:print_log("Nie ma takiego id")
end
end
Nie wiem, czy to ma jakiekolwiek znaczenie, ale u mnie to nie jest w Aliases, tylko w Scripts - nowa grupa, w niej nowy element. No i musisz być _pewien_, że to leży _pod_ skrypty_master, bo korzysta z funkcji tam zawartych. O tak:
https://i.imgur.com/b05kIy0.png
Przetestowałem właśnie u siebie i działa wybornie. Alias w patternie ma:
a w 'treści':
I na arce mam potem:
> /zzz 1
Musisz byc ukryty, aby sprobowac kogos zaskoczyc!
Re: Mudlet 3.* - skrypty + mapper
: 09 lis 2017 12:10
autor: Werbat
Jeszcze jedno: możesz testować, czy popsuta jest funkcja, czy alias, używając komendy:
podczas walki z testowymi przeciwnikami.
Re: Mudlet 3.* - skrypty + mapper
: 09 lis 2017 17:02
autor: Asgalird
Werbat, dzięki wielkie

Śmiga pięknie.
Re: Mudlet 3.* - skrypty + mapper
: 11 lis 2017 12:42
autor: Crer
1. Jak moge napisac skrypt, który gdy wyskoczy:
Jestes ciezko ranny.
Sprawi, ze pojawi sie napis na zielono: "BIND +KONDYCJA --> F9
I oczywiscie pod F9 podbinduje mi +kondycja.
2. Drugie pytanie, jak zrobic szybkie ataki tzn. po wpisaniu "1 werbata" chcialbym aby skrypt zaladowal mi pod "1" "poglaskaj werbata;zabij werbata". Nastepnie gdy wcisne "1" i enter pojdzie atak:)
3. Gdzie przechowywana jest baza postaci na dysku? Tak abym przy przenosinach mogl ja skopiowac?
4. Jak napisac alias np. "psp" - przecisnij sie przez szczeline, aby wysylal takze ta komende do mapera?
Re: Mudlet 3.* - skrypty + mapper
: 11 lis 2017 14:23
autor: Drubin
Przy ciezko rannym kondycja juz Ci sie binduje na ALT + k bodajze.
Re: Mudlet 3.* - skrypty + mapper
: 11 lis 2017 20:48
autor: Crer
Tak, wiem, dziekuje. Chce jednak miec swoje skroty.
Re: Mudlet 3.* - skrypty + mapper
: 11 lis 2017 20:59
autor: Szmups
Crer pisze:1. Jak moge napisac skrypt, który gdy wyskoczy:
Jestes ciezko ranny.
Sprawi, ze pojawi sie napis na zielono: "BIND +KONDYCJA --> F9
I oczywiscie pod F9 podbinduje mi +kondycja.
Tworzysz:
a) trigger:
Na tekst: "Jestes ciezko ranny."
Kod: Zaznacz cały
moje = moje or {};
-- tu kolor jakim opis binda ma sie wyswietlic
fg( "orange" );
echo( " TUTAJ TO CO CHCESZ ZEBY CI WYSLALO NA EKRAN" );
-- a tutaj to co chcesz zeby sie podbindowalo
moje.dynamiczneF9 = "powiedz Akuku!";
-- display( moje );
-- echo( moje.dynamiczneF9 );
I robisz hotkey na klawisz F9 z kodem:
Kod: Zaznacz cały
if ( moje and moje.dynamiczneF9 ) then
send ( moje.dynamiczneF9 );
moje.dynamiczneF9 = nil;
end
Po kazdym uzyciu F9 bind bedzie wyzerowany
Crer pisze:
2. Drugie pytanie, jak zrobic szybkie ataki tzn. po wpisaniu "1 werbata" chcialbym aby skrypt zaladowal mi pod "1" "poglaskaj werbata;zabij werbata". Nastepnie gdy wcisne "1" i enter pojdzie atak:)
Robisz dwa aliasy:
Kod: Zaznacz cały
Nazwa: zapisz szybki atak
Pattern: ^#z\s+([0-9]+)\s+(.+)$
Kod:
-- display( matches[2] )
-- display( matches[3] )
moje = moje or {};
moje.bindowanyAtak = moje.bindowanyAtak or {};
moje.bindowanyAtak[ matches[2] ] = matches[3]
-- display( moje.bindowanyAtak[ matches[2] ] )
Kod: Zaznacz cały
Nazwa: zaatakuj z szybkiego ataku
Pattern: ^#z([0-9]+)\s*$
Kod:
-- display( matches[2] )
-- display( moje );
if ( moje and moje.bindowanyAtak and moje.bindowanyAtak[ matches[2] ] ) then
send ( "zabij " .. moje.bindowanyAtak[ matches[2] ] );
end
Po wpisaniu "#z 123 malego niewinnego snotlinga" zapisuje ci pod 123(musi byc ciagiem cyfr) opis i po wpisaniu (#z123 <- bez spacji) wykonuje "zabij malego niewinnego snotlinga".
Przetestowalem u siebie i dziala, moglem sie gdzies pomylic przy przeklejaniu, cala idea jest taka zeby robic polecenie(alias/hotkey) wykorzystujacy zmienna i podmieniac ta zmienna w pozostalych skryptach.