Mudlet 3.* - skrypty + mapper

Forum techniczne Arkadii.
Awatar użytkownika
Adremen
Posty: 242
Rejestracja: 31 gru 2009 11:13

Re: Mudlet 3.* - skrypty + mapper

Post 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`
Awatar użytkownika
Werbat
Posty: 1357
Rejestracja: 12 lut 2009 21:25
Lokalizacja: Poznań
Kontakt:

Re: Mudlet 3.* - skrypty + mapper

Post 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ą '&quot' - to wina formatowania forum? Powinny być po prostu cudzysłowy.
I aim to misbehave.
Systematycznie dążę do wyrugowania hejtu z arsenału swoich środków wyrazu.
Asgalird

Re: Mudlet 3.* - skrypty + mapper

Post 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ą '&quot' - 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.
Awatar użytkownika
Werbat
Posty: 1357
Rejestracja: 12 lut 2009 21:25
Lokalizacja: Poznań
Kontakt:

Re: Mudlet 3.* - skrypty + mapper

Post 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:

Kod: Zaznacz cały

^/zzz ([0-9]+)$
a w 'treści':

Kod: Zaznacz cały

zaskocz_func(matches[2])
I na arce mam potem:
> /zzz 1
Musisz byc ukryty, aby sprobowac kogos zaskoczyc!
I aim to misbehave.
Systematycznie dążę do wyrugowania hejtu z arsenału swoich środków wyrazu.
Awatar użytkownika
Werbat
Posty: 1357
Rejestracja: 12 lut 2009 21:25
Lokalizacja: Poznań
Kontakt:

Re: Mudlet 3.* - skrypty + mapper

Post autor: Werbat »

Jeszcze jedno: możesz testować, czy popsuta jest funkcja, czy alias, używając komendy:

Kod: Zaznacz cały

lua zaskocz_func(1)
podczas walki z testowymi przeciwnikami.
I aim to misbehave.
Systematycznie dążę do wyrugowania hejtu z arsenału swoich środków wyrazu.
Asgalird

Re: Mudlet 3.* - skrypty + mapper

Post autor: Asgalird »

Werbat, dzięki wielkie ;) Śmiga pięknie.
Crer
Posty: 204
Rejestracja: 03 sty 2015 09:09

Re: Mudlet 3.* - skrypty + mapper

Post 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?
Drubin
Posty: 63
Rejestracja: 06 lip 2015 22:14

Re: Mudlet 3.* - skrypty + mapper

Post autor: Drubin »

Przy ciezko rannym kondycja juz Ci sie binduje na ALT + k bodajze.
Crer
Posty: 204
Rejestracja: 03 sty 2015 09:09

Re: Mudlet 3.* - skrypty + mapper

Post autor: Crer »

Tak, wiem, dziekuje. Chce jednak miec swoje skroty.
Szmups
Posty: 12
Rejestracja: 03 lis 2017 20:11

Re: Mudlet 3.* - skrypty + mapper

Post 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.
ODPOWIEDZ