Najemnicy

* * * * * * * * * * Zamknięte forum dyskusyjne Gildii Najemników na prywatnym serwerze "Dziedzictwo Mistrzów" na bazie gry Ultimy Online * * * * * * * * *


#1 2014-10-15 23:58:43

Amelia Selakow

Aktywny

Zarejestrowany: 2014-10-13
Posty: 194
Punktów :   

Drwal4

;%Rodzaje_drzew - defaultowo drzewo_cedr_dab_orzech_wierzba_cyprys_cis_o'hii - okresla jakich drzew ma szukac, jesli chcesz tylko zwykle drzewa to zmien na drzewo, a jesli np. cyprysowe i ohii to zmien na cyprys_o'hii (te nazwy musza byc dokladnie takie same jak na liscie)(nie mozna uzywac spacji, zamiast tego stosowac "_" )(kolejnosc jest obojetna, nic nieznaczaca).
;%Max_waga - defaultowo 600 - jesli twoja waga przekroczy ta wartosc skrypt zatrzyma sie.
;%Max_odleglosc - defaultowo 13 - maxymalna odleglosc od postaci w jakiej beda szukane drzewa (czyli defaultowo przeszukuje kwadrat o boku 27, a postac jest w jego centrum)(jesli ta odleglosc bedzie za duza to nie bedzie w stanie dojsc do drzewa).
;================
;set %Rodzaje_drzew cyprys_drzewo_YEW_drzewo_cedr_dab_orzech_wierzba_drzewo_o'hii
set %Rodzaje_drzew cyprys_drzewo_YEW_drzewo_cedr_dab_orzech_wierzba_drzewo_o'hii
set %Sciezka_do_wava C:\WINDOWS\Media\tada.wav
set %Max_waga 250
set %Max_odleglosc 20
set %ilm 2                                       ; Ilosc zdefiniowanych magazynow w lokalizacji
set %Magazynier 1                                ; Czy odkładamy kłody do magazynu? 0-nie, 1-Magazynier(1), 2-Magazynier(2), itd.
set %czyJesc #true                                 ; Czy jemy gdy jest potrzeba? Aby sprawdzanie/jedzenie dzialalo wymagany jest dodatkowy skrypt
set %jedzenie IND_GUD_FND_HQD_WLI_QRD_NRD_VRD_NWI  ; TYP jedzenia

;================

set %Id_plecaka_juczniaka 0
gosub Wskaz_juczniaka
wait 5
gosub Wskaz_siekiere
wait 5

start:
set #lpc 200
set %Plecak_lamy_pelny 0
tile Init noOverrides
; gosub nakarm_zwierzaki                             ; karmi juczniaki

if drzewo in %Rodzaje_drzew
   set %Rodzaje_drzew tree_ , %Rodzaje_drzew
;set %x_poczatek #charposx - %Max_odleglosc
;set %y_poczatek #charposy - %Max_odleglosc
set %x_poczatek #charposx
set %y_poczatek #charposy
set %x_koniec #charposx + %Max_odleglosc
set %y_koniec #charposy + %Max_odleglosc

for %x %x_poczatek %x_koniec
{
  for %y %y_poczatek %y_koniec
  {
    tile Cnt %x %y
    for %i 1 #tilecnt
    {
      tile Get %x %y %i
      if #tilename in %Rodzaje_drzew && Impassable in #tileflags
      {
        set #lpc 10
        gosub Podejdz_do_drzewa
        if #result
          {
           wait 10
           gosub Scinaj_drzewo
          }
        else
        {
          set #sysmsgcol 1080
          event sysmessage Nie udalo mi sie dostac do drzewa.
          set #sysmsgcol 1152
          event sysmessage Szukam dalej...
        }
        set #lpc 200
        break
      }
    }
  }
}
sound C:\WINDOWS\Media\ding.wav
Display yesno Idziemy dalej?
if #dispRes = Yes
    {
     gosub Idz_na_ustawxy
     goto start
    }
Koniec:
sound %Sciezka_do_wava
set #sysmsgcol 1152
event sysmessage Przeszukiwanie skonczone.
halt

