Partagez
Aller en bas
playyes
playyes
Membre

Nombre de messages : 7
Distinction : aucune
Date d'inscription : 14/06/2008

Script Systeme d'evolution arme / competence Empty Script Systeme d'evolution arme / competence

le Ven 20 Juin 2008 - 8:02
Nom : Systeme d'evolution arme / competence
Nombre de script : 1
Info :
Voici la version " ultime " pour avoir un systeme ou plus on utilise un
type d'arme, plus on fait de degats avec ce type d'arme et ou plus on
utilise une competence, plus elle inflige de degats !!

Créer un nouveau script dans " EAC " et collez y ceci :

Spoiler:
#===============================================================
#
# www.rpgmakervx-fr.com
#
#===============================================================
# Systeme d'evolution arme / competence

# Dans l'onglet " System " de la base de donnée, créer autant d'attribut que vous
# aurez de type d'arme dans votre jeu. Associé ces attributs aux armes qu'il
# represente dans l'onglet " Weapon ". ( Pensez à configurer la liste ci-dessous !! )
# Plus un héros utilisera un type d'arme, plus il fera de degat avec ce type d'arme.

module Maitrise
# Ci-dessous : Liste des attributs associé à un type d'arme
# Il faut respecter l'ordre des elements dans chaque tableau !!
TABLE_ATTRIBUT = [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]

# Ce tableau sert à associé un icone à chaque type d'arme :
# L'ordre est egalement le même que celui du tableau TABLE_ATTRIBUT !!
# Chaque bloc est constitué comme ceci :
# [colonne de l'icone, ligne de l'icone]
# En comptant à partir de 0
TABLE_ICONE = [[11, 0], [3, 3], [8, 0], [3, 0], [10, 1], [4, 0], [14, 1], [3, 1], [5, 1], [0, 1]]

# Ce tableau sert à determiné les noms des differentes catégories d'arme.
# L'ordre est egalement le même que celui du tableau TABLE_ATTRIBUT !!
TABLE_NOM = ["Griffe", "Gants", "Dague", "Epée", "Epée lourde", "Lance", "Hache", "Marteau", "Baton", "Arc"]

# Exp gagné à chaque utilisation du type d'arme ( Atk normale )
EXP_ARME = 3
# Montant d'exp necessaire par niveau ( fixe )
EXP_NEED_ARME = 100
# Bonus gagné par niveau ( 0.2 par niveau => degat doublé au niveau de maitrise 5 )
BONUS_ARME = 0.2

# Somme d'exp gagné à chaque utilisation de la competence
EXP_SKILL = 5
# Montant d'exp necessaire pour passer au niveau superieur ( fixe )
EXP_NEED_SKILL = 100
# Augmentation de la puissance par niveau ( si 0.2, degats doublé apres 5 niveaux )
BONUS_SKILL = 0.2

end
class Game_Battler
def make_attack_damage_value(attacker)
damage = attacker.atk * 4 - self.def * 2 # base calculation
damage = 0 if damage < 0 # if negative, make 0
damage *= elements_max_rate(attacker.element_set) # elemental adjustment
damage /= 100
if damage == 0 # if damage is 0,
damage = rand(2) # half of the time, 1 dmg
elsif damage > 0 # a positive number?
@critical = (rand(100) < attacker.cri) # critical hit?
@critical = false if prevent_critical # criticals prevented?
damage *= 3 if @critical # critical adjustment
end
damage = apply_variance(damage, 20) # variance
damage = apply_guard(damage)
####
if attacker.actor? and damage > 0
for attribut in $data_weapons[attacker.weapon_id].element_set
if Maitrise::TABLE_ATTRIBUT.include?(attribut)
$maitrise_arme[attacker.id][attribut] += Maitrise::EXP_ARME
exp = $maitrise_arme[attacker.id][attribut]
indice = 1
while exp > Maitrise::EXP_NEED_ARME
exp -= Maitrise::EXP_NEED_ARME
indice += Maitrise::BONUS_ARME
end
damage *= indice
end
end
end
####
@hp_damage = damage.to_i # damage HP
end
def make_obj_damage_value(user, obj)
damage = obj.base_damage # get base damage
if damage > 0 # a positive number?
damage += user.atk * 4 * obj.atk_f / 100 # Attack F of the user
damage += user.spi * 2 * obj.spi_f / 100 # Spirit F of the user
unless obj.ignore_defense # Except for ignore defense
damage -= self.def * 2 * obj.atk_f / 100 # Attack F of the target
damage -= self.spi * 1 * obj.spi_f / 100 # Spirit F of the target
end
damage = 0 if damage < 0 # If negative, make 0
elsif damage < 0 # a negative number?
damage -= user.atk * 4 * obj.atk_f / 100 # Attack F of the user
damage -= user.spi * 2 * obj.spi_f / 100 # Spirit F of the user
end
damage *= elements_max_rate(obj.element_set) # elemental adjustment
damage /= 100
damage = apply_variance(damage, obj.variance) # variance
damage = apply_guard(damage) # guard adjustment
####
if user.actor? and obj.is_a?(RPG::Skill) and damage > 0
$maitrise_skill[user.id][obj.id] += Maitrise::EXP_SKILL
exp = $maitrise_skill[user.id][obj.id]
indice = 1
while exp > Maitrise::EXP_NEED_SKILL
exp -= Maitrise::EXP_NEED_SKILL
indice += Maitrise::BONUS_SKILL
end
damage *= indice
end
####
if obj.damage_to_mp
@mp_damage = damage.to_i # damage MP
else
@hp_damage = damage.to_i # damage HP
end
end
end
################################################################################
class Scene_Title < Scene_Base
def start
super
$maitrise_arme = Hash.new(0)
$maitrise_skill = Hash.new(0)
load_database # Load database
create_game_objects # Create game objects
check_continue # Determine if continue is enabled
create_title_graphic # Create title graphic
create_command_window # Create command window
play_title_music # Play title screen music
end
def command_new_game
confirm_player_location
Sound.play_decision
for id in 1..($data_actors.size - 1)
$maitrise_arme[id] = {}
$maitrise_skill[id] = {}
end
for id in 1..($data_actors.size - 1)
for i in Maitrise::TABLE_ATTRIBUT
$maitrise_arme[id][i] = 0
end
end
for id in 1..($data_actors.size - 1)
for i in 1..($data_skills.size - 1)
$maitrise_skill[id][i] = 0
end
end
$game_party.setup_starting_members # Initial party
$game_map.setup($data_system.start_map_id) # Initial map position
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
$scene = Scene_Map.new
RPG::BGM.fade(1500)
close_command_window
Graphics.fadeout(60)
Graphics.wait(40)
Graphics.frame_count = 0
RPG::BGM.stop
$game_map.autoplay
end
end
################################################################################
class Scene_File < Scene_Base
def write_save_data(file)
characters = []
for actor in $game_party.members
characters.push([actor.character_name, actor.character_index])
end
$game_system.save_count += 1
$game_system.version_id = $data_system.version_id
@last_bgm = RPG::BGM::last
@last_bgs = RPG::BGS::last
Marshal.dump(characters, file)
Marshal.dump(Graphics.frame_count, file)
Marshal.dump(@last_bgm, file)
Marshal.dump(@last_bgs, file)
Marshal.dump($game_system, file)
Marshal.dump($game_message, file)
Marshal.dump($game_switches, file)
Marshal.dump($game_variables, file)
Marshal.dump($game_self_switches, file)
Marshal.dump($game_actors, file)
Marshal.dump($game_party, file)
Marshal.dump($game_troop, file)
Marshal.dump($game_map, file)
Marshal.dump($game_player, file)
Marshal.dump($maitrise_arme, file)
Marshal.dump($maitrise_skill, file)
end
def read_save_data(file)
characters = Marshal.load(file)
Graphics.frame_count = Marshal.load(file)
@last_bgm = Marshal.load(file)
@last_bgs = Marshal.load(file)
$game_system = Marshal.load(file)
$game_message = Marshal.load(file)
$game_switches = Marshal.load(file)
$game_variables = Marshal.load(file)
$game_self_switches = Marshal.load(file)
$game_actors = Marshal.load(file)
$game_party = Marshal.load(file)
$game_troop = Marshal.load(file)
$game_map = Marshal.load(file)
$game_player = Marshal.load(file)
$maitrise_arme = Marshal.load(file)
$maitrise_skill = Marshal.load(file)
if $game_system.version_id != $data_system.version_id
$game_map.setup($game_map.map_id)
$game_player.center($game_player.x, $game_player.y)
end
end
end
################################################################################
class Window_Base < Window
def draw_item_name(item, x, y, enabled = true, actor = nil)
if item != nil
draw_icon(item.icon_index, x, y, enabled)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
if item.is_a?(RPG::Skill)
exp = $maitrise_skill[actor.id][item.id]
level = 1
while exp > Maitrise::EXP_NEED_SKILL
exp -= Maitrise::EXP_NEED_SKILL
level += 1
end
text = " - Lv : " + level.to_s
else
text = ""
end
self.contents.draw_text(x + 24, y, 172, WLH, item.name + text)
end
end
end
################################################################################
class Window_Skill < Window_Selectable
def draw_item(index)
rect = item_rect(index)
self.contents.clear_rect(rect)
skill = @data[index]
if skill != nil
rect.width -= 4
enabled = @actor.skill_can_use?(skill)
draw_item_name(skill, rect.x, rect.y, enabled, @actor)
self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2)
end
end
end
################################################################################
class Scene_Status < Scene_Base
def start
super
create_menu_background
@actor = $game_party.members[@actor_index]
@status_window = Window_Status.new(@actor)
@maitrise = Window_Maitrise.new(@actor)
@maitrise.back_opacity = 255
@maitrise.z = 150
@maitrise.visible = false
end
def terminate
super
dispose_menu_background
@status_window.dispose
@maitrise.dispose
end
def update
update_menu_background
@status_window.update
@maitrise.update
if @maitrise.visible
update_maitrise
return
end
if Input.trigger?(Input::B)
Sound.play_cancel
return_scene
elsif Input.trigger?(Input::R)
Sound.play_cursor
next_actor
elsif Input.trigger?(Input::L)
Sound.play_cursor
prev_actor
elsif Input.trigger?(Input::C)
Sound.play_decision
@maitrise.visible = true
end
super
end
def update_maitrise
if Input.trigger?(Input::B)
Sound.play_cancel
@maitrise.visible = false
end
end
end
################################################################################
class Window_Maitrise < Window_Base
def initialize(actor)
# Les quatres nombres ci-dessous sont :
# Position x / Position y / Largueur / Hauteur
# Pour avoir la fenetre au centre de l'ecran :
# Pos x = (544 / 2) - (largueur / 2)
# Pos y = (416 / 2) - (hauteur / 2)
super(82, 43, 380, 330)
@actor = actor
refresh
end
def refresh
self.contents.clear
for i in 0..(Maitrise::TABLE_ATTRIBUT.size - 1)
bitmap = Cache.system("Iconset")
rect = Rect.new(Maitrise::TABLE_ICONE[i][0] * 24, Maitrise::TABLE_ICONE[i][1] * 24, 24, 24)
self.contents.blt(0, i * 30, bitmap, rect, 255)
self.contents.draw_text(30, i * 30, 150, 25, Maitrise::TABLE_NOM[i].to_s)
att = Maitrise::TABLE_ATTRIBUT[i]
text = $maitrise_arme[@actor.id][att]
level = 1
while text >= Maitrise::EXP_NEED_ARME
text -= Maitrise::EXP_NEED_ARME
level += 1
end
self.contents.draw_text(130, i * 30, 200, 25, "Lv : " + level.to_s + " - Exp : " + text.to_s, 2)
end
end
end
################################################################################
tenta
tenta
Staffeux retraité

