Créateur : Krazplay
e base un ennemi ne peut donner qu'un seul objet, ceci permet donc qu'un ennemi puisse donner d'autres objets en + de celui qui est configuré dans la database.
Tout d'abord dans votre scrîpt Scene_Battle 2 (à l'origine) chercher ces lignes-là :
- Code : Tout sélectionner
if rand(100) < enemy.treasure_prob
if enemy.item_id > 0
treasures.push($data_items[enemy.item_id])
end
if enemy.weapon_id > 0
treasures.push($data_weapons[enemy.weapon_id])
end
if enemy.armor_id > 0
treasures.push($data_armors[enemy.armor_id])
end
Vous les avez trouvé ? Bien alors rajouter tout de suite après ces ligne-là :
- Code : Tout sélectionner
trésorsup = trésorsup(enemy) #Krazplay
if trésorsup != nil
for i in 0...trésorsup.size
treasures.push(trésorsup[i])
end
end
Voilà maintenant créer un nouveau scrîpt au-dessus de main et coller ceci dedans :
- Code : Tout sélectionner
# Pour permettre à un monstre de donner plusieurs objets
# par Krazplay
class Scene_Battle
def trésorsup(enemy)
@trésorsup = []
objet = 0
arme = 1
armure = 2
case enemy.id # C'est à partir de là que vous devez
when 1 # effectuer vos modifications
trésor( 2, armure, 30)
trésor( 2, arme, 15.5)
when 2
trésor( 3, arme, 20)
when 3
trésor( 7, objet, 100)
when 4
trésor( 18, objet, 35)
trésor( 23, objet, 17.325)
end
#Vous n'avez pas à toucher à ce qui suit
if @trésorsup == []
return nil
else
return @trésorsup
end
end
def trésor(t_id, t_type, proba)
if rand(100) < proba
case t_type
when 0
@trésorsup.push($data_items[t_id])
when 1
@trésorsup.push($data_weapons[t_id])
when 2
@trésorsup.push($data_armors[t_id])
end
end
end
end
Comment l'utiliser ? très simple, dans le scrîpt que vous venez d'ajouter, chercher les lignes qui ressemblent à cela :
- Code : Tout sélectionner
when 1
trésor( 2, armure, 30)
trésor( 3, arme, 15.5)
Ce qui veut dire : lorsque je tue le monstre avec l'id 1 dans ma database, il a 30% de chance de me donner la 2ème armure dans ma database, il a aussi 15,5 % de chance de me donner la 3ème arme de ma database.
Vous l'aurez compris cela marche donc comme cela :
when id_du_monstre_qui_doit_lacher_des_objets_supplémentaires
trésor( id_de_l'objet, type_de_l'objet, probabilité_qu'il_donne_l'objet)
Note : le jeu refuse qu'on puisse obtenir + de 6 objets en même temps dans un combats, pour modifier cela, chercher la ligne : (tjs ds le script Scene_battle 2)
treasures = treasures[0..5]
et remplacer là par
treasures = treasures[0..8]
Vous pouvez mettre + que 8 mais la fênetre sortira de l'écran.