-
Posts
35 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by raXor
-
-
Ok grazie
...ora lo guardo e ti dico se riesco a cavarne qualcosa di utile xD
-
Come avrete capito dal titolo vorrei fare un BS in tempo reale in stile GTA.
Mi spiego meglio:
Vorrei ke l'eroe possa sparare (ho già le animazioni pronte).
I nemici possono spararti
Vorrei ke ci fossero varie armi e x ognuna un danno e il n. di pallottole diverso
vorrei ke l'eroe possa cambiare arma quando vuole non dal menu ma come in GTA semplicemente premendo un tasto(x es: -> x l'arma successiva, <- x l'arma precedente)
Quando finiscono le pallottole l'eroe deve caricare premendo un tasto, in modo da riavere tutte le pallottole... xò se finiscono le munizioni l'arma diventa inutilizzabile fino a quando nn vengono comprate.
Ho provato a farlo tramite eventi seguendo un tutorial (in origine x RPG2k) ke faceva sparare l'eroe... ci sono riuscito, ma nn riesco a fare altrettanto con i nemici
, ke ti dovrebbero attaccare sparandoti... inoltre nn so come fargli cambiare arma e come impostare il danno e il n. di pallottole x ogni arma.
Poi ho pensato ke sarebbe stato + fluido e fatto meglio se fosse stato fatto con gli script...
Quindi chiedo il vostro aiuto... se nn riuscite a darmi lo script completo perlomeno datemi dei consigli (anke x MP) ke poi ci provo io...

-
Inviato
-
Sembra strano perchè sono riuscito a mettere il background della mappa in ogni scene del menu, ma in scene_equip nn me lo fa mettere... boh
x mettere il BG della mappa ho usato (Molto probabilmente) un metodo da niubbi...
xò con le altre scene parte xke con questa no??
ecco il pezzo di codice usato x impostare il BG della mappa:
def create_spriteset
@spriteset_bgmap = Spriteset_Map.new
end
def dispose_spriteset
@spriteset_bgmap.dispose
end
dopo di che mettevo 'create_spriteset' nel def main dove si creano le varie finestre
e subito dopo il loop do (dove ci sono i vari dispose) inserivo 'dispose_spriteset'... questo metodo parte per tutte le scene e nn capisco xkè nn mi parte con scene_equip... boh
potreste darmi una mano??
Grazie in anticipo

-
Bel script...
l'unico problema, secondo me, è ke manca l'HUD ke ti fa capire quali skill hai assegnato ai tasti...
c'è un modo x mettere questo HUD??
-
Scusa se scrivo dopo circa 2 anni ke è stato postato... ma volvevo chiedere se c'è una soluzione a un mio problema :unsure:
Il menu parte normalmente ma se io faccio una battagli e poi, finita la battaglia, riapro il menu mi da un errore nella stringa 143... nn capisco (Centra qualcosa con la variabile 'rect') Potresti aiutarmi??

-
Mi da errore sulla linea 96 di tipo 'Syntax Error'... come faccio a risolverlo?? o.O
-
Grazie per l'immagine...
Per quanto riguarda la storia, lo so si capisce poco... il problema è che nn sn molto bravo a scrivere, ma l'importante è che ce l'abbia in mente, no? :smile:
Ora provvederò ad inserire qualche screenshot della battaglia e della sferografia. Per le mappe dovrete aspettare un po', purtroppo le devo ancora fare...
-
LC Co. Games
presenta
THE DAYTAN'S DISCOVERY
1. Introduzione
Questo sarà già il mio 7° gioco che inizio, ma spero di finirlo almeno questo...Infatti tutti gli altri giochi che ho iniziato non sono mai riuscito a finirli, e questo è un grosso problema...Questo però spero di finirlo davvero, anche perchè è il primo che presento nella sezione Progetti
2. Storia
Quì arriva il bello... Ecco la storia:In un castello malefico, dentro uno stanzino buio, stava fermo immobile un soggetto, che non si capiva se era un uomo o qualche altra strana forma di vita. L’uomo fissava imperterrito il panorama visibile al di fuori della finestra, fino a quando non sentì uno strano rumore proveniente dal piano di sotto. Il soggetto sembra aver già capito di cosa si tratta, e per questo, sentendosi sicuro, fece una risatina malefica, che all’inizio era con un volume basso, ma man mano che il rumore si avvicinava, il volume saliva sempre di più; fino a diventare quasi uno strano verso diabolico. Subito dopo, un soggetto, che a primo impatto sembrava un paladino della giustizia, entrò nello stanzino sbattendo la porta, e subito disse: << Finalmente ti ho trovato>> l’uomo, che fin’ora era rimasto in piedi d’avanti alla finestra, si girò piano-piano e, in quel momento, si sentì un tuono forte che illuminava la faccia del signore.<<Cosa ci fai qui Odd?>>, chiese l’uomo <<Sono venuto a farti fuori, il motivo lo dovresti già sapere no?>>, rispose chiaramente Odd <<Ah, ancora per quella storia? Non credi di stare esagerando?>><<Io non esagero mai. E’ da molto tempo che voglio farlo, ma il mio cuore mi bloccava sempre e ora che posso voglio finirla subito!>> esclamo Odd, che avendo perso la pazienza sguainò la spada e, proprio durante un altro tuono, lo prese di sorpresa tagliandogli la testa, dopo di che, disse fieramente: <<Ora siamo pari>>, e se ne andò.Odd durante il suo cammino verso casa, incontra uno strano essere immenso, simile a una Divinità malefica, subito pensò che fosse stato lui a farla apparire, perché aveva ucciso quell’uomo, ma poi, riflettendoci, pensò che fosse solo un’immaginazione, perché in fondo era spaventato. Quell’essere non diede neanche un secondo di tempo a Odd di parlare, che subito gli scagliò contro una magia potentissima e lo fece crollare giù per un burrone.Al mattino dopo, un pescatore, lo ritrovò in una spiaggia e lo portò a casa sua. Si prese cura di lui fino a che non si svegliò.…3. Personaggi
Per ora ho "creato" solo un personaggio:Daytanhttp://img248.imageshack.us/img248/2526/daytan.png
E' un tipo abbastanza taciturno, a volte anche pessimista, ma quando si arrabbia sfoga tutta la sua ira e la sua astuzia per battersi.Piace molto alle ragazze, vanno pazze per lui...4. Disegni/Fan Art
N/D5. Caratteristiche Tecniche/Gameplay
Uso un sistema di battaglia postato in questo Forum, si chiama "Batalla Lateral", è spagnolo (tradotto da me).E' una semplice battaglia laterale (Con ATB), ma se insieme ad essa ci si aggiungono dei buoni mostri e delle buone animazioni il tutto diventa molto più giocabile
Il gioco contiene anche una specie di Sferografia, creata da me ad eventi, e con qualche semplice script...
.Al posto delle sfere utilizzo dei Punti Sferografia (PS), che serviranno al giocatore per potenziare le abilità dei personaggi...6. Screenshot
Sferografiahttp://img14.imageshack.us/img14/5783/sferografia.png
Battagliahttp://img338.imageshack.us/img338/4062/battaglia.png
7. Demo/Link alla versione giocabile
N/D, per ora8. Crediti Vari (Per ora)
Script- Woratana- Eikichi- Mako- Yatzumo- RPG Tankentai- LegendsX- Dargor- The Sleeping Leonhart- MoghunterSpecial Thanks- MasterSion- Morshudiego- giver9. Completamento
Storia: |||||||||| (0%)Trama:||||||||||(100%)Script:||||||||||(100%)Mappe: |||||||||| (0%)Personaggi:|||||||||| (20%)Generale:|||||||||| (10%)(Misurazioni approsimative)SOSPESO... E' IN CORSO UN ALTRO PROGETTO SU XP
Spero che questo gioco sfondi nel mercato internazionale videoludico, addirittura da arrivare fino all'E3...
Sto sognando molto molto in grande...