Nombre de messages : 334
Age : 31
Localisation : Canada (Québec)
Distinction : Anti-Boulets suprême!
Date d'inscription : 03/01/2008

Script Systeme d'evolution arme / competence Empty Re: Script Systeme d'evolution arme / competence

le Ven 20 Juin 2008 - 17:29
Tu pourrais au moin nous donner la source..

Auteur:
Site:
©SD-Arius
©SD-Arius
Membre

Nombre de messages : 495
Age : 43
Localisation : Khelonys...
Distinction :
Graphiste surdoué
Pieuvre multi-fonctions
Créateur hyperactif

Date d'inscription : 03/03/2008
http://www.sd-arius.over-blogcom/

Script Systeme d'evolution arme / competence Empty Script Systeme d'évolution arme / compétence

le Sam 21 Juin 2008 - 0:59
Ce n'est pas très sympa de ne pas nommer l'auteur; c'est un manque de respect envers son travail Script Systeme d'evolution arme / competence 728442
D'autant plus qu'il fait parti d'un fofo partenaire au notre .
L'auteur de ce script est ASHKA.

PS : Afin d'éviter les critiques de nos modos je te conseille de le rajouter à tous les scripts que tu a posté (de lui) et à l'avenir veille à ne pas oublier les auteurs . Merci d'avance...
mysterious
mysterious
Membre

Nombre de messages : 400
Age : 30
Distinction : aucune
Date d'inscription : 24/07/2008

