Jump to content
Rpg²S Forum

Holy87

Rpg²S Staff
  • Posts

    7,354
  • Joined

  • Last visited

  • Days Won

    35

Everything posted by Holy87

  1. Stai usando il Battle Engine Melody? Posso sapere quali moduli hai importato?
  2. Ca**o, io adesso ho capito che si trattava di Xp XD Credevo fosse il VX! Vedi forse è un problema di "def terminate". Forse c'è qualche finestra di troppo da cancellare
  3. Non ho provato, ma potrebbe andare così: def command_extragame #Inserisci qua l'ID della mappa, coordinate X e Y di partenza @MAPID = 3 @XMAP = 35 @YMAP = 29 Sound.play_decision # Set up initial party $game_party.setup_starting_members # Set up initial map position $game_map.setup(@MAPID) # Move player to initial position $game_player.moveto(@XMAP, @YMAP) # Refresh player $game_player.refresh # Run automatic change for BGM and BGS set with map $game_map.autoplay # Update map (run parallel process event) $game_map.update # Switch to map screen $scene = Scene_Map.new RPG::BGM.fade(1500) close_command_window Graphics.fadeout(60) Graphics.wait(40) Graphics.frame_count = 0 RPG::BGM.stop Purtroppo non sono riuscito a capire perchè non visualizza il PG, ma basta un evento in automatico nella mappa che ti teletrasporta ad aggirare il problema.
  4. Mi fai vedere la riga dlello script? EDIT: Se si blocca in update, il problema sta in qualcosa che hai messo nella def update. EDIT2: mo che ci penso, secondo me hai proprio cancellato la def!
  5. Prendila come una vacanza disintossicante dal monitor XD
  6. Prego! PS ci sono degli addon molto utili per status ed elementi che potrebbero interessarti.
  7. Nel database no? In Sistema aggiungi gli elementi e gli attributi, e nella scheda Stati nuovi stati.. appunto.
  8. Mi hai mostrato le vecchie però, io posso immaginare il cambiamento di un oggetto come l'intera trasformazione della mappa in 3D con shader da Crysis 3 :D Dato che ci sono solo quelle ho commentato quelle.
  9. Io curerei di più le mappe, e se si potesse mettere uno sfondo nero al posto di quel celeste, l'effetto sarebbe sicuramente migliore :)
  10. Non ho la più pallida idea del perchè di questa cosa, ma se provi a girovagare tra i BS in tempo reale, probabilmente ne troverai uno che non va in conflitto con quello a turni.
  11. Per chi avesse problemi ad usarlo in un caricamento vecchio, il mio fix è questo, da incollare nella riga 287 (dopo @result_window.visible = false) if $game_party.alchemy_pot == nil # Queste tre righe servono $game_party.alchemy_pot = [] # a evitare il crash con unend # gioco caricato.
  12. Ci sono rimasto di cacca quando a metà creazione del mio progetto, avevo scoperto che il motivo del perchè le immagini non erano centrate era che la risoluzione non era 640x480... :( Anche se poi l'ho aumentata tramite script.
  13. U questa chicca me la sono persa! :D
  14. Come si dice... I bravi artisti copiano, i grandi artisti rubano! :nana: Se mi mandi un PM su cosa vuoi fare, vedrò se posso aiutarti in qualche modo.
  15. Mo ti spiego quando c'è la $ significa che è una variabile che è valida in tutto il programma, quando c'è la @ significa che esiste solo nella classe dove l'hai creata, in questo caso scene_title. Questo significa in parole povere. Per altre info puoi vedere qua Corso di RGSS
  16. Possibile che a nessuno importa di Uncharted 3? :nana:
  17. Va bene anche se penso che file.close ti possa dare errori. Ad ogni modo meglio che segui il mio consiglio: non usare switch nella scena del titolo, usa una variabile d'istanza.
  18. Il .txt è solo un'estensione, e come tale serve solo a far capire a Windows che quel file si apre automaticamente con il blocco note. Nello script lo puoi chiamare pure .cane, ma ti leggerà comunque con File.read una stringa di testo. Per quanto riguarda if file.read("endgame") == true questo è un errore grave, in quanto una stringa di caratteri non può assumere valori di vero o falso: praticamente è come se gli chiedessi se un sogno è alto o è basso! EDIT: nello Scene_Title credo dovresti metterlo nella def initialize. E comunque se non è nella scena soltanto che ti serve, è inutile usare uno switch! Puoi benissimo creare una variabile d'istanza come @ciccia! Esempio @ciccio = false @temp = File.read "ENDING.txt" if File.exist? ("ENDING.txt") if @temp == "gioco_finito" @ciccio = true end in questo modo eviti di usare switch nel gioco.
  19. Il codice che hai scritto tu funziona, fino a un certo punto: l'operazione == non è un'assegnazione, ma un confronto. Va bene con l'if ma quando devi assegnare un valore metti un solo =. Potresti comunque creare un file e scriverci dentro in questo modo: file = File.open("ENDING.txt", "a+") text = "gioco_finito" file.write(text) unless file.readlines.include?(text) file.close per leggere il file creato invece @temp = File.read "ENDING.txt" if File.exist? ("ENDING.txt") if @temp == "gioco_finito" $game_switches[0025] = true end Da aggiungere che nell'if quando si tratta di valori veri o falsi come lo switch, puoi anche scrivere if $game_switches[x] invece di if $game_switches[x] == true praticamente ometti == true. Naturalmente con false invece lo devi scrivere :) Poi un consiglio creativo: per non far leggere a un utente il file di testo, puoi omettere l'estensione .txt così anche se il giocatore andrà a vedere la cartella del gioco, non saprà che lì c'è contenuta una stringa di testo.
  20. Ciao! Per quanto riguarda l'array di switch da mettere OFF fai for i in 1...n $game_switches[i] = false end i lo lasci così com'è, n ci metti l'ultima switch da mettere off. Per quanto riguarda la prima, non so precisamente come vuoi fare. Se intendi uno switch che è ON anche prima del caricamento del gioco proprio nella schermata del titolo, non si può fare. C'è un modo però, basta che alla fine del gioco scripti creando un file di testo nella stessa cartella del gioco tipo end.txt con dentro scritto "GIOCO FINITO", mentre alla schermata del titolo metti un controllo che vede se esiste il file end.txt, quindi controlla se c'è scritto "GIOCO FINITO" e mostra gli extra (o cambia lo switch). Ripensandoci basta anche fargli creare il file txt e fargli controllare solo se esiste o meno, funziona lo stesso.
  21. Prova Vampyr SBABS V.1, sono sicuro che adattandolo ti sarà utile.
  22. KGC Slip Damage Extension. Ricorda di dare crediti, con questo puoi anche fare stati che curano HP e MP invece che sottrarli. Incolla lo script sotto Materials e prima del Main Per usarlo inserisci questa tag nelle note dello stato che vuoi far perdere PM: e sostituisci a n la percentuale di MP che vuoi sottrarre a ogni turno. Altrimenti, se vuoi un costo fisso, non metti il simbolo %. Es. , così scala 10 MP ogni turno. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ #_/ ◆ Slip Damage - KGC_SlipDamageExtension ◆ VX ◆ #_/ ◇ Last Update: 03/29/2008 #_/ ◆ Written by TOMY #_/ ◆ Translation by Mr. Anonymous #_/ ◆ KGC Site: #_/ ◆ [url="http://ytomy.sakura.ne.jp/"]http://ytomy.sakura.ne.jp/[/url] #_/ ◆ Translator's Blog: #_/ ◆ [url="http://mraprojects.wordpress.com"]http://mraprojects.wordpress.com[/url] #_/----------------------------------------------------------------------------- #_/ This script allows you to make states with "slip damage" or continual #_/ damage/recovery outside of battle. This effect is accompanied by a screen #_/ flash to indictate everytime the actor recieves damage/recovery. #_/ Recall the "Poisoned" state in Pokemon. #_/============================================================================= #_/ ◆ Instructions For Usage ◆ #_/ To make use of this function, you must insert the <slip> tag into the #_/ "Notes" box located in the States section of the database. #_/ #_/ Format: <slip [HP/MP] Modifier Rate (%), Steps> #_/ Where HP/MP: Designate HP or MP damage/recovery. #_/ Where Modifier: Use [ - ] or damage or [ + ] for recovery. #_/ Where Rate: The desired amount of damage/recovery. #_/ Where %: [Optional] You may insert % after rate for Max HP or Max MP. #_/ Where Steps: The amount of steps it takes for the effect to kick in. #_/ #_/ Ex: <slip HP -5%, 5> #_/ For every 5 steps, 5 percent of the actor's max hp is lost. #_/ #_/ Ex: <slip MP +20, 10> #_/ For every 10 steps, 20 MP is recovered. #_/ #_/ Ex: <slip MP -10%> #_/ After every turn in battle, 10 percent of MP is lost. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ #==============================================================================# # ★ Customization ★ # #==============================================================================# module KGC module SlipDamageExtension # ◆ Damage Indictation Flash ◆ # This allows you to change the color of the flash that happens when the # actor loses or gains health due to the Slip Damage state. DAMAGE_FLASH_COLOR = Color.new(255, 0, 0, 64) # This allows you to change the duration (in frames) the flash remains # on-screen. DAMAGE_FLASH_DURATION = 4 end end #------------------------------------------------------------------------------# $imported = {} if $imported == nil $imported["SlipDamageExtension"] = true # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # # Unless you know what you're doing, it's best not to alter anything beyond # # this point, as this only affects the tag used for "Notes" in database. # # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # # Whatever word(s) are after the separator ( | ) in the following lines are # what are used to determine what is searched for in the "Notes" section of a # skill to see if it is an Steal skill. # Default Slip Damage State tag is <slip> module KGC::SlipDamageExtension # Regular Expression Module module Regexp # State Module module State # Slip Damage tag string SLIP_DAMAGE = /<(?:SLIP|slip)\s*([HM]P)?\s*([\-\+]?\d+)([%%])? (?:\s*,\s*([\-\+]?\d+))?>/ix end end end #============================================================================== # ■ RPG::State #============================================================================== class RPG::State #-------------------------------------------------------------------------- # ○ 「スリップダメージ拡張」のキャッシュ生成 #-------------------------------------------------------------------------- def create_slip_damage_extension_cache @__slip_damage = false @__slip_damage_hp_rate = 0 @__slip_damage_hp_value = 0 @__slip_damage_hp_map = 0 @__slip_damage_mp_rate = 0 @__slip_damage_mp_value = 0 @__slip_damage_mp_map = 0 self.note.split(/[\r\n]+/).each { |line| case line when KGC::SlipDamageExtension::Regexp::State::SLIP_DAMAGE # スリップダメージ @__slip_damage = true analyse_slip_damage($~) end } # デフォルトのスリップダメージ量を設定 unless @__slip_damage @__slip_damage_hp_rate = 10 @__slip_damage_hp_map = 1 end end #-------------------------------------------------------------------------- # ○ スリップダメージの解析 #-------------------------------------------------------------------------- def analyse_slip_damage(match) # タイプ判定 if match[1] == nil type = :hp else if match[1] =~ /MP/i type = :mp else type = :hp end end # ダメージ量取得 n = match[2].to_i # 即値 or 割合判定 is_rate = (match[3] != nil) # マップダメージ取得 map_n = (match[4] != nil ? match[4].to_i : 0) # スリップダメージ値加算 case type when :hp if is_rate @__slip_damage_hp_rate -= n else @__slip_damage_hp_value -= n end @__slip_damage_hp_map -= map_n when :mp if is_rate @__slip_damage_mp_rate -= n else @__slip_damage_mp_value -= n end @__slip_damage_mp_map -= map_n end end #-------------------------------------------------------------------------- # ● スリップダメージ #-------------------------------------------------------------------------- unless $@ alias slip_damage_KGC_SlipDamageExtension slip_damage end def slip_damage create_slip_damage_extension_cache if @__slip_damage == nil return (@__slip_damage || slip_damage_KGC_SlipDamageExtension) end #-------------------------------------------------------------------------- # ○ HP スリップダメージ (割合) #-------------------------------------------------------------------------- def slip_damage_hp_rate create_slip_damage_extension_cache if @__slip_damage_hp_rate == nil return @__slip_damage_hp_rate end #-------------------------------------------------------------------------- # ○ HP スリップダメージ (即値) #-------------------------------------------------------------------------- def slip_damage_hp_value create_slip_damage_extension_cache if @__slip_damage_hp_value == nil return @__slip_damage_hp_value end #-------------------------------------------------------------------------- # ○ HP スリップダメージ (マップ) #-------------------------------------------------------------------------- def slip_damage_hp_map create_slip_damage_extension_cache if @__slip_damage_hp_map == nil return @__slip_damage_hp_map end #-------------------------------------------------------------------------- # ○ MP スリップダメージ (割合) #-------------------------------------------------------------------------- def slip_damage_mp_rate create_slip_damage_extension_cache if @__slip_damage_mp_rate == nil return @__slip_damage_mp_rate end #-------------------------------------------------------------------------- # ○ MP スリップダメージ (即値) #-------------------------------------------------------------------------- def slip_damage_mp_value create_slip_damage_extension_cache if @__slip_damage_mp_value == nil return @__slip_damage_mp_value end #-------------------------------------------------------------------------- # ○ MP スリップダメージ (マップ) #-------------------------------------------------------------------------- def slip_damage_mp_map create_slip_damage_extension_cache if @__slip_damage_mp_map == nil return @__slip_damage_mp_map end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Game_Battler #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● スリップダメージの効果適用 #-------------------------------------------------------------------------- def slip_damage_effect return unless slip_damage? slip_damage_effect_hp slip_damage_effect_mp end #-------------------------------------------------------------------------- # ○ HP スリップダメージの効果適用 #-------------------------------------------------------------------------- def slip_damage_effect_hp return if dead? n = 0 self.states.each { |state| next unless state.slip_damage n += self.maxhp * state.slip_damage_hp_rate / 100 n += state.slip_damage_hp_value } return if n == 0 @hp_damage = [n, self.hp - 1].min self.hp -= @hp_damage end #-------------------------------------------------------------------------- # ○ MP スリップダメージの効果適用 #-------------------------------------------------------------------------- def slip_damage_effect_mp return if dead? n = 0 self.states.each { |state| next unless state.slip_damage n += self.maxmp * state.slip_damage_mp_rate / 100 n += state.slip_damage_mp_value } return if n == 0 @mp_damage = [n, self.mp - 1].min self.mp -= @mp_damage end #-------------------------------------------------------------------------- # ○ 歩行時のスリップダメージの効果適用 #-------------------------------------------------------------------------- def slip_damage_effect_on_walk last_hp = self.hp last_mp = self.mp self.states.each { |state| next unless state.slip_damage self.hp -= state.slip_damage_hp_map self.mp -= state.slip_damage_mp_map } # ダメージを受けた場合はフラッシュ if self.hp < last_hp || self.mp < last_mp $game_map.screen.start_flash( KGC::SlipDamageExtension::DAMAGE_FLASH_COLOR, KGC::SlipDamageExtension::DAMAGE_FLASH_DURATION) end end #-------------------------------------------------------------------------- # ○ 歩行時の自動回復の実行 #-------------------------------------------------------------------------- def do_auto_recovery_on_walk return if dead? if auto_hp_recover self.hp += 1 end end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Game_Party #============================================================================== class Game_Party < Game_Unit #-------------------------------------------------------------------------- # ● プレイヤーが 1 歩動いたときの処理 #-------------------------------------------------------------------------- def on_player_walk for actor in members if actor.slip_damage? actor.slip_damage_effect_on_walk end actor.do_auto_recovery_on_walk end end end
×
×
  • Create New...