-
Finalmente!!
E' tutta la giornata ke ci provo...
GRAZIE TANTISSIMO!!

-
Si, infatti i PS cambiano da mostro a mostro, come l'Exp... in pratica devo simulare quello.
Non so come farlo però... Cioè, nn posso fare un def per ogni mostro, cambiando solo l'ID della variabile nemici...
Non c'è un modo per cambiare ID in base al mostro cn cui sto combattendo ora?
Come l'hai fatto tu però mi visualizza nel text la variabile completa dove conteggio i vari PS e non quelli ke ho ottenuto in quel momento, come volevo io...
-
Scusate se posto tanti topic...
Ho creato una variabile PS, che conteggia dei punti(Che mi serviranno per altri motivi).
Questa variabile l'ho dichiarata come uguale al valore che ho scritto nel box note del nemico ID:0001
poi ho inserito un ciclo for che per ogni nemico contenuto nel campo aggiunge, alla variabile da me creata in gioco(ID:0001) , il valore che ho scritto nel box note(5).
Il problema è che quando, alla fine della battaglia, compare il messaggio che dichiara che hai ricevuto tot PS, mi da il valore di 5, quando invece dovrebbe essere 10, dato ke i mostri sul campo sono 2...
La variabile ha effettivamente il valore di 10, ma nel messaggio dice che ho preso 5 PS...
Come faccio a rimediare?
Quì c'è lo Script:
def display_ps
nemici = $data_enemies[0001]
ps = nemici.note
for nemici in $game_troop.members
$game_variables[0001] += ps.to_i
end
text = sprintf(Vocab::ObtainPS, ps)
$game_message.texts.push('\.' + text)
wait_for_message
end
-
Come aggiungere un valore intero, che ho scritto nel box Note dei nemici, a una variabile?
Rispondete presto, please

