UltimaForum

Wsparcie [VX] - malutki skrypcik

Valdali - Nie 10 Lip, 2011 09:55
Temat postu: malutki skrypcik
siemka wam!
mam pro¶bę do chętnej osoby, która wykombinowała by skrypt, który blokował by dwa pierwsze sloty w ekwipunku dla wszystkich bohaterów.
Chcę zrobić co¶ takiego, że wszyscy maj± broń i tarczę tak± sam± a reszta może być innę. rozumiecie?

sw± pro¶bę przesyłam do wszystkich a w szczególno¶ci do ayene bo wiem, że ona na pewno zrobi to dobrze [je¶li będzie chciała to zrobic ;)]

Ayene - Nie 10 Lip, 2011 11:06

WejdĽ w klasę 'Scene_Equip' i znajdĽ:
Kod:
if @actor.fix_equipment

zamień na:
Kod:
if @actor.fix_equipment or @equip_window.index == 0 or @equip_window.index == 1

:->

Valdali - Pon 11 Lip, 2011 00:18

dzięki ayene

mam jeszcze jedn± pro¶bę [ sory za wiele takich moich pró¶b]
czy mogłabys napisać skrypt (chyba będzie on mały), że bohaterowie wszyscy oprócz pierwszego mog± mieć maksymalny poziom 3?

Ayene - Pon 11 Lip, 2011 08:17

Skorzystaj z tego:
Spoiler:

Kod:
class Game_Actor < Game_Battler 
  def make_exp_list
    @exp_list = Array.new(level_max + 2)
    @exp_list[1] = @exp_list[level_max + 1] = 0
    m = actor.exp_basis
    n = 0.75 + actor.exp_inflation / 200.0
    for i in 2..level_max
      @exp_list[i] = @exp_list[i-1] + Integer(m)
      m *= 1 + n;
      n *= 0.9;
    end   
  end
 
  def change_level(level, show)
    level = [[level, level_max].min, 1].max
    change_exp(@exp_list[level], show)
  end
 
  def level_max   
    return @actor_id == 1 ? 99 : 3
  end
end


Valdali - Pon 11 Lip, 2011 12:06

dziękuję ci ayene o to mi wła¶nie chodziło!
a czy dało by się zrobić, że pomiędzy tarcz± a reszcie ekwipunku będzie taka kreska [_____]
broń
tarcza
_________
i dalej?
mozna zrobić cos takiego?

Ayene - Pon 11 Lip, 2011 13:37

By dodać w oknie ze zmian± ekwipunku wejdĽ w 'Window_Equip' i znajdĽ:
Kod:
self.contents.clear

po nim dodaj:
Kod:
self.contents.fill_rect(0, WLH * 2, self.width, 1, Color.new(255,255,255))

Valdali - Pon 11 Lip, 2011 13:49

