Jump to content
Rpg²S Forum
  • 0

Un paio di domande


TheVillAngel
 Share

Question

Allora visto che nel topic del mio gioco nessuno risponde ç_ç provo a fare la domanda qui XD

 

D1: Avrei bisogno di modificare gli exp necessari per il livello successivo e so che devo modificare la linea 102 di Game_Actor

n = actor.exp_basis  * ((i + 3) ** pow_i) / (5 ** pow_i)

ora basta moltiplicarla per un numero x e gli exp necessari effettivamente aummentano, il problema è che si moltiplicano anche gli exp assegnati. C'è un modo per evitare questo?

So che potrei tranquillamente dividere per x il numero degli exp assegnati, solo che così avrei a disposizione meno numeri da utilizzare, ma, se proprio non c'è un modo, mi arrangerò così.

 

D2: Esiste un modo per utilizzare numeri decimali nelle variabili utilizzabili negli eventi? Perchè alcune approssimazioni del programma mi sfasano un po' di cose.

 

Thanks in advance ^^

Edited by TheVillAngel

premi(o XD)http://rpg2s.net/gif/SCContest1Oct.gif

Progetto in corso:

Light and Decay

 

 

My hysterical dog is watching you

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Per la prima domanda credo che puoi benissimo usare il database O_o Aumentando l'exp inflation e l'exp basis....

 

Per la seconda.. Bisogna modificare lo script di base aggiungendo la virgola ai valori che devono mantenere anche i decimali... tipo per una divisione su xp per avere anche i decimali si fa cosi:

 

4/3.0 con quanti zeri tanti i numeri dopo la virgola ti servono... Lo stesso per le moltiplicazioni

Link to comment
Share on other sites

  • 0
Per la prima domanda credo che puoi benissimo usare il database O_o Aumentando l'exp inflation e l'exp basis....

Si il problema è che già le ho aumentate ma non mi bastano, mi servirebbero più alte, ma il limite è 50 nel DB

 

Bisogna modificare lo script di base aggiungendo la virgola ai valori che devono mantenere anche i decimali

Lo script base quale sarebbe?

premi(o XD)http://rpg2s.net/gif/SCContest1Oct.gif

Progetto in corso:

Light and Decay

 

 

My hysterical dog is watching you

Link to comment
Share on other sites

  • 0

1- Allora fai semplicemente che i mostri danno meno exp...

 

per il secondo punto devi andare nell Interpreter e trovare il comando delle variabili e trovi tutti gli operatori...

Link to comment
Share on other sites

  • 0

Penso che tu debba fare cosi:

 

cerca questo comando nell interpreter:

 

 

 

def command_122
# Initialize value
value = 0
# Branch with operand
case @parameters[3]
when 0  # invariable
  value = @parameters[4]
when 1  # variable
  value = $game_variables[@parameters[4]]
when 2  # random number
  value = @parameters[4] + rand(@parameters[5] - @parameters[4] + 1)
when 3  # item
  value = $game_party.item_number(@parameters[4])
when 4  # actor
  actor = $game_actors[@parameters[4]]
  if actor != nil
	case @parameters[5]
	when 0  # level
	  value = actor.level
	when 1  # EXP
	  value = actor.exp
	when 2  # HP
	  value = actor.hp
	when 3  # SP
	  value = actor.sp
	when 4  # MaxHP
	  value = actor.maxhp
	when 5  # MaxSP
	  value = actor.maxsp
	when 6  # strength
	  value = actor.str
	when 7  # dexterity
	  value = actor.dex
	when 8  # agility
	  value = actor.agi
	when 9  # intelligence
	  value = actor.int
	when 10  # attack power
	  value = actor.atk
	when 11  # physical defense
	  value = actor.pdef
	when 12  # magic defense
	  value = actor.mdef
	when 13  # evasion
	  value = actor.eva
	end
  end
when 5  # enemy
  enemy = $game_troop.enemies[@parameters[4]]
  if enemy != nil
	case @parameters[5]
	when 0  # HP
	  value = enemy.hp
	when 1  # SP
	  value = enemy.sp
	when 2  # MaxHP
	  value = enemy.maxhp
	when 3  # MaxSP
	  value = enemy.maxsp
	when 4  # strength
	  value = enemy.str
	when 5  # dexterity
	  value = enemy.dex
	when 6  # agility
	  value = enemy.agi
	when 7  # intelligence
	  value = enemy.int
	when 8  # attack power
	  value = enemy.atk
	when 9  # physical defense
	  value = enemy.pdef
	when 10  # magic defense
	  value = enemy.mdef
	when 11  # evasion correction
	  value = enemy.eva
	end
  end
when 6  # character
  character = get_character(@parameters[4])
  if character != nil
	case @parameters[5]
	when 0  # x-coordinate
	  value = character.x
	when 1  # y-coordinate
	  value = character.y
	when 2  # direction
	  value = character.direction
	when 3  # screen x-coordinate
	  value = character.screen_x
	when 4  # screen y-coordinate
	  value = character.screen_y
	when 5  # terrain tag
	  value = character.terrain_tag
	end
  end
when 7  # other
  case @parameters[4]
  when 0  # map ID
	value = $game_map.map_id
  when 1  # number of party members
	value = $game_party.actors.size
  when 2  # gold
	value = $game_party.gold
  when 3  # steps
	value = $game_party.steps
  when 4  # play time
	value = Graphics.frame_count / Graphics.frame_rate
  when 5  # timer
	value = $game_system.timer / Graphics.frame_rate
  when 6  # save count
	value = $game_system.save_count
  end
end
# Loop for group control
for i in @parameters[0] .. @parameters[1]
  # Branch with control
  case @parameters[2]
  when 0  # substitute
	$game_variables[i] = value
  when 1  # add
	$game_variables[i] += value
  when 2  # subtract
	$game_variables[i] -= value
  when 3  # multiply
	$game_variables[i] *= value
  when 4  # divide
	if value != 0
	  $game_variables[i] /= value
	end
  when 5  # remainder
	if value != 0
	  $game_variables[i] %= value
	end
  end
  # Maximum limit check
  if $game_variables[i] > 99999999
	$game_variables[i] = 99999999
  end
  # Minimum limit check
  if $game_variables[i] < -99999999
	$game_variables[i] = -99999999
  end
end
# Refresh map
$game_map.need_refresh = true
# Continue
return true
 end

 

 

 

ora cerca il pezzo:

 

 

 for i in @parameters[0] .. @parameters[1]
  # Branch with control
  case @parameters[2]
  when 0  # substitute
	$game_variables[i] = value
  when 1  # add
	$game_variables[i] += value
  when 2  # subtract
	$game_variables[i] -= value
  when 3  # multiply
	$game_variables[i] *= value
  when 4  # divide
	if value != 0
	  $game_variables[i] /= value
	end
  when 5  # remainder
	if value != 0
	  $game_variables[i] %= value
	end
  end

 

 

 

dopo la prima riga, ovvero

for i in @parameters[0] .. @parameters[1]

 

aggiungi

value *= 1.00

 

cosi il valore rimarrà inalterato ma si aggiungeranno due cifre dopo la virgola... ;)

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...