Script Systeme d'evolution arme / competence Empty Re: Script Systeme d'evolution arme / competence

le Mar 12 Aoû 2008 - 19:13
pourrais tu mettre le script en code et non spoiler car c'est chiant a copier merci Smile
Orbital
Orbital
Membre

Nombre de messages : 141
Age : 28
Localisation : Euh, tu vois la France ? l'Isère ? grenoble ? SMH ? ma maison ? le bureau ? le PC ? bah c'est là
Distinction : aucune
Date d'inscription : 09/08/2008

Script Systeme d'evolution arme / competence Empty Re: Script Systeme d'evolution arme / competence

le Mar 12 Aoû 2008 - 21:14
L'auteur de ce script c'est Ashka qui a regroupé 2 script pour n'en faire qu'un seul (merci à lui d'ailleurs). J'ai vu ce script sur le fofo (mis en spoiler pour raison de pub...à vous de cliquer ou non Very Happy )
Spoiler:
rpgmaker online (mais tout attaché)
Il a fait ce script ou quelque chose d'approchant, je m'en souviens plus bien (au passage c'ets un formidable scripteur qui a fait une dizaine de chez d'oeuvre tous plus cool et serviable les uns que les autres !)
Higinia
Higinia
Membre

Nombre de messages : 191
Age : 26
Localisation : Somme 80
Distinction : aucune
Date d'inscription : 03/08/2008

Script Systeme d'evolution arme / competence Empty Re: Script Systeme d'evolution arme / competence

le Mar 12 Aoû 2008 - 21:21
@playyes a écrit:Nom : Systeme d'evolution arme / competence
Nombre de script : 1
Info :
Voici la version " ultime " pour avoir un systeme ou plus on utilise un
type d'arme, plus on fait de degats avec ce type d'arme et ou plus on
utilise une competence, plus elle inflige de degats !!

Créer un nouveau script dans " EAC "

C'est quoi EAC ?
Orbital
Orbital
Membre

Nombre de messages : 141
Age : 28
Localisation : Euh, tu vois la France ? l'Isère ? grenoble ? SMH ? ma maison ? le bureau ? le PC ? bah c'est là
Distinction : aucune
Date d'inscription : 09/08/2008

Script Systeme d'evolution arme / competence Empty Re: Script Systeme d'evolution arme / competence

le Mar 12 Aoû 2008 - 21:56
Bonne question.... Script Systeme d'evolution arme / competence 485497
pinguino21v
pinguino21v
Membre

Nombre de messages : 199
Age : 29
Localisation : Vous êtes ici
Distinction : aucune
Date d'inscription : 22/07/2008

Script Systeme d'evolution arme / competence Empty Re: Script Systeme d'evolution arme / competence

le Mar 12 Aoû 2008 - 22:49
C'est quoi EAC ?
Probablement le nom du script ("Evolution Arme Compétence")

Créer un nouveau script dans " EAC "
Comprendre "Créer un nouveau script appelé " EAC ""
Kastor
Kastor
Membre

Nombre de messages : 20
Age : 24
Localisation : Dans le forum
Distinction : aucune
Date d'inscription : 14/08/2008

Script Systeme d'evolution arme / competence Empty Re: Script Systeme d'evolution arme / competence

le Lun 25 Aoû 2008 - 13:48
C'est dans "Matérials" qu'il faut le créer !!!
la preuve ici:
Spoiler:
http://www.rpgmaker
online.com/forum/viewtopic.php?f=43&t=3147
Tihio
Tihio
Membre

Nombre de messages : 21
Distinction : aucune
Date d'inscription : 08/02/2009

Script Systeme d'evolution arme / competence Empty Re: Script Systeme d'evolution arme / competence

le Lun 9 Fév 2009 - 20:54
ddsl mais moi il me dise que j'ai un problème a la ligne 97
Code:
$maitrise_skill[user.id][obj.id] += Maitrise::EXP_SKILL
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Script Systeme d'evolution arme / competence Empty Re: Script Systeme d'evolution arme / competence

le Lun 9 Fév 2009 - 21:32
Enorme necropost !
Je ne sais pas ce qui me retient de ne pas te mettre un averto !

on est pas chez mémé ici, alors tu argumentes un peu, tu nous postes les message d'erreur... et après on vera si on a envie de t'aider.
Contenu sponsorisé

Script Systeme d'evolution arme / competence Empty Re: Script Systeme d'evolution arme / competence

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum