Jump to content
Rpg²S Forum

-Skill Development System


 Share

Recommended Posts

Skill Development System

Descrizione

Il sistema è ispirato a Final Fantasy XII, in poche parole per apprendere una skill bisogna prima comprarla, dopo averla comprata verrà resa disponibile per essere appresa attraverso l'uso di ability point.

 

Autore

The Sleeping Leonhart

 

Screenshot

http://img267.imageshack.us/img267/2687/asdui9.png

 

Script

 

#===============================================================================
# TSL Skill Development System
#===============================================================================
# The Sleeping Leonhart
# Version 1.0
# 26-7-2007
#===============================================================================
# Per creare questo sistema mi sono ispirato a Final Fantasy XII e per certi versi
# è simile. In poche parole per apprendere le skill bisogna prima comprarle
# in un apposito negozio, una volta comprate appariranno nel menù sviluppo dove
# dovranno essere apprese attraverso l'uso dei punti abilità.
# Per richiamare un negozio si usa il comando $scene = Scene_SkillShop.new,
# ma attenzione perche prima del sudetto comando va inserito prima 
# $game_temp.skill_goods[id eroe] = [id skill 1,id skill 2,etc...]
# questo comando dichiara le skill in vendita perciò
# $game_temp.skill_goods[1] = [4,5,6,7] vende ad Aluxes Remedy, Greater Remedy, Raise e Fire.
# Per richiamare invece la finestra di apprendimento skill va usato il comando
# $scene = Scene_SkillLearn.new.
# Per dichiarare i punti abilità che da ciascun mostro bisogna compilare l'hash
# ENEMY_AP_VALUES ne seguente modo {id mostro => quantità AP, etc..}
# per i mostri non dichiarati verrà assegnato il valore contenuto in DEFAULT_ENEMY_AP.
# Per dichiarare i punti AP necessari per apprendere una skill compilare l'hash
# SKILL_AP nel seguente modo {id skill => AP necessari} in maniera simile viene
# compilato quello per il prezzo, SKILL_PRICE = {id skill => Soldi necessari}.
# SKILL_AP.default e SKILL_PRICE.default viene dichiarato il valore assegnato alle
# skill non inserite megli hash.
#===============================================================================

module Leonhart_DS
 ENEMY_AP_VALUES = {1 => 5, 2 => 2}
 DEFAULT_ENEMY_AP = 1
 SKILL_AP = {1=>10}
 SKILL_PRICE = {1=>500,4=>400}
 SKILL_AP.default = 5
 SKILL_PRICE.default = 100
end

class Game_Temp
 attr_accessor :skill_goods
 alias tslds_gametemp_init initialize
 def initialize
@skill_goods = []
tslds_gametemp_init
 end
end

class Game_Actor < Game_Battler
 attr_reader   :ap
 attr_reader   :temp_skills
 attr_reader   :shop_skills
 alias tslds_gameactor_setup setup
 def setup(actor_id)
@ap = 0
@temp_skills = []
@shop_skills = []
tslds_gameactor_setup(actor_id)
 end
 def ap=(ap)
@ap = [[ap, 9999999].min, 0].max
 end
 def learn_temp_skill(skill_id)
if skill_id > 0 and not temp_skill_learned?(skill_id)
  @temp_skills.push(skill_id)
  @temp_skills.sort!
end
 end
 def learn_skill(skill_id)
if skill_id > 0 and not skill_learn?(skill_id)
  @skills.push(skill_id)
  @skills.sort!
end
 end
 def temp_skill_learned?(skill_id)
return @temp_skills.include?(skill_id)
 end
 def shop_skill_learned?(skill_id)
return @shop_skills.include?(skill_id)
 end
end

module RPG
 class Skill
def ap
  return Leonhart_DS::SKILL_AP[id]
end
def price
  return Leonhart_DS::SKILL_PRICE[id]
end
 end
end

class Window_SkillShopCommand < Window_Selectable
 def initialize
super(0, 64, 480, 64)
self.contents = Bitmap.new(width - 32, height - 32)
@item_max = 2
@column_max = 2
@commands = ["Compra", "Esci"]
refresh
self.index = 0
 end
 def refresh
self.contents.clear
for i in 0...@item_max
  draw_item(i)
end
 end
 def draw_item(index)
x = 4 + index * 240
self.contents.draw_text(x, 0, 128, 32, @commands[index])
 end
end

class Window_SkillLearnCommand < Window_Selectable
 def initialize
super(0, 64, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
@item_max = 2
@column_max = 2
@commands = ["Apprendi", "Esci"]
refresh
self.index = 0
 end
 def refresh
self.contents.clear
for i in 0...@item_max
  draw_item(i)
end
 end
 def draw_item(index)
x = 4 + index * 320
self.contents.draw_text(x, 0, 128, 32, @commands[index])
 end
end

class Window_SkillBuy < Window_Selectable
 def initialize(id , idx)
super(0, 128, 368, 352)
@idx = idx
@shop_goods = $game_temp.skill_goods[id[idx]]
refresh
self.index = 0
 end
 def item
return @data[self.index]
 end
 def refresh
if self.contents != nil
  self.contents.dispose
  self.contents = nil
end
@data = []
for i in 0..@shop_goods.size
  item = $data_skills[@shop_goods[i].to_i]
  if item != nil
	@data.push(item)
  end
end
@item_max = @data.size
if @item_max > 0
  self.contents = Bitmap.new(width - 32, row_max * 32)
  for i in 0...@item_max
	draw_item(i)
  end
end
 end
 def draw_item(index)
item = @data[index]
if item.price <= $game_party.gold
  self.contents.font.color = normal_color
else
  self.contents.font.color = disabled_color
end
if $game_party.actors[@idx].temp_skill_learned?(@shop_goods[index].to_i)
  self.contents.font.color = disabled_color
end
x = 4
y = index * 32
rect = Rect.new(x, y, self.width - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(item.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
self.contents.draw_text(x + 240, y, 88, 32, item.price.to_s, 2)
 end
 def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
 end
end

class Window_SkillLearn < Window_Selectable
 def initialize(actor)
super(0, 128, 368, 352)
@actor = $game_party.actors[actor]
refresh
self.index = 0
 end
 def skill
return @data[self.index]
 end
 def refresh
if self.contents != nil
  self.contents.dispose
  self.contents = nil
end
@data = []
for i in 0...@actor.temp_skills.size
  skill = $data_skills[@actor.temp_skills[i]]
  if skill != nil
	@data.push(skill)
  end
end
@item_max = @data.size
if @item_max > 0
  self.contents = Bitmap.new(width - 32, row_max * 32)
  for i in 0...@item_max
	draw_item(i)
  end
end
 end
 def draw_item(index)
if skill.ap > @actor.ap or @actor.skill_learn?(@actor.temp_skills[index])
  self.contents.font.color = disabled_color
else
  self.contents.font.color = normal_color
end
skill = @data[index]
x = 4
y = index * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(skill.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 204, 32, skill.name, 0)
self.contents.draw_text(x + 232, y, 48, 32, skill.ap.to_s, 2)
 end
 def update_help
@help_window.set_text(self.skill == nil ? "" : self.skill.description)
 end
end

class Window_SkillLearnStatus < Window_Base
 def initialize(actor)
super(368, 480-352, 272, 352)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = $game_party.actors[actor]
refresh
 end
 def refresh
self.contents.clear
draw_actor_graphic(@actor, 40, 112)
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 4 + 144, 0)
draw_actor_level(@actor, 0, 32)
draw_actor_state(@actor, 148, 32)
draw_actor_hp(@actor, 4, 112, 172)
draw_actor_sp(@actor, 4, 144, 172)
draw_actor_exp(@actor, 4,176)
draw_actor_ap(@actor, 4,208)
 end
end

class Window_Base < Window
def draw_actor_ap(actor, x, y)
  self.contents.font.color = system_color
  self.contents.draw_text(x, y, 24, 32, "AP")
  self.contents.font.color = normal_color
  self.contents.draw_text(x + 24, y, 84, 32, actor.ap.to_s, 2)
 end
end

class Window_BattleResult < Window_Base
 def initialize(exp, gold, ap, treasures)
@exp = exp
@gold = gold
@ap = ap
@treasures = treasures
super(160, 0, 320, @treasures.size * 32 + 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.y = 160 - height / 2
self.back_opacity = 160
self.visible = false
refresh
 end
 def refresh
self.contents.clear
x = 4
self.contents.font.color = normal_color
cx = contents.text_size(@exp.to_s).width
self.contents.draw_text(x, 0, cx, 32, @exp.to_s)
x += cx + 4
self.contents.font.color = system_color
cx = contents.text_size("EXP").width
self.contents.draw_text(x, 0, 64, 32, "EXP")
x += cx + 16
self.contents.font.color = normal_color
cx = contents.text_size(@gold.to_s).width
self.contents.draw_text(x, 0, cx, 32, @gold.to_s)
x += cx + 4
self.contents.font.color = system_color
self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)
y = 32
x = 4
self.contents.font.color = normal_color
cx = contents.text_size(@ap.to_s).width
self.contents.draw_text(x, y, cx, 32, @ap.to_s)
x += cx + 4
self.contents.font.color = system_color
self.contents.draw_text(x, y, 128, 32, "AP")
y = 64
for item in @treasures
  draw_item_name(item, 4, y)
  y += 32
end
 end
end

class Scene_Battle
include Leonhart_DS
 def start_phase5
@phase = 5
$game_system.me_play($game_system.battle_end_me)
$game_system.bgm_play($game_temp.map_bgm)
exp = 0
gold = 0
ap = 0
treasures = []
for enemy in $game_troop.enemies
  unless enemy.hidden
	exp += enemy.exp
	gold += enemy.gold		
	ap += (ENEMY_AP_VALUES.has_key?(enemy.id) ? ENEMY_AP_VALUES[enemy.id] : DEFAULT_ENEMY_AP)
	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
	end
  end
end
treasures = treasures[0..5]
@treasures = treasures
@exp  = exp
@gold = gold
@ap = ap
for i in 0...$game_party.actors.size
  actor = $game_party.actors[i]
  actor.ap += ap
  actor.exp += exp
end
$game_party.gain_gold(gold)
for item in treasures
  case item
  when RPG::Item
	$game_party.gain_item(item.id, 1)
  when RPG::Weapon
	$game_party.gain_weapon(item.id, 1)
  when RPG::Armor
	$game_party.gain_armor(item.id, 1)
  end
end
@result_window = Window_BattleResult.new(exp, gold, ap, treasures)
@phase5_wait_count = 10
 end
end

class Scene_SkillShop
 def main
@help_window = Window_Help.new
@party = []
@id = []
for i in 0...$game_party.actors.size
  @party.push($game_party.actors[i].name)
  @id.push($game_party.actors[i].id)
end
@character_window = Window_Command.new(160,@party)
@character_window.y = 128
@character_window.z = 101
@character_window.active = @character_window.visible = false
@command_window = Window_SkillShopCommand.new
@gold_window = Window_Gold.new
@gold_window.x = 480
@gold_window.y = 64
@dummy_window = Window_Base.new(0, 128, 640, 352)
@skills = $game_temp.skill_goods[@id[@character_window.index]]
@buy_window = Window_SkillBuy.new(@id, @character_window.index)
@buy_window.active = false
@buy_window.visible = false
@buy_window.help_window = @help_window
@status_window = Window_SkillLearnStatus.new(@character_window.index)
@status_window.visible = false
Graphics.transition
loop do
  Graphics.update
  Input.update
  update
  if $scene != self
	break
  end
end
Graphics.freeze
@help_window.dispose
@character_window.dispose
@command_window.dispose
@gold_window.dispose
@dummy_window.dispose
@buy_window.dispose
@status_window.dispose
 end
 def update
@help_window.update
@character_window.update
@command_window.update
@gold_window.update
@dummy_window.update
@buy_window.update
@status_window.update
if @character_window.active
  select_character
  return
end
if @command_window.active
  update_command
  return
end
if @buy_window.active
  update_buy
  return
end
 end
 def update_command
if Input.trigger?(Input::B)
  $game_system.se_play($data_system.cancel_se)
  $scene = Scene_Map.new
  return
end
if Input.trigger?(Input::C)
  case @command_window.index
  when 0
	$game_system.se_play($data_system.decision_se)
	@command_window.active = false
	@character_window.visible = @character_window.active = true
  when 1
	$game_system.se_play($data_system.decision_se)
	$scene = Scene_Map.new
  end
  return
end
 end
 def select_character
@help_window.set_text("Seleziona un personaggio")
if Input.trigger?(Input::C)
  $game_system.se_play($data_system.decision_se)
  @character_window.visible = @character_window.active = false
  @dummy_window.visible = false
  @buy_window.dispose
  @skills = $game_temp.skill_goods[@id[@character_window.index]] 
  @buy_window = Window_SkillBuy.new(@id,@character_window.index)	  
  @buy_window.active = true
  @buy_window.visible = true
  @buy_window.refresh
  @buy_window.help_window = @help_window
  @status_window.dispose
  @status_window = Window_SkillLearnStatus.new(@character_window.index)
  @status_window.visible = true
  return
end
if Input.trigger?(Input::B)
  $game_system.se_play($data_system.decision_se)
  @command_window.active = @dummy_window.visible = true
  @character_window.visible = @character_window.active = false
  @help_window.set_text("")
  return
end
 end
 def update_buy
if Input.trigger?(Input::B)
  $game_system.se_play($data_system.cancel_se)
  @dummy_window.visible = true
  @buy_window.active = false
  @buy_window.visible = false
  @status_window.visible = false
  @character_window.visible = @character_window.active = true
  return
end
if Input.trigger?(Input::C)
  @item = @buy_window.item
  if @item == nil or @item.price > $game_party.gold
	$game_system.se_play($data_system.buzzer_se)
	@help_window.set_text("Non hai abbastanza soldi!")
	for i in 0..3
	  sleep i*0.1
	  Graphics.update
	  Input.update
	end
	return
  end
  if not $game_party.actors[@character_window.index].temp_skill_learned?(@skills[@buy_window.index])
	$game_system.se_play($data_system.decision_se)
	$game_party.lose_gold(Leonhart_DS::SKILL_PRICE[@skills[@buy_window.index]])
	@gold_window.refresh
	$game_party.actors[@character_window.index].learn_temp_skill(@skills[@buy_window.index])
	@buy_window.refresh
  else
	@help_window.set_text("Hai gia comprato questa skill!")
	$game_system.se_play($data_system.buzzer_se)
	for i in 0..3
	  sleep i*0.1
	  Graphics.update
	  Input.update
	end
	return
  end
end
 end
end

class Scene_SkillLearn
 def main
@help_window = Window_Help.new
@party = []
@id = []
for i in 0...$game_party.actors.size
  @party.push($game_party.actors[i].name)
  @id.push($game_party.actors[i].id)
end
@character_window = Window_Command.new(160,@party)
@character_window.y = 128
@character_window.z = 101
@character_window.active = @character_window.visible = false
@command_window = Window_SkillLearnCommand.new
@dummy_window = Window_Base.new(0, 128, 640, 352)
@buy_window = Window_SkillLearn.new(@character_window.index)
@buy_window.active = false
@buy_window.visible = false
@buy_window.help_window = @help_window
@status_window = Window_SkillLearnStatus.new(@character_window.index)
@status_window.visible = false
@actor = $game_party.actors[@character_window.index]
@skills = @actor.temp_skills[@buy_window.index]
Graphics.transition
loop do
  Graphics.update
  Input.update
  update
  if $scene != self
	break
  end
end
Graphics.freeze
@help_window.dispose
@character_window.dispose
@command_window.dispose
@dummy_window.dispose
@buy_window.dispose
@status_window.dispose
 end
 def update
@help_window.update
@character_window.update
@command_window.update
@dummy_window.update
@buy_window.update
@status_window.update
if @character_window.active
  select_character
  return
end
if @command_window.active
  update_command
  return
end
if @buy_window.active
  update_buy
  return
end
 end
 def update_command
if Input.trigger?(Input::B)
  $game_system.se_play($data_system.cancel_se)
  $scene = Scene_Map.new
  return
end
if Input.trigger?(Input::C)
  case @command_window.index
  when 0
	$game_system.se_play($data_system.decision_se)
	@command_window.active = false
	@character_window.visible = @character_window.active = true
  when 1
	$game_system.se_play($data_system.decision_se)
	$scene = Scene_Map.new
  end
  return
end
 end
 def select_character
@help_window.set_text("Seleziona un personaggio")
if Input.trigger?(Input::C)
  $game_system.se_play($data_system.decision_se)
  @character_window.visible = @character_window.active = false
  @dummy_window.visible = false
  @buy_window.dispose
  @buy_window = Window_SkillLearn.new(@character_window.index)	  
  @buy_window.active = true
  @buy_window.visible = true
  @buy_window.refresh
  @buy_window.help_window = @help_window
  @status_window.dispose
  @status_window = Window_SkillLearnStatus.new(@character_window.index)
  @status_window.visible = true
  return
end
if Input.trigger?(Input::B)
  $game_system.se_play($data_system.decision_se)
  @command_window.active = @dummy_window.visible = true
  @character_window.visible = @character_window.active = false
  @help_window.set_text("")
  return
end
 end
 def update_buy
if Input.trigger?(Input::B)
  $game_system.se_play($data_system.cancel_se)
  @dummy_window.visible = true
  @buy_window.active = false
  @buy_window.visible = false
  @status_window.visible = false
  @character_window.visible = @character_window.active = true
  return
end
if Input.trigger?(Input::C)
  @item = @buy_window.skill
  if @item == nil or @item.ap > $game_party.actors[@character_window.index].ap
	$game_system.se_play($data_system.buzzer_se)
	@help_window.set_text("Ap insufficenti")
	$game_system.se_play($data_system.buzzer_se)
	for i in 0..3
	  sleep i*0.1
	  Graphics.update
	  Input.update
	end
	return
  end
  @actor = $game_party.actors[@character_window.index]
  @skills = @actor.temp_skills[@buy_window.index]
  if not @actor.skill_learn?(@actor.temp_skills[@buy_window.index])
	$game_system.se_play($data_system.decision_se)
	$game_party.actors[@character_window.index].ap -= $data_skills[@skills].ap
	@status_window.refresh
	@actor.learn_skill(@actor.temp_skills[@buy_window.index])
	@buy_window.refresh
  else
	@help_window.set_text("Hai gia appreso questa skill!")
	$game_system.se_play($data_system.buzzer_se)
	for i in 0..3
	  sleep i*0.1
	  Graphics.update
	  Input.update
	end
	return
  end
end
 end
end

 

Allegati

 

Istruzioni per l'uso

Più che complicate sono lunghe perciò vi chiedo gentilmete di guardare la demo

 

PS:

La grafica della demo usa lo stile Breeze di Green Raven, potete prendere la grafica a patto di creditare Green Raven.

Edited by Sleeping Leonhart
Link to comment
Share on other sites

Un altro script molto utile...complimenti!!! Edited by Soul Eater

Targhette
http://www.rpg2s.net/awards/mostpolite2.jpghttp://www.rpg2s.net/awards/mostpresent1.jpghttp://i51.tinypic.com/2mfnpt2.png

 

 

http://www.rpg2s.net/dax_games/r2s_regali5.png

Link to comment
Share on other sites

  • 4 weeks later...
bel modo di apprendimento Edited by redXIII

LAST LEGEND tempo di programmazione rimasto in percentuale è:

Storia del gioco: 98%

Storia dei personaggi: 75%

Storia politica mondiale: 80%

Applicazione e sviluppo dell'avventura, tempo rimasto in percentuale è:

Titleset:40%

Charaset:20%

Animation:90%

Idem,Skill,Armi:50%

Scene Animate:10%

http://img518.imageshack.us/img518/5919/logoufficialecopiawr2.png

Link to comment
Share on other sites

  • 1 year later...
ciao sleeping Leonhart ho provato ad usare questo e come ho detto molto bello, xò solo ora sto facendo caso che non mi si alzano i livelli dei personaggi come mai io non è k c'è ne capisco molto di script mi puoi aiutare graie in anticipo

LAST LEGEND tempo di programmazione rimasto in percentuale è:

Storia del gioco: 98%

Storia dei personaggi: 75%

Storia politica mondiale: 80%

Applicazione e sviluppo dell'avventura, tempo rimasto in percentuale è:

Titleset:40%

Charaset:20%

Animation:90%

Idem,Skill,Armi:50%

Scene Animate:10%

http://img518.imageshack.us/img518/5919/logoufficialecopiawr2.png

Link to comment
Share on other sites

Si scusa, mi ero perso una stupida riga di codice...

Allora riga 356 sotto

actor.ap += ap

aggiungi

actor.exp += exp

Oppure ricopia lo script dal primo post, è aggiornato!

Grazie per la segnalazione ^^

Link to comment
Share on other sites

Ora va bene grazie mi ero preso uno spavento pensavo ci fosse un incompatibbilità di script cmq grazie ancora XD

LAST LEGEND tempo di programmazione rimasto in percentuale è:

Storia del gioco: 98%

Storia dei personaggi: 75%

Storia politica mondiale: 80%

Applicazione e sviluppo dell'avventura, tempo rimasto in percentuale è:

Titleset:40%

Charaset:20%

Animation:90%

Idem,Skill,Armi:50%

Scene Animate:10%

http://img518.imageshack.us/img518/5919/logoufficialecopiawr2.png

Link to comment
Share on other sites

  • 8 months later...
sks ho un piccolo problema in pratica qnd i pg aumentano di livello non esce la scritta sotto ai pg "level up"mentre se tolgo lo script la scritta riappare..cm lo risolvo?^^'

Progetti in Corso:
 

[spoiler]

The Devil's Sonata
Il mio primo progetto con l'XP,attualmente in pausa per vari motivi,quindi ne approfitto per riorganizzare le idee visto che ad ogni passo avanti nel progetto,mi accorgo dei vari errori che ci sono^^'

Status:
Storia: 70% ->Tutta scritta nella mia testa dall'inizio alla fine,mancano gli ultimi dettagli e ovviamente come realizzarli.
Mapping: 15% -> Essendo poco pratico lascio la costruzione di Città e Dungeon alla fine per ora mi concentro sulle altre cose,inizierò quando ne avrò bisogno per la storia.
Eventi: 30% -> Per eventi intendo anche i vari dialoghi tra i personaggi principali il 30% è per gli eventi di gioco(ciclio giorno/notte,mostri,skill ecc..)
Quest: 1% -> Per "Quest" si intende tutto ciò che è secondario dalla semplici missioni ai dialoghi con gli NPC...
Script: 70% ->Anche se sto pensando di cambiare Battle Systems per vari problemi ciò farebbe scendere la % a 30-40%
Database: 30% -> Ci sono tutti i PG, e quasi tutti gli oggetti,armi e skill, mancano i nemici e alcuni boss.
Completamento: 30-35% -> Più o meno la base c'è,ma manca ancora molto il tutto è reso più difficile a causa della mia inesperienza con gli script,mapping e incompetenza generalexD l'unica cosa in cui sono bravo è la grafica,anche se quella usata nel gioco non mi piace molto infatti anche quella è da rivedere..



Per Maggiori dettagli vi invito a visitare il topic del progetto:
http://www.rpg2s.net/forum/index.php?showtopic=14695

Sono ben accette critiche(costruttivexD) e consigli di ogni genere!^_^

[/spoiler]
 

Link to comment
Share on other sites

A partire dalla riga 354 c'è questo blocco di codice (sotto @ap = ap, per capirci)

	for i in 0...$game_party.actors.size	  actor = $game_party.actors[i]	  actor.ap += ap	  actor.exp += exp	end

Come lo devi sostituire dipende da come vuoi che gli AP vengano appresi . . .

Se vuoi che li ricevano anche i PG con HP azzerati (knockout), dovrebbe diventare

	for i in 0...$game_party.actors.size	  actor = $game_party.actors[i]	  actor.ap += ap	  if actor.cant_get_exp? == false		last_level = actor.level		actor.exp += exp		if actor.level > last_level		  @status_window.level_up(i)		end	  end	end

altrimenti, Se vuoi che li ricevano solo i PG che guadagnano exp, dovrebbe diventare

	for i in 0...$game_party.actors.size	  actor = $game_party.actors[i]	  if actor.cant_get_exp? == false		last_level = actor.level		actor.ap += ap		actor.exp += exp		if actor.level > last_level		  @status_window.level_up(i)		end	  end	end

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

grazie appena possibile provo e ti faccio sapere grazie giver^^

 

 

funziona grazie mille giver^_^

Edited by elle92

Progetti in Corso:
 

[spoiler]

The Devil's Sonata
Il mio primo progetto con l'XP,attualmente in pausa per vari motivi,quindi ne approfitto per riorganizzare le idee visto che ad ogni passo avanti nel progetto,mi accorgo dei vari errori che ci sono^^'

Status:
Storia: 70% ->Tutta scritta nella mia testa dall'inizio alla fine,mancano gli ultimi dettagli e ovviamente come realizzarli.
Mapping: 15% -> Essendo poco pratico lascio la costruzione di Città e Dungeon alla fine per ora mi concentro sulle altre cose,inizierò quando ne avrò bisogno per la storia.
Eventi: 30% -> Per eventi intendo anche i vari dialoghi tra i personaggi principali il 30% è per gli eventi di gioco(ciclio giorno/notte,mostri,skill ecc..)
Quest: 1% -> Per "Quest" si intende tutto ciò che è secondario dalla semplici missioni ai dialoghi con gli NPC...
Script: 70% ->Anche se sto pensando di cambiare Battle Systems per vari problemi ciò farebbe scendere la % a 30-40%
Database: 30% -> Ci sono tutti i PG, e quasi tutti gli oggetti,armi e skill, mancano i nemici e alcuni boss.
Completamento: 30-35% -> Più o meno la base c'è,ma manca ancora molto il tutto è reso più difficile a causa della mia inesperienza con gli script,mapping e incompetenza generalexD l'unica cosa in cui sono bravo è la grafica,anche se quella usata nel gioco non mi piace molto infatti anche quella è da rivedere..



Per Maggiori dettagli vi invito a visitare il topic del progetto:
http://www.rpg2s.net/forum/index.php?showtopic=14695

Sono ben accette critiche(costruttivexD) e consigli di ogni genere!^_^

[/spoiler]
 

Link to comment
Share on other sites

  • 2 months later...
Veramente somiglia ai primi final fantasy... ma comunque è molto bello
http://www.ff-fan.com/chartest/banners/yuna.jpgWhich Final Fantasy Character Are You?Final Fantasy 7"Ci sono vari mondi, ma tutti condividono lo stesso cielo,"

"un solo cielo, un solo destino"

Kingdom Hearts II

I'll be here...Why...?I'll be 'waiting'... here...For what?I'll be waiting... for you... so...If you come here...You'll find me.I promise.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...