-
Ma non c'è un modo più semplice?
Come per esempio inserire il valore dei PS che voglio che accumuli con un certo nemico(Come l'Exp)nel box Note dei nemici...
Vorrei sapere come far leggere un valore che è stato inserito nel box Note...
-
Non uso nessuno script, la sferografia l'ho fatta io ad eventi.
E poi l'esperienza la voglio tenere, perchè oltre alla sferografia i personaggi devono salire di livello normalmente.
La variabile dei PS l'ho già creata e in base a quella ho già fatto una parte della sferografia.
Il punto è che devo farli ottenere alla fine di ogni battaglia come l'Exp.
-
Vorrei fare in modo di aggiungere un valore (che dovrò inserire nelle NOTE della parte dei nemici nel database) ad una variabile, che verrà visualizzata nel messaggio di fine battaglia.
In pratica vorrei simulare la variabile dell' Exp, che si prende alla fine di ogni battaglia.
Sto mettendo dei punti chiamati PS (Punti Sferografia), che mi serviranno per andare avanti nella Sferografia al posto delle sfere, però questi punti li dovrò pure prendere in qualche modo no?
E' per questo che vi chiedo questo...Grazie in anticipo

-
Grazie tante

Sapresti per caso come cambiare il colore di una scritta? (solo una scritta, come la G dei soldi)
GRAZIE TANTE, GIA' FATTO

-
Come faccio a far visualizzare una variabile nel menu... come i soldi?
Ho copiato lo script "Window_gold" e ho provato a modificarlo.
Potreste dirmi come fare?
Grazie in anticipo...

-
Ti consiglio vivamente di scaricarti il ctb di charlie lee e impostarlo in modalità atb (c'è anche la"grandia Bar")
Oppure fatti una ricerca su google atb minkoff sicuramente trovi quello che cerchi.
Grazie ho trovato quello che mi serviva tramite google...xD
GRAZIE ANCORA !
-
Salve Ragazzi !!
Volevo sapere se si può inserire in un BS diverso da quello originale l'ATB, se si come ??
(Uso il BS Minkoff a 11 pose)
Se dovesse servire posto lo script del BS che uso:
#==============================================================================
# ** Animated Battlers - Enhanced ver. 5.0 (12-23-2006)
#------------------------------------------------------------------------------
# Animated Battlers by Petryx
# Salve!!Per creare questo script ci ho impiegato la
#bellezza di 3 settimane,ma ne è valsa la pena cosi
#per chi volesse creare un gioco a chara animati a
#undici pose ora lo può fare grazie a questo script.
#Ora passiamo alle istruzioni per farlo funzionare:
#==============================================================================
# ISTRUZIONI ALL'USO
#------------------------------------------------------------------------------
#Bene ora per iniziare dobbiamo copiare questo script sopra a main
#e lo dovete chiamare Animated Battlers e non diversamente altrimenti
#non funziona.Poi dobbiamo andare a scaricare i chara a undici pose e
#lo possiamo fare da questo sito
#http://rpgcreative.net/b_ressources/categorie-rmxp-cbs.html
#dopa aver scaricati chara che vi piacciono,li dovete copiarli tutti
#in battleres.Per domande eventuali riferirsi sotto al mio post nel forum.
# BUON DIVERTIMENTO
#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
# This sprite is used to display the battler.It observes the Game_Character
# class and automatically changes sprite conditions.
#==============================================================================
class Sprite_Battler < RPG::Sprite
attr_accessor :battler_offset # Degree of action forcing
attr_accessor :skill_used # Degree of action forcing
attr_accessor :item_used # Degree of action forcing
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
alias cbs_initialize initialize
def initialize(viewport, battler = nil)
# * Configuration System *
# * Default Battler Style Switches
#--------------------------------------------------------------------------
$default_enemy = false # If true, these switches allows the use
$default_actor = false # of default battlers for actors/enemies
$default_enemy_id = [] # Ids of enemies using default battlers
$default_actor_id = [] # Ids of actors using default battlers
@default_collapse_actor = false # If true, restores the old 'red fade'
@default_collapse_enemy = true # collapse effect (using spritesheets)
# * Animation Frames and Animation Speed
#--------------------------------------------------------------------------
@speed = 7 # Framerate speed of the battlers
@poses = 11 # Maximum # of poses (stances) in the template
@frames = 4 # Maximum # of frames in each pose
@frames_standard = 4 # Standard # of frames played in each pose.
@low_hp_percentage = 0.25 # Determines health% of battler for WOOZY pose.
# * Poses Control
#--------------------------------------------------------------------------
# Editable Template (Some people wanted to change their template design)
$p0 = 0 # sets the 'Ready pose' ($p0) to be pose #0 in your template
$p1 = 1 # Sets the 'Ready Pose' ($p1) to be pose #1 in your template
$p2 = 2 # Sets the 'Struck Pose' ($p2) to be pose #2 in your template
$p3 = 3 # Sets the 'Woozy Pose' ($p3) to be pose #3 in your template
$p4 = 4 # Sets the 'Block Pose' ($p4) to be pose #4 in your template
$p5 = 5 # Sets the 'Charge Pose' ($p5) to be pose #5 in your template
$p6 = 6 # Sets the 'Retreat Pose'($p6) to be pose #6 in your template
$p7 = 7 # Sets the 'Attack Pose' ($p7) to be pose #7 in your template
$p8 = 8 # Sets the 'Item Pose' ($p8) to be pose #8 in your template
$p9 = 9 # Sets the 'Skill Pose' ($p9) to be pose #9 in your template
$p10 = 10 # Sets the 'Victory Pose'($p10)to be pose #10 in your template
$p11 = 11 # Sets the 'Defeat Pose' ($p11)to be pose #11 in your template
# Non-Default Poses (can expand beyond the default 11 poses here)
@poses_setup = nil # Choose animation pose for 'preparation'
@poses_casting = nil # Set casting pose to 'Block' for example
$poses_escaping = nil # Set 'coward' pose for fleeing monsters)
$poses_critical = nil # Set 'critical' hit pose for BIG hits.
@poses_dying = nil # Choose animation pose for dying throws.
@poses_winning = nil # Set winning dance to 'block' for examp.
@poses_winning_loops = [] # Set victory non-freezing actor as #7
# Non-Default Pose Hashes (poses dependant on .id values)
@poses_status = {} # Didn't set any
$poses_skills = {} # Didn't set any
$poses_items = {} # Didn't set any
$poses_weapons = {} # Didn't set any weapons to any poses
# * Frames Control
#--------------------------------------------------------------------------
@frames_per_pose = {0 => 1, 4 => 1} # Set #of frames to pose(by index)
# 1 frame set for 0(Victory) and
# set for 4 (Defeat). All other
# poses are animated.
# Advanced Individual Pose/Frame Hashes # Advanced Individual Poses uses
# hashes within hashes.
$poses_actor = {} #
$poses_enemy = {} #
#
# Individual Battler Settings
@mirror_enemies = true # Enemy battlers use reversed image
@stationary_enemies = false # If the enemies don't move while attacking
@stationary_actors = false # If the actors don't move while attacking
@calculate_speed = false # System calculates a mean/average speed
@phasing = false # Characters fade in/out while attacking
# * Movement Settings (Step-Forward / Final Fantasy-Style)
#--------------------------------------------------------------------------
$rush_offset = 0 # How much additional space between battlers
$rush_attack = false # If true, battler steps forward to attack
$rush_skill = true # If true, battler steps forward to use skill
$rush_item = true # If true, battler steps forward to use item
# * Movement Arrays (Arrays for skill/weapon/item IDs that affect movement)
#--------------------------------------------------------------------------
$moving_item_atk = [1] # Examples are items that need to be applied.
$moving_skill_atk = [57,61] # Examples are martial-arts and sneak attacks
$move2center_atk = [] # Moves battler to center based on weapon id!
$move2center_item = [5] # Moves battler to center for a big item atk!
$move2center_skill = [7] # Moves battler to center for a big skill atk!
# * Stationary Arrays (Arrays for skill/weapon/item IDs that halt movement)
#--------------------------------------------------------------------------
# Array that holds the id # of skills, items or weapons that affect movement
$stationary_enemyid = [] # Enemies that don't RUN during melee attacks
@stationary_weapons = [17,18,19,20,21,22,23,24] # (examples are bows & guns)
@stationary_skills = [] # (examples are bows & guns)
@stationary_items = [] # (examples are bows & guns)
# Adaptation Switches
$RTAB_Connected_Attacking = false # Needed to be on if RTAB and Con. Attk.
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING
@frame, @pose = 0, 0
@last_time = 0
@last_move_time = 0
@battler_offset = 0
@skill_used = 9
@item_used = 0
$casted = false
$casting = false
@dying = true
@s_pose = false
$victory = false
@winning = true
cbs_initialize(viewport, battler)
viewport.z = 99
$formation = $formation_style
# Setting values called from EVENT scripts
$sv_mirror = $sideview_mirror
$sv_mirror = 0 if $sideview_mirror == nil
$max_member = $formation_max_member
$max_member = 4 if $formation_max_member == nil
$formation_top = $formation_max_height
$formation_top = 220 if $formation_max_height == nil
$formation_width = $formation_max_width
$formation_width = 128 if $formation_max_width == nil
$battlestat_height = $battlestatus_height
$battlestat_height = 160 if $battlestatus_height == nil
$formation = $formation_style
$formation = 0 if $formation_style == nil
# if Formation is random
if $formation == 8 then
$formation = rand(8).to_i
end
end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
alias cbs_update update
def update
return unless @battler
# Regular Update
cbs_update
# Reset hash for Advanced Pose/Frames
pose_temp = {}
# Start Routine
unless @started
@pose = state
if @battler.is_a?(Game_Enemy)
if not $default_enemy
if $default_enemy_id == nil
# Set up Spritesheet Standards
@width = @width / @frames
@height = @height / @poses
else
if not $default_enemy_id.include?(@battler.id)
@width = @width / @frames
@height = @height / @poses
end
end
end
end
if @battler.is_a?(Game_Actor)
if not $default_actor
if $default_actor_id == nil
# Set up Spritesheet Standards
@width = @width / @frames
@height = @height / @poses
else
if not $default_actor_id.include?(@battler.id)
@width = @width / @frames
@height = @height / @poses
end
end
end
end
@battler_offset = @width * 0.75
@display_x = @battler.screen_x
@display_y = @battler.screen_y
@display_z = @battler.screen_z
@destination_x = @display_x
@destination_y = @display_y
@destination_z = @display_z
self.opacity = 0
@started = true
end
# Cut Out Frame
# Enemy Battler Routine
if @battler.is_a?(Game_Enemy)
if $default_enemy
self.src_rect.set(@width * 0, @height * 0, @width, @height)
else
if $default_enemy_id !=nil
if $default_enemy_id.include?(@battler.id)
self.src_rect.set(@width * 0, @height * 0, @width, @height)
else
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
else
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
end
end
# Actor Battler Routine
if @battler.is_a?(Game_Actor)
if $default_actor
self.src_rect.set(@width * 0, @height * 0, @width, @height)
else
if $default_actor_id !=nil
if $default_actor_id.include?(@battler.id)
self.src_rect.set(@width * 0, @height * 0, @width, @height)
else
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
else
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
end
end
# Position Sprite
self.x = @display_x
self.y = @display_y
self.z = @display_z
self.ox = @width / 2
self.oy = @height
# Adjust sprite direction if facing the other way...
if $sv_mirror == 1
if @battler.is_a?(Game_Actor)
self.mirror = !!battler
else
if not @mirror_enemies
self.mirror = !!battler
end
end
else
if @battler.is_a?(Game_Enemy)
if @mirror_enemies
self.mirror = !!battler
end
end
end
# Setup Frames per Pose
poseframe = @frames_standard
poseframe = @frames_per_pose[@pose] if @frames_per_pose.include?(@pose)
# Set Advanced Poses for Actors
if @battler.is_a?(Game_Actor)
pose_temp = $poses_actor[@battler.id] if $poses_actor.include?(@battler.id)
poseframe = pose_temp[@pose] if pose_temp.include?(@pose)
end
# Set Advanced Poses for Enemies
if @battler.is_a?(Game_Enemy)
pose_temp = $poses_enemy[@battler.id] if $poses_enemy.include?(@battler.id)
poseframe = pose_temp[@pose] if pose_temp.include?(@pose)
end
# Setup Animation
time = Graphics.frame_count / (Graphics.frame_rate / @speed)
if @last_time < time
@frame = (@frame + 1) % poseframe
if @frame == 0
if @freeze
@frame = poseframe - 1
return
end
@pose = state
end
end
@last_time = time
# Setup Dying Animation
if @battler.dead?
if @dying == true
@pose = state
@dying = false
end
else
if @battler.is_a?(Game_Actor)
if @poses_setup != nil
if @s_pose == false
@pose = @poses_setup
@s_pose = true
end
end
if $victory == true
if @winning == true
@pose = state
@winning = false
end
end
end
end
# Move It
move if moving
end
#--------------------------------------------------------------------------
# * Current State
#--------------------------------------------------------------------------
def state
# Damage State
if [nil,{}].include?(@battler.damage)
# Battler Fine
@state = $p0
# Battler Wounded
@state = $p3 if @battler.hp < @battler.maxhp * @low_hp_percentage
# Battler Status-Effect
for i in @battler.states
@state = @poses_status if @poses_status.include?(i)
end
# If Battler Dead
if @battler.dead?
# If using default battlers or default collapse
if (@default_collapse_actor and @battler.is_a?(Game_Actor)) or
(@default_collapse_enemy and @battler.is_a?(Game_Enemy)) or
($default_actor and @battler.is_a?(Game_Actor)) or
($default_enemy and @battler.is_a?(Game_Enemy)) or
($default_enemy_id.include?(@battler.id) and @battler.is_a?(Game_Enemy)) or
($default_actor_id.include?(@battler.id) and @battler.is_a?(Game_Actor))
# Do absolutely nothing
else
# Use Poses system
if @poses_dying != nil
if @dying == true
@state = @poses_dying
else
@state = $p10
end
else
@state = $p10
end
# Fix Opacity
self.opacity = 255
end
end
end
# Casting State
if $casted
if @battler.rtp != 0
if @poses_casting != nil
@state = @poses_casting
end
end
end
# Victory State
if @battler.is_a?(Game_Actor)
if $victory
if @poses_winning != nil
if @winning == true
if not @battler.dead?
@state = @poses_winning
end
else
if not @battler.dead?
@state = $p9
if not @poses_winning_loops.include?(@battler.id)
@freeze = true
end
end
end
else
if not @battler.dead?
@state = $p9
if not @poses_winning_loops.include?(@battler.id)
@freeze = true
end
end
end
end
end
# Guarding State (not if dead OR in victory)
if not @battler.dead?
if not $victory
@state = $p3 if @battler.guarding?
end
end
# Moving State
if moving
# Adjust sprite direction if facing the other way...
if $sv_mirror == 1
# If enemy battler moving
if @battler.is_a?(Game_Enemy)
# Battler Moving Left
@state = $p4 if moving.eql?(0)
# Battler Moving Right
@state = $p5 if moving.eql?(1)
# Else actor battler moving
else
# Battler Moving Left
@state = $p4 if moving.eql?(0)
# Battler Moving Right
@state = $p5 if moving.eql?(1)
end
else
# If enemy battler moving
if @battler.is_a?(Game_Enemy)
# Battler Moving Left
@state = $p4 if moving.eql?(0)
# Battler Moving Right
@state = $p5 if moving.eql?(1)
# Else actor battler moving
else
# Battler Moving Left
@state = $p4 if moving.eql?(0)
# Battler Moving Right
@state = $p5 if moving.eql?(1)
end
end
end
# Return State
return @state
end
#--------------------------------------------------------------------------
# * Move
#--------------------------------------------------------------------------
def move
time = Graphics.frame_count / (Graphics.frame_rate.to_f / (@speed * 5))
if @last_move_time < time
# Pause for Animation
return if @pose != state
# Phasing
if @phasing
d1 = (@display_x - @original_x).abs
d2 = (@display_y - @original_y).abs
d3 = (@display_x - @destination_x).abs
d4 = (@display_y - @destination_y).abs
self.opacity = [255 - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].max
end
# Calculate Difference
difference_x = (@display_x - @destination_x).abs
difference_y = (@display_y - @destination_y).abs
difference_z = (@display_z - @destination_z).abs
# Done? Reset, Stop
if [difference_x, difference_y].max.between?(0, 8)
@display_x = @destination_x
@display_y = @destination_y
@display_z = @destination_z
@pose = state
return
end
# Calculate Movement Increments
increment_x = increment_y = 1
if difference_x < difference_y
increment_x = 1.0 / (difference_y.to_f / difference_x)
elsif difference_y < difference_x
increment_y = 1.0 / (difference_x.to_f / difference_y)
end
increment_z = increment_y
# Calculate Movement Speed
if @calculate_speed
total = 0; $game_party.actors.each{ |actor| total += actor.agi }
speed = @battler.agi.to_f / (total / $game_party.actors.size)
increment_x *= speed
increment_y *= speed
increment_z *= speed
end
# Multiply and Move
multiplier_x = (@destination_x - @display_x > 0 ? 8 : -8)
multiplier_y = (@destination_y - @display_y > 0 ? 8 : -8)
multiplier_z = (@destination_z - @display_z > 0 ? 8 : -8)
@display_x += (increment_x * multiplier_x).to_i
@display_y += (increment_y * multiplier_y).to_i
@display_z += (increment_z * multiplier_z).to_i
end
@last_move_time = time
end
#--------------------------------------------------------------------------
# * Set Movement
#--------------------------------------------------------------------------
def setmove(destination_x, destination_y, destination_z)
unless (@battler.is_a?(Game_Enemy) and @stationary_enemies) or
(@battler.is_a?(Game_Actor) and @stationary_actors)
unless @stationary_weapons.include?(@battler.weapon_id) or
@stationary_skills.include?(@skill_used) or
@stationary_items.include?(@item_used)
@original_x = @display_x
@original_y = @display_y
@original_z = @display_z
@destination_x = destination_x
@destination_y = destination_y
@destination_z = destination_z
end
end
end
#--------------------------------------------------------------------------
# * Movement Check
#--------------------------------------------------------------------------
def moving
if (@display_x != @destination_x and @display_y != @destination_y and !@battler.dead?)
return (@display_x > @destination_x ? 0 : 1)
end
end
#--------------------------------------------------------------------------
# * Set Pose
#--------------------------------------------------------------------------
def pose=(pose)
@pose = pose
@frame = 4
end
#--------------------------------------------------------------------------
# * Freeze
#--------------------------------------------------------------------------
def freeze
@freeze = true
end
#--------------------------------------------------------------------------
# * Fallen Pose
#--------------------------------------------------------------------------
if @derv_anim_bat_stack.nil?
@derv_anim_bat_stack = true
alias cbs_collapse collapse
def collapse
if @default_collapse_enemy
cbs_collapse if @battler.is_a?(Game_Enemy)
end
if @default_collapse_actor
cbs_collapse if @battler.is_a?(Game_Actor)
end
if $default_enemy
cbs_collapse if @battler.is_a?(Game_Enemy)
end
if $default_actor
cbs_collapse if @battler.is_a?(Game_Actor)
end
if $default_enemy_id != nil
if $default_enemy_id.include?(@battler.id)
cbs_collapse if @battler.is_a?(Game_Enemy)
end
end
if $defend_actor.id != nil
if $default_actor_id.include?(@battler.id)
cbs_collapse if @battler.is_a?(Game_Actor)
end
end
end
end
end
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
# This class handles data surrounding the system. Backround music, etc.
# is managed here as well. Refer to "$game_system" for the instance of
# this class.
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :sideview_mirror
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias initialize_cbs_customize initialize
def initialize
# Call original initialization process
initialize_cbs_customize
@sideview_mirror = 0
end
end
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles the actor. It's used within the Game_Actors class
# ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================
class Game_Actor
#--------------------------------------------------------------------------
# * Actor X Coordinate
#--------------------------------------------------------------------------
def screen_x
# Determine minimum horizontal space between battlers
x_spacer = $formation_width / $max_member
if self.index != nil
case $formation
when 0 # DIAGONAL PATTERN 1
if $sv_mirror == 1
return self.index * -x_spacer + (($max_member+1)*x_spacer) #202
else
return self.index * x_spacer + (640-(($max_member+1)*x_spacer))#450
end
when 1 # DIAGONAL PATTERN 2
if $sv_mirror == 1
return self.index * x_spacer + x_spacer #64
else
return self.index * -x_spacer + (640-x_spacer*2) #576
end
when 2 # 2-ROW SLANT
if $sv_mirror == 1
if self.index < ($max_member/2)
return self.index + (($max_member+1)*x_spacer) + (x_spacer * self.index)
else
return self.index + (x_spacer * self.index) - x_spacer * 0.5
end
else
if self.index < ($max_member/2)
return self.index + (640-(($max_member+1)* x_spacer)) + (-x_spacer * self.index)
else
return self.index + (640-((x_spacer*0.5)-x_spacer)) + (-x_spacer * self.index)
end
end
when 3 # 2 ROW - SLANT
if $sv_mirror == 1
if self.index < ($max_member/2)
return self.index + (x_spacer/2)+(($max_member+1)* x_spacer) + (-x_spacer * self.index)
else
return self.index + (($max_member+1)* x_spacer) + (-x_spacer * self.index)
end
else
if self.index < ($max_member/2)
return self.index + 442 + (x_spacer * self.index)
else
return self.index + 430 + (x_spacer * self.index)
end
end
when 4 # Column Pattern 1
if $sv_mirror == 1
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * (self.index-1))
else
return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * self.index)
end
else
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * (self.index-1))
else
return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * self.index)
end
end
when 5 # Column Pattern 2
if $sv_mirror == 1
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * (self.index-1))
else
return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * self.index)
end
else
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * (self.index-1))
else
return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * self.index)
end
end
when 6 # Wave Formation 1
if $sv_mirror == 1
if self.index < ($max_member/2)
return 170
else
return 90
end
else
if self.index < ($max_member/2)
return 470
else
return 550
end
end
else # Wave Formation 2
if $sv_mirror == 1
if self.index < ($max_member/2)
return 170
else
return 90
end
else
if self.index < ($max_member/2)
return 470
else
return 550
end
end
end
else
return 0
end
end
#--------------------------------------------------------------------------
# * Actor Y Coordinate
#--------------------------------------------------------------------------
def screen_y
# Determine minimum vertical space between battlers
y_spacer = (480 - $battlestat_height - $formation_top) / $max_member
if self.index != nil
case $formation
when 0
return self.index * (y_spacer*1.25) + $formation_top
when 1
return self.index * (y_spacer*1.25) + $formation_top
when 2
if self.index < ($max_member/2)
return $formation_top + ((y_spacer*2.5) * self.index)
else
return ($formation_top - (y_spacer*($max_member+1))) + ((y_spacer*2.5) * self.index) #was 60
end
when 3
if self.index < ($max_member/2)
return $formation_top + ((y_spacer*2.5) * self.index)
else
return ($formation_top - (y_spacer*($max_member+1))) + ((y_spacer*2.5) * self.index) # was 60
end
when 4
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return $formation_top + ($battlestat_height/2)
else
return $formation_top + ($battlestat_height/6)
end
when 5
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return $formation_top + ($battlestat_height/6)
else
return $formation_top + ($battlestat_height /2)
end
when 6
if self.index < ($max_member/2)
return $formation_top + (y_spacer * 2.5 * self.index)
else
return $formation_top + (y_spacer * 2.5 * ((self.index) - ($max_member/2)))
end
else
if self.index < ($max_member/2)
return $formation_top + (y_spacer*2.5*(($max_member/2)-1))+ (y_spacer * 2.5 * -self.index)
else
return $formation_top + (y_spacer*2.5*(($max_member/2)-1)) + (y_spacer * 2.5 * -((self.index) - ($max_member/2)))
end
end
end
end
#--------------------------------------------------------------------------
# * Actor Z Coordinate
#--------------------------------------------------------------------------
def screen_z
return screen_y
end
end
#==============================================================================
# ** Game_Enemy
#------------------------------------------------------------------------------
# This class handles enemies. It's used within the Game_Troop class
# ($game_troop).
#==============================================================================
class Game_Enemy < Game_Battler
def screen_x
if self.index != nil
if $sv_mirror == 1
return 640 - $data_troops[@troop_id].members[@member_index].x
else
return $data_troops[@troop_id].members[@member_index].x
end
end
end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# * Make Skill Action Results (alias used to determine skill used)
#--------------------------------------------------------------------------
alias make_skill_action_result_anim make_skill_action_result
def make_skill_action_result(battler = @active_battler, plus_id = 0)
@rtab = !@target_battlers
if $RTAB_Connected_Attacking
make_skill_action_result_anim(battler, plus_id)
else
@rtab ? make_skill_action_result_anim(battler) : make_skill_action_result_anim
end
@skill_used = @skill.id
end
#--------------------------------------------------------------------------
# * Make Item Action Results (alias used to determine item used)
#--------------------------------------------------------------------------
alias make_item_action_result_anim make_item_action_result
def make_item_action_result(battler = @active_battler)
@rtab = !@target_battlers
@rtab ? make_item_action_result_anim(battler) : make_item_action_result_anim
@item_used = @item.id
@item_usage = @item.scope
end
#--------------------------------------------------------------------------
# * Frame Update (main phase step 1 : action preparation) (Casting Routine)
#--------------------------------------------------------------------------
alias update_phase4_step1_anim update_phase4_step1
def update_phase4_step1(battler = @active_battler)
@rtab = !@target_battlers
if $rtab_detected == true
update_phase4_step1_anim(battler)
if battler.current_action.kind == 1 and
(not battler.current_action.forcing or @force != 2)
if battler.rtp != 0
$casted = true
end
end
else
update_phase4_step1_anim
end
end
#--------------------------------------------------------------------------
# * Action Animation, Movement
#--------------------------------------------------------------------------
alias cbs_update_phase4_step3 update_phase4_step3
def update_phase4_step3(battler = @active_battler)
@rtab = !@target_battlers
target = (@rtab ? battler.target : @target_battlers)[0]
# If enemy is a default battler
if battler.is_a?(Game_Enemy)
if $default_enemy
if @rtab then battler.white_flash = true end
if @rtab then battler.wait = 10 end
end
if $default_enemy_id != nil
if $default_enemy_id.include?(@battler.id)
if @rtab then battler.white_flash = true end
if @rtab then battler.wait = 10 end
end
end
end
# If actor is a default battler
if battler.is_a?(Game_Actor)
if $default_actor
if @rtab then battler.white_flash = true end
if @rtab then battler.wait = 10 end
end
if $default_actor_id != nil
if $default_actor_id.include?(@battler.id)
if @rtab then battler.white_flash = true end
if @rtab then battler.wait = 10 end
end
end
end
# Set values and poses based on Action
case battler.current_action.kind
when 0 # Attack
rush_type = $rush_attack
full_moving = true ; if rush_type; full_moving = false; end
if $move2center_atk.include?(battler.weapon_id); center_move=true ; end
if $stationary_enemyid.include?(battler.id) and battler.is_a?(Game_Enemy)
full_moving = false
center_move = false
rush_type = false
end
if battler.current_action.basic == 2
# If escaping, disable all movement
full_moving = false
center_move = false
rush_type = false
end
base_pose = $p7
base_pose = $poses_weapons[battler.weapon_id] if $poses_weapons.include?(battler.weapon_id)
if battler.current_action.basic == 2
base_pose = $poses_escaping if $poses_escaping != nil
end
when 1 # Skill
rush_type = $rush_skill
if $moving_skill_atk.include?(@skill_used) ; full_moving = true ; end
if $move2center_skill.include?(@skill_used) ; center_move = true ; end
base_pose = $p8
base_pose = $poses_skills[@skill_used] if $poses_skills.include?(@skill_used)
when 2 # Item
rush_type = $rush_item
if $moving_item_atk.include?(@item_used) or @item_scope == 1..2 ; full_moving = true ; end
if $move2center_item.include?(@item_used); center_move = true; end
base_pose = $p6
base_pose = $poses_items[@item_used] if $poses_items.include?(@item_used)
end
# Control Movement and use current pose
@moved = {} unless @moved
return if @spriteset.battler(battler).moving
if not (@moved[battler] or battler.guarding?)
offset = offset_value(battler)
if rush_type # Steps forward
@spriteset.battler(battler).setmove(battler.screen_x - offset, battler.screen_y + 1, battler.screen_z)
end
if full_moving # Runs to target
@spriteset.battler(battler).setmove(target.screen_x + offset, target.screen_y - 1, target.screen_z + 10)
end
if center_move # Runs to center
@spriteset.battler(battler).setmove(320+(offset/4), battler.screen_y-1, battler.screen_z)
end
@moved[battler] = true
return
@spriteset.battler(battler).pose = base_pose
elsif not battler.guarding?
@spriteset.battler(battler).pose = base_pose
@spriteset.battler(battler).setmove(battler.screen_x, battler.screen_y, battler.screen_z)
end
# Finish Up Skill and Item Use
case battler.current_action.kind
when 1
# Flag system that skill was used
$casted = false
$casting = false
@spriteset.battler(battler).skill_used = 0
when 2
# Flag system that item was used
@spriteset.battler(battler).item_used = 0
end
# Battle_Charge value for BattleCry script
$battle_charge = true
# Done
@moved[battler] = false
@rtab ? cbs_update_phase4_step3(battler) : cbs_update_phase4_step3
end
#--------------------------------------------------------------------------
# * Offset Calculation
#--------------------------------------------------------------------------
def offset_value(battler = @active_battler)
offst = @spriteset.battler(battler).battler_offset
offst += $rush_offset
if $sv_mirror == 1
offset = (battler.is_a?(Game_Actor) ? -(offst) : offst)
else
offset = (battler.is_a?(Game_Actor) ? offst : -(offst))
end
return offset
end
#--------------------------------------------------------------------------
# * Hit Animation
#--------------------------------------------------------------------------
alias cbs_update_phase4_step4 update_phase4_step4
def update_phase4_step4(battler = @active_battler)
for target in (@rtab ? battler.target : @target_battlers)
damage = (@rtab ? target.damage[battler] : target.damage)
critical = (@rtab ? target.critical[battler] : target.critical)
if damage.is_a?(Numeric) and damage > 0
@spriteset.battler(target).pose = $p1
if critical == true
@spriteset.battler(target).pose = $poses_critical if $poses_critical != nil
end
end
end
@rtab ? cbs_update_phase4_step4(battler) : cbs_update_phase4_step4
end
#--------------------------------------------------------------------------
# * Victory Animation
#--------------------------------------------------------------------------
alias cbs_start_phase5 start_phase5
def start_phase5
for actor in $game_party.actors
return if @spriteset.battler(actor).moving
end
for actor in $game_party.actors
unless actor.dead?
$victory = true
end
end
cbs_start_phase5
end
#--------------------------------------------------------------------------
# * Change Arrow Viewport
#--------------------------------------------------------------------------
alias cbs_start_enemy_select start_enemy_select
def start_enemy_select
cbs_start_enemy_select
@enemy_arrow.dispose
@enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2)
@enemy_arrow.help_window = @help_window
end
end
#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
# This class brings together battle screen sprites. It's used within
# the Scene_Battle class.
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# * Change Enemy Viewport
#--------------------------------------------------------------------------
alias cbs_initialize initialize
def initialize
cbs_initialize
if @real_zoom != nil
$rtab_detected = true
end
@enemy_sprites = []
for enemy in $game_troop.enemies.reverse
@enemy_sprites.push(Sprite_Battler.new(@viewport2, enemy))
end
end
#--------------------------------------------------------------------------
# * Find Sprite From Battler Handle
#--------------------------------------------------------------------------
def battler(handle)
for sprite in @actor_sprites + @enemy_sprites
return sprite if sprite.battler == handle
end
end
end
#==============================================================================
# ** Arrow_Base
#------------------------------------------------------------------------------
# This sprite is used as an arrow cursor for the battle screen. This class
# is used as a superclass for the Arrow_Enemy and Arrow_Actor classes.
#==============================================================================
class Arrow_Base < Sprite
#--------------------------------------------------------------------------
# * Reposition Arrows
#--------------------------------------------------------------------------
alias cbs_initialize initialize
def initialize(viewport)
cbs_initialize(viewport)
self.ox = 14
self.oy = 10
end
end
Plz aiutatemi !