dziwne jakos mi to nie działa ;-(
Ayene - Pon 11 Lip, 2011 13:52

A nie masz przypadkiem dodatkowego skryptu, który modyfikuje... http://www.ultimateam.pl/...p?p=58922#58922
To tam musisz to umie¶cić.

Valdali - Pon 11 Lip, 2011 13:58

tak to było to :mrgreen:
dzięki
mam jeszcze jedn±, przysięgam ostatni± pro¶bę.
czy dużo zajęłyby ci napisanie skryptu, który modyfikuje odgłosy ¶mierci i dostawania obrażeń potworów? chodzi o to zbeby każdy jak umrze miał inny dĽwięk oraz jak go sie walnie to żeby był inny dzwięk otrzymywania obrażeń.
pls rób to i już ci dam spokój :-D

Ayene - Pon 11 Lip, 2011 14:37

Konfiguracja w tre¶ci skryptu:
Spoiler:

Kod:
# Wszystkie dĽwięki to SE.
# By skrypt działał, wystarczy do folderu Audio/SE wrzucić pliki, których
# nazwa powinna być odpowiednio:
# 'Actor_Hit_ID' - gdzie ID to id bohatera w bazie danych, np. 'Actor_Hit_12'
# SE zostanie odegrane, gdy bohater o ID 12 otrzyma obrażenia od przeciwnika

# 'Enemy_Hit_ID' - gdzie ID to id przeciwnika w bazie danych, np. 'Enemy_Hit_4'
# SE zostanie odegrane, gdy przeciwnik o ID 4 otrzyma obrażenia od bohatera

# 'Actor_Dead_ID' - gdzie ID to id bohatera w bazie danych, np. 'Actor_Dead_8'
# SE zostanie odegrane, gdy bohater o ID 8 zginie w walce

# 'Enemy_Dead_ID' - gdzie ID to id przeciwnika w bazie danych, np. 'Enemy_Dead_23'
# SE zostanie odegrane, gdy przeciwnik o ID 23 zginie w walce


class Sprite_Battler < Sprite_Base
  alias aye_custscr_sp_bat_setnewef setup_new_effect
 
  def setup_new_effect     
    if @battler.blink
      if @battler.is_a?(Game_Actor)       
        RPG::SE.new("Actor_Hit_" + @battler.actor_id.to_s, 100, 100).play rescue nil
      else
        RPG::SE.new("Enemy_Hit_" + @battler.enemy_id.to_s, 100, 100).play rescue nil
      end     
    end
    if @battler.collapse     
      if @battler.is_a?(Game_Actor)       
        RPG::SE.new("Actor_Dead_" + @battler.actor_id.to_s, 100, 100).play rescue nil
      else
        RPG::SE.new("Enemy_Dead_" + @battler.enemy_id.to_s, 100, 100).play rescue nil
      end           
    end
    aye_custscr_sp_bat_setnewef
  end
end


Valdali - Pon 11 Lip, 2011 14:48

dziękuje ci, dzięki tobie moja mini-strategiczna gra [rpg xddd] zostanie niedługo ukończona :przytul:
Ayene - Pon 11 Lip, 2011 16:36

Mała korekta tamtego skryptu. Nie działało uderzenie w bohatera:
Spoiler:

Kod:
# Wszystkie dĽwięki to SE.
# By skrypt działał, wystarczy do folderu Audio/SE wrzucić pliki, których
# nazwa powinna być odpowiednio:
# 'Actor_Hit_ID' - gdzie ID to id bohatera w bazie danych, np. 'Actor_Hit_12'
# SE zostanie odegrane, gdy bohater o ID 12 otrzyma obrażenia od przeciwnika

# 'Enemy_Hit_ID' - gdzie ID to id przeciwnika w bazie danych, np. 'Enemy_Hit_4'
# SE zostanie odegrane, gdy przeciwnik o ID 4 otrzyma obrażenia od bohatera

# 'Actor_Dead_ID' - gdzie ID to id bohatera w bazie danych, np. 'Actor_Dead_8'
# SE zostanie odegrane, gdy bohater o ID 8 zginie w walce

# 'Enemy_Dead_ID' - gdzie ID to id przeciwnika w bazie danych, np. 'Enemy_Dead_23'
# SE zostanie odegrane, gdy przeciwnik o ID 23 zginie w walce


class Sprite_Battler < Sprite_Base
  alias aye_custscr_sp_bat_setnewef setup_new_effect
 
  def setup_new_effect     
    if @battler.blink
      if @battler.is_a?(Game_Actor)       
        RPG::SE.new("Actor_Hit_" + @battler.actor_id.to_s, 100, 100).play rescue nil
      else
        RPG::SE.new("Enemy_Hit_" + @battler.enemy_id.to_s, 100, 100).play rescue nil
      end     
    end
    if @battler.collapse     
      if @battler.is_a?(Game_Actor)       
        RPG::SE.new("Actor_Dead_" + @battler.actor_id.to_s, 100, 100).play rescue nil
      else
        RPG::SE.new("Enemy_Dead_" + @battler.enemy_id.to_s, 100, 100).play rescue nil
      end           
    end
    aye_custscr_sp_bat_setnewef
  end
end

class Scene_Battle < Scene_Base
  alias aye_custscr_scbat_dishpdam display_hp_damage
 
  def display_hp_damage(target, obj = nil)
    if target.hp_damage > 0 and target.actor?             
      target.blink = true
    end
    aye_custscr_scbat_dishpdam(target, obj)
  end
end

class Game_Actor < Game_Battler
  attr_reader   :actor_id
end



Powered by phpBB modified by Przemo © 2003 phpBB Group