Zmiana odporności na dany element w trakcie rozgrywki
Chodzi mi o to aby modyfikować klasę w takcie gry. Np nasz bohater przejdzie jakieś szkolenie i od tego czasu ma większa odporność na ogień , za kilka lvl następne szkolenie na inny element itp. Da się coś takiego zrobić ;d ?
Zdaje się, że mam rozwiązanie twojego problemu. Jednak jako że zwykle rozwiązuję własne problemy na zdarzeniach, to mogą one ci się wydać niepotrzebnie skomplikowane. Niestety nie znam się na skryptach.
Odpowiedzią są Stany(States). Możesz ustawić graczowi dowolny stan na całą grę, albo po prostu dać mu pasywnego Skilla. Jedynym minusem tej 'metody' jest to, że gracz na pierwszym poziomie tego Skilla(odporność na ogień) ma już dwukrotnie większą odporność na ataki ogniste i nie jestem pewien czy da się to obniżyć.
Tworzysz powiedzmy 2 Stany, pierwszy "Odporność na Ogień 1" i "Odporność na Ogień 2". W każdym z tych Stanów zaznaczasz Ogień(Fire) w kolumnie po prawej. Teraz, jeżeli nadasz graczowi tylko jeden z tych stanów(obojętnie) to będzie miał już 100% większą odporność na ogień. Jeżeli nadasz mu oba, będzie to 200% i tak dalej...
Mi ta metoda pasuje, ale być może znajdzie się ktoś kto pomoże ci robiąc to na skryptach, lub znajdzie lepszy sposób.
Generalnie wystarczy potestować ale niektórym się nie chce.
To ja wiem :P Ale nie da się tego zmienić w trakcie rozgrywki , c'nie ? Na samym początku mogę mu ustawić odporność na ogień , jednak gdy będą chciał , żeby na np 10 lvl nauczył się odporności na ziemie , a do 10 lvl żył bez tej odporności , to nie jestem w stanie tego zrobić bez odpowiedniego skryptu ;/
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Nie 06 Maj, 2012 11:06
Spróbuj może tego:
Spoiler:
Kod:
# by Ayene
# Instrukcja
# Korzystając z polecenia "Script" w zdarzeniu wpisz:
# change_rate(actor_id, element_id, value)
# gdzie:
# actor_id - ID bohatera w bazie danych
# element_id - ID elementu w bazie danych
# value - wartość elementu, zgodnie ze wzorem:
# 1: A, 2: B, 3: C, 4: D, 5: E, 6: F
# Przykład:
# Aby zmienić Aluxowi element Fire na wartość F (absorb):
# change_rate(1, 1, 6)
# Aby zmienić Estelle element Darkness na wartość A (słabość):
# change_rate(5, 8, 1)
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * Setup
# actor_id : actor ID
#--------------------------------------------------------------------------
alias aye_gamact_setup setup
def setup(actor_id)
aye_gamact_setup(actor_id)
@new_elements = {}
end
#--------------------------------------------------------------------------
# * Change Actor Element Revision Value
# element_id : element ID
# value : value
#--------------------------------------------------------------------------
def change_actor_element(element_id, value)
@new_elements[element_id] = value
end
#--------------------------------------------------------------------------
# * Get Element Revision Value
# element_id : element ID
#--------------------------------------------------------------------------
def element_rate(element_id)
table = [0,200,150,100,50,0,-100]
if @new_elements.include?(element_id)
result = table[@new_elements[element_id]]
else
result = table[$data_classes[@class_id].element_ranks[element_id]]
end
for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
armor = $data_armors[i]
if armor != nil and armor.guard_element_set.include?(element_id)
result /= 2
end
end
for i in @states
if $data_states[i].guard_element_set.include?(element_id)
result /= 2
end
end
return result
end
end
class Interpreter
#--------------------------------------------------------------------------
# * Change Actor Element Revision Value
#--------------------------------------------------------------------------
def change_rate(actor_id, element_id, value)
$game_actors[actor_id].change_actor_element(element_id, value)
end
end
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum