UltimaForum

Pomoc [VXAce] - małe skrypcioryki

Valdali - Nie 01 Lip, 2012 20:50
Temat postu: małe skrypcioryki
Dobry wieczór :mrgreen:
potrzebuje pomocy jakiegoś fajnego i obeznanego skryptera, który zrobi dla mnie trzy malutkie skrypty xD

a) w ekwipunku żeby nie było widocznych slatów broni i tarczy
b) w statusie żeby była jedna kategoria: Atak i zbroja (slot broni i tarczy) oraz Uzbrojenie (slot hełmu, zbroji i akcesorii)

no i pytanie:
czy jest jakas zmienna bądź coś odpowiadająca za wyświetlanie się człownków drużyny powyżej czterech na mapie?
bo je3śli tak to bardzo bym błagał kogoś o zrobienie skryptu na gonsienice żeby wyswietlała tych członków tylko nie idących za sobą tylko w podwójnym szeregu

to tyle. chciałbym to na konkurs UT tri, ponieważ razem z tymi skryptami moja praca bd jeszcze lepsza.
pozdrawiam Valdali :mrgreen:

Ayene - Nie 01 Lip, 2012 21:37

Podpunktu b) jakoś nie mogę sobie wyobrazić. Tzn. chcesz żeby mimo braku wyboru broni i tarczy były one w statusie wyświetlane?
Valdali - Nie 01 Lip, 2012 21:40

robie gierkę strategczną i w moim malutkim systemiku slot "broń" pokazuje potencjalnemu graczowi jaki rodzaj obrażeń dana jednostka zadaje, a slot "tarcza" jaki rodzaj pancerza jednostka posiada. dlatego w uzbrojenie pokazywanie tego jest nie potrzebne (krypt a) a chce żeby wyświetlało mi się to w osobnej "kategori" w statusiee (skrypt b).
domyślnie jest to wszystko pod komendą "equip".

Ayene - Nie 01 Lip, 2012 21:52

Żeby wyrzucić slot broni i tarczy z ekwipunku wystarczy wejść w 'Game_Actor' i fragment:
Kod:
return [0,0,2,3,4] if dual_wield?
    return [0,1,2,3,4]

zamienić na:
Kod:
return [2,3,4]

Co do slotów w statusie... pewnie najlepiej byłoby wprowadzić ikonki w oknie notatek. Można również wprowadzić skrypt, który modyfikuje wyświetlanie slotów, ale tylko w ekwipunku, wówczas status będzie nietknięty, a jak się wyrzuci nazwy broni i pancerza to będziesz miał same ikony. Tylko czy to Tobie wystarczy?

Valdali - Nie 01 Lip, 2012 21:57

nie za bardzo rozumiem o co dokładnie chodzi xd
jedyne co mogę tylko dodać to to że te dwa sloty bd nie do zmienienia dla danego typu jednostki xd

Ayene - Nie 01 Lip, 2012 22:01

Zobacz, o to mi chodziło:
Spoiler:

Kod:
class Game_Actor < Game_Battler 
  def equip_slots
    return [0,0,2,3,4] if dual_wield?       # &#20108;&#20992;&#27969;
    return [0,1,2,3,4]   
  end

  def clear_equipments
    (equip_slots.size-2).times do |i|
      change_equip(i+2, nil) if equip_change_ok?(i+2)
    end
  end
end

class Window_EquipSlot < Window_Selectable
  #--------------------------------------------------------------------------
  def update
    super
    @item_window.slot_id = index+2 if @item_window
  end
  #--------------------------------------------------------------------------
  def item_max
    @actor ? @actor.equip_slots.size-2 : 0
  end
  #--------------------------------------------------------------------------
  def item
    @actor ? @actor.equips[index+2] : nil
  end
  #--------------------------------------------------------------------------
  def draw_item(index)
    return unless @actor
    rect = item_rect_for_text(index)
    change_color(system_color, enable?(index+2))
    draw_text(rect.x, rect.y, 92, line_height, slot_name(index+2))
    draw_item_name(@actor.equips[index+2], rect.x + 92, rect.y, enable?(index+2))
  end
end

class Window_Status < Window_Selectable
  def draw_item_name(item, x, y, enabled = true, width = 172)
    return unless item
    draw_icon(item.icon_index, x, y, enabled)
  end
end

class Scene_Equip < Scene_MenuBase

  def on_item_ok
    Sound.play_equip
    @actor.change_equip(@slot_window.index+2, @item_window.item)
    @slot_window.activate
    @slot_window.refresh
    @item_window.unselect
    @item_window.refresh
  end
end


Valdali - Nie 01 Lip, 2012 22:05

kurcze, trochu nie ;-(
a mogło by być tak, że te dwa sloty jednak wyświetlają się w ekwipunku tylko są oddzielone biało kreską od pozostałych (ace ma i tak możliwość ustawiania stałego eq).
wtedy by może dało się wykombinować w statysie

Ayene - Nie 01 Lip, 2012 22:19

Linia oddzielająca ekwipunek:
Spoiler:

Kod:
class Window_EquipSlot < Window_Selectable
  alias aye_wineqslot_draw_item draw_item
  def draw_item(index)
    aye_wineqslot_draw_item(index)
    rect = item_rect_for_text(index)   
    draw_horz_line(rect.y) if index == 2
  end
 
  def draw_horz_line(y)
    color = normal_color
    color.alpha = 48
    contents.fill_rect(0, y, contents_width, 2, color)
  end
end


Valdali - Nie 01 Lip, 2012 22:24

Ayene a czy sprawiło by ci problem napisanie jeszcze tych dwóch? Błagam cię, bo bez tego moja gra nie ruszy! :-(
Ayene - Nie 01 Lip, 2012 22:31

Nie za bardzo powinno to wyglądać tak, że pomagam przy skryptach specjalnie na konkurs. Dasz sobie radę. Ten jeden to niewielka modyfikacja, ale jeśli chodzi o chodzenie parami, to nie sądzę, abym w ogóle dała radę. Pozdro.
Valdali - Nie 01 Lip, 2012 22:33

no dobrze, rozumiem :-P
może sb jakos dam rade. tak czy siak dzięki Ci :d


Powered by phpBB modified by Przemo © 2003 phpBB Group