sub Podejdz_do_drzewa
set #sysmsgcol 1152
event sysmessage Znalazlem drzewo o nazwie #tilename , #dot
wait 5
if %Id_plecaka_juczniaka <> 0
  event macro 1 0 za mna
wait 5
deletejournal
set %Uzyte_move_x_y 0
Zacznij_isc:
event pathfind %x %y #tilez
set %Timer #scnt2 + 5
repeat
  if %Timer < #scnt2
    goto Zacznij_isc
  scanjournal 1
  if #journal = Can't_get_there
    return #false
until #journal = Pathfinding!
set %Timer 0
set %Char_x_old -1
set %Char_y_old -1
repeat
if %Timer < #scnt2
{
  scanjournal 1
  if Zapisywanie_Stanu_Swiata in #journal || #journal = Pathfinding!
  {
    if #journal = Pathfinding!
    {
      scanjournal 2
      if Zapisywanie_Stanu_Swiata in #journal
        goto Przeczekaj_zapis
      goto Omin_przeczekiwanie_zapisu
    }
    Przeczekaj_zapis:
    wait 90
    continue
  }
  Omin_przeczekiwanie_zapisu:
  if %Char_x_old = #charposx && %Char_y_old = #charposy
  {
    if %Uzyte_move_x_y = 2
      return #false
    gosub Uzyj_move_x_y
    if ! #result
      return #false
    goto Zacznij_isc
  }
  set %Char_x_old #charposx
  set %Char_y_old #charposy
  set %Timer #scnt2 + 30
}
if #stamina < 1 && %Odleglosc > 1
{
  repeat
   gosub Oblicz_odleglosc
  until #stamina > 9 || %Odleglosc < 2
  event pathfind %x %y #tilez
}
gosub Oblicz_odleglosc
until %Odleglosc < 2
if %Odleglosc < 1
  return #false
return #true

sub Oblicz_odleglosc
set %Odl_x %x - #charposx abs
set %Odl_y %y - #charposy abs
if %Odl_x > %Odl_y
  set %Odleglosc %Odl_x
else
  set %Odleglosc %Odl_y
return

sub Uzyj_move_x_y
move %x %y 1 9s
if #charposx = %Char_x_old && #charposy = %Char_y_old
  return #false
set %Uzyte_move_x_y %Uzyte_move_x_y + 1
return #true

sub Scinaj_drzewo
Petla_scinania_drzewa:

if %czyJesc = #true
{
    jesliGlod:
    if *ivGlod = #true
    {
        gosub jedzenie %jedzenie
        goto jesliGlod
    }
}

deletejournal

Toporek:
if #weight > %Max_waga
{
  sound %Sciezka_do_wava
  set #sysmsgcol 1080
  event sysmessage Osiagnieto maksymalna wage - %Max_waga
  if %Magazynier > 0
  {
   event sysmessage Udaje sie do magazynu.
   ; zapamietaj gdzie stalem
   set %obecneXYx #CHARPOSX
   set %obecneXYy #CHARPOSY
   if %Magazynier > %ilm
      {
       event sysmessage Brak definicji magazynu.
       halt
      }
      else
          gosub Magazyn %Magazynier
   wait 5
   event sysmessage Wracam na stara lokalizacje.
   move %obecneXYx %obecneXYy 1 120s
   gosub Idz_na_ustawxy
   goto start
  }
  sound C:\WINDOWS\Media\ding.wav
  event sysmessage KONIEC.
  halt
}
gosub siekiera                                     ; zaloz siekiere
set #lobjectid %siekiera
event macro 17
set %Timer #scnt2 + 5
repeat
if %Timer < #scnt2
  goto Toporek
until #targcurs = 1
Celownik:
gosub Ustaw_x_y_drzewa
event macro 22
set %Timer #scnt2 + 5
repeat
if %Timer < #scnt2
  goto Celownik
until #targcurs = 0
set %Timer_scinania_drzewa #scnt2 + 110
if %Id_plecaka_juczniaka <> 0 && %Plecak_lamy_pelny = 0
  gosub Przezuc_klody