-
Ciao... Volevo sapere come devo fare per inserire come sfondo del menu (modificato da me) la mappa sottostante e magari mettere un piccolo effetto trasparenza alle finestre ke compongono il menu. http://www.rpg2s.net/forum/public/style_emoticons/default/sisi.gif
Cmq se può servire qui c'è lo script del menu modificato da me#==================================================== #SCRIPT MENU #==================================================== class Scene_Menu def initialize(menu_index = 0) @menu_index = menu_index end def main s1 = $data_system.words.item s2 = $data_system.words.skill s3 = $data_system.words.equip s4 = "Stato" s5 = "Salva" s6 = "Esci" s7 = "Statistiche" s8 = "Progresso" @command_window = Window_Command.new(160, [s1, s2, s3, s4, s7, s8, s5, s6]) @command_window.index = @menu_index if $game_party.actors.size == 0 @command_window.disable_item(0) @command_window.disable_item(1) @command_window.disable_item(2) @command_window.disable_item(3) end if $game_system.save_disabled @command_window.disable_item(4) end @status_window = Window_MenuStatus.new @status_window.x = 160 @status_window.y = 0 Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @command_window.dispose @status_window.dispose end def update @command_window.update @status_window.update if @command_window.active update_command return end if @status_window.active update_status 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) if $game_party.actors.size == 0 and @command_window.index < 4 $game_system.se_play($data_system.buzzer_se) return end case @command_window.index when 0 $game_system.se_play($data_system.decision_se) $scene = Scene_Item.new when 1 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.index = 0 when 2 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.index = 0 when 3 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.index = 0 when 6 if $game_system.save_disabled $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Scene_Save.new when 7 $game_system.se_play($data_system.decision_se) $scene = Scene_End.new when 4 $game_system.se_play($data_system.decision_se) $scene = Scene_Statistiche.new when 5 $game_system.se_play($data_system.decision_se) $scene = Scene_Progress.new end return end end def update_status if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @command_window.active = true @status_window.active = false @status_window.index = -1 return end if Input.trigger?(Input::C) case @command_window.index when 1 if $game_party.actors[@status_window.index].restriction >= 2 $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Scene_Skill.new(@status_window.index) when 2 $game_system.se_play($data_system.decision_se) $scene = Scene_Equip.new(@status_window.index) when 3 $game_system.se_play($data_system.decision_se) $scene = Scene_Status.new(@status_window.index) end return end end end
GRAZIE IN ANTICIPO !!xD
-
Vorrei sapere un'altra cosa... è possibile mettere come sfondo del menu, al posto del nero, la mappa ?
GRAZIE IN ANTICIPO !! :rovatfl: :Ok:
Ho già risolto... GRAZIE !!xD

-
GRAZIE ho cercato di farlo tutta la nottata di ieri...xD :rovatfl:
Cmq Grazie ancora, non mi aspettavo delle risposte così immediate...
Tutto a un tratto comincio a capirci di più...xD :Ok: -
Preferisco la 2° opzione...xD :rovatfl:
Sto cercando di imparare l'RGSS questo era solo uno script di prova... ma a quanto pare devo fare ancora un po' di gavetta...xD :Ok:

*Diario di Viaggio
in Scripts RGSS (XP)
Posted
scusate se il post è un po' vecchio, ma ho un problema...
Ho provato con la prima versione dello script e se metto /10[1] (se la switch 1 è off nn si dovrebbero vedere 10 righe) ma a me si vedono ugualmente, sia con on ke con off...
Ho provato anke a mettere /[1] a ogni riga... ma l'effetto è uguale...
Ho provato con la versione di Raldon, ma appena vado sul diario mi da questo errore: wrong number of arguments (1 for 0)... Sapete aiutarmi in qualche modo??
grazie tante