repeat
scanjournal 1
if Stoisz_za_daleko in #journal || Nie_wiesz_jak_uzyc_te_przedmioty_razem in #journal || Nie_mozesz_tego_uzyc in #journal || To_drzewo_wyglada_juz_na_wystarczajaco_obciete in #journal
  return
until ( s_troche_ in #journal && _klod_i_wlozyl in #journal ) || Zniszczyles_klody in #journal || Zniszczylas_klody in #journal || Oddaliles_sie in #journal || Oddalilas_sie in #journal || %Timer_scinania_drzewa < #scnt2
goto Petla_scinania_drzewa

sub Ustaw_x_y_drzewa
set #ltargetx %x
set #ltargety %y
set #ltargetz #tilez
set #ltargetkind 3
set #ltargettile #tiletype
return

sub Przezuc_klody
Poczatek_przezucania_klod:
finditem zlk C_ , #backpackid
if #findkind = -1
  return
set %Id_klod #findid
set %Stack_klod #findstack
set %Kolor_klod #findcol
Klody_Plecak_juczniaka_petla:
finditem %Id_plecaka_juczniaka C_ , #charid
if #findkind = -1
{
  finditem %Id_juczniaka
  if #finddist > 1
  {
    Klody_Powiedz_podejdzcie:
    if #finddist > 8
    {
      event sysmessage Juczniak stoi za daleko.
      return
    }
    event macro 1 0 podejdzcie
    set %Timer #scnt2 + 10
    repeat
    if %Timer < #scnt2
      goto Klody_Powiedz_podejdzcie
    finditem %Id_juczniaka
    until #finddist < 2
  }
  set #lobjectid #findid
  wait 5
  event macro 17
  wait 20
  goto Klody_Plecak_juczniaka_petla
}
ExDrag_klod:
exevent drag %Id_klod %Stack_klod
set %Timer #scnt2 + 25
repeat
if %Timer < #scnt2
  goto ExDrag_klod
finditem %Id_klod C_ , #backpackid
until #findkind = -1
finditem zlk C_ , %Id_plecaka_juczniaka
set %Id_klod_w_plecaku_juczniaka 0
for %k 1 #findcnt
{
  if #findkind = -1
    break
  set #findindex %k
  if #findcol = %Kolor_klod
  {
    set %Id_klod_w_plecaku_juczniaka #findid
    set %Stack_klod_w_plecaku_juczniaka #findstack
    break
  }
}
set %Cnt_drop_klod 0
ExDrop_klod:
set %Cnt_drop_klod %Cnt_drop_klod + 1
if %Cnt_drop_klod > 4
  goto Poczatek_przezucania_klod
exevent dropc %Id_plecaka_juczniaka
set %Timer #scnt2 + 12
repeat
if %Timer < #scnt2
  goto ExDrop_klod
scanjournal 1
if That_item_is_too_heavy in #journal
{
  set %Plecak_lamy_pelny 1
  return
}
if %Id_klod_w_plecaku_juczniaka = 0
  finditem %Id_klod C_ , %Id_plecaka_juczniaka
else
  finditem %Id_klod_w_plecaku_juczniaka C_ , %Id_plecaka_juczniaka
until ( #findkind = 0 && %Id_klod_w_plecaku_juczniaka = 0 ) || ( #findstack = %Stack_klod_w_plecaku_juczniaka + %Stack_klod && %Id_klod_w_plecaku_juczniaka <> 0 )
goto Poczatek_przezucania_klod

sub Wskaz_juczniaka
set #targcurs 1
set #sysmsgcol 1152
Wskaz_juczniaka:
event sysmessage Wskaz juczniaka.
set %Timer #scnt2 + 90
repeat
if %Timer < #scnt2
  goto Wskaz_juczniaka
onhotkey ESC
  return
until #targcurs = 0
onhotkey ESC
  return
set %Id_juczniaka #ltargetid
Sprawdz_tego_juczniaka:
finditem %Id_juczniaka
if #findtype <> wn && #findtype <> bo
{
  event sysmessage To nie jest ani kon ani lama juczna.
  return
}
if #finddist > 1
{
  if #finddist > 8
  {
    event sysmessage Juczniak stoi za daleko.
    return
  }
  event macro 1 0 podejdzcie
  set %Timer #scnt2 + 10
  repeat
  if %Timer < #scnt2
    goto Sprawdz_tego_juczniaka
  finditem %Id_juczniaka
  until #finddist < 2
}
set %Id_jakiegos_gumpa #contid
set #lobjectid #findid
event macro 17
set %Timer #scnt2 + 10
repeat
until #contid <> %Id_jakiegos_gumpa || %Timer < #scnt2
finditem #contid C_ , #charid
if #findtype <> zjf || #findid = #backpackid
  goto Sprawdz_tego_juczniaka
set %Id_plecaka_juczniaka #contid
return

sub jedzenie
    finditem %1 C
    if #FINDCNT > 0
    {
        set #lobjectid #FINDID
        event macro 17
    }
    else
    {
        event sysmessage SKONCZYLO SIE JEDZENIE!
        sound %Sciezka_do_wava
;        halt
    }

    wait 2s
return

sub Magazyn
if %1 = 1
  {
   move 507 970 0 60s
   move 505 981 0 20s
  }
if %1 = 2
  {
   move 568 1018 0 60s
  }
wait 20
gosub Otworz_juke
wait 5
event macro 1 0 Otworz moj magazyn
wait 20
click 610 430
  Display OK Przerzuc kłody i nacisnij ESC
;  set #lpc 1000
  desactive:
    onhotkey ESC
      goto active
  goto desactive
  active:
wait 10
click 550 400 r
wait 5
return

sub Otworz_juke
finditem %Id_plecaka_juczniaka C_ , #charid
if #findkind = -1
{
  finditem %Id_juczniaka
  if #finddist > 1
  {
    Klody_Powiedz_podejdzcie:
    if #finddist > 8
    {
      event sysmessage Juczniak stoi za daleko.
      return
    }
    event macro 1 0 podejdzcie
    set %Timer #scnt2 + 10
    repeat
    if %Timer < #scnt2
      goto Klody_Powiedz_podejdzcie
    finditem %Id_juczniaka
    until #finddist < 2
  }
  set #lobjectid #findid
  event macro 17
}
return

sub Wskaz_siekiere
set #targcurs 1
set #sysmsgcol 1152
Wskaz_siekiere:
event SysMessage Wskaz siekere:
set %Timer #scnt2 + 90
repeat
  if %Timer < #scnt2
    goto Wskaz_siekiere
  onhotkey ESC
    goto Wcisnieto_ESC
until #targcurs = 0
onhotkey ESC
{
  Wcisnieto_ESC:
  set #sysmsgcol 1080
  event sysmessage Nie wskazales celu.
  halt
}
set %siekiera #ltargetid
return

sub siekiera                                   ; załóż siekierę
finditem %siekiera C_ , #CHARID
if #findkind <> 0
{
  finditem %siekiera C_ , #BACKPACKID
  if #findkind = 0
  {
    Exevent Drag #FINDID
    Exevent Droppd
    Exevent Droppd
  }
  else
    gosub Wskaz_siekiere
}
wait 10
return

sub nakarm_zwierzaki
return

Sub Idz_na_ustawxy
     set %ustawx #charposx + 1
     set %ustawy %y_poczatek
     Event Sysmessage Poprawiam koordynaty na X: %ustawx Y: %ustawy
     Idznaustawxy:
;     Event Pathfind %ustawx %ustawy #tilez
;     set %Timer #scnt2 + 5
;     repeat
;        if %Timer < #scnt2
;          goto Idznaustawxy
;        scanjournal 1
;        if #journal = Can't_get_there
;           goto Koniec
;     until #charposx = %ustawx && #charposy = %ustawy
     Move %ustawx %ustawy 0 10s
return

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.wshifm.pun.pl www.maly-kacik.pun.pl www.speedwayadam.pun.pl www.zewip07.pun.pl www.hhniezginie.pun.pl