-
Posts
1,288 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by giver
-
-
Potrebbe essere un'alternativa agli event balloons di Sleeping Leonhart . . .
-
Diciamo che per ovviare, basta andare nel codice di Window_BattleResult, e, all'interno del def initialize, subito dopo l'istruzione super o prima dell'istruzione refresh, scrivere
self.z = 9998
Mi sono inoltre accorto che c'è un altro bug nella parte di codice fatta da valentino, che genera errore se il mostro non ha drop aggiuntivi, quindi ecco un'altra revisione del suo script
#---------------------------ITEM PLUS SYSTEM----------------------------------- #Script creato da Valentino Avon, se usate questo script creditatemi ;) #Lo script permette di ottenere più oggetti dai nemici sconfiggendoli in battaglia. #------------------------------CONFIGURAZIONE----------------------------------- module Enemy # Usi il CTB di charlie o lo "standard" ? # true se CTB, false se "standard" USO_IL_CTB = true #a = armatura i = oggetto w = arma #ITEM = {ENEMYID =>[[(a/i/w),ITEMID,PROBABILITA]]} ITEM = {1 => [["a",1,30], ["i",4,40],["i",5,80]], 2 => [["i",1,40], ["w",2,40]] } end #------------------------------------------------------------------------------- class Window_BattleResult < Window_Base attr_reader :exp attr_reader :gold attr_reader :treasures end class Scene_Battle alias item_start_phase5 start_phase5 def start_phase5 item_start_phase5 treasure = [] for enemy in $game_troop.enemies unless Enemy::ITEM[enemy.id].nil? for item in Enemy::ITEM[enemy.id] treasure.push($data_items[item[1]]) if item[0] == "i" and rand(100) < item[2] treasure.push($data_armors[item[1]]) if item[0] == "a" and rand(100) < item[2] treasure.push($data_weapons[item[1]]) if item[0] == "w" and rand(100) < item[2] end end end for item in treasure 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 if Enemy::USO_IL_CTB xp = @result_window2.exp g = @result_window2.gold treasure += @result_window2.treasures @result_window2.dispose @result_window2 = nil @result_window2 = Window_BattleResult.new(xp, g, treasure) @result_window2.z = 9998 else xp = @result_window.exp g = @result_window.gold treasure += @result_window.treasures max_treasure = [treasure.size, 12].min treasure = treasure[0...max_treasure] @result_window.dispose @result_window = nil @result_window = Window_BattleResult.new(xp, g, treasure) @result_window.z = 9998 end end end -
Strano, nè la BattleResult nè start_phase5 cambiano la z della finestra, quindi è un problema che già doveva esistere prima della mia revisione dello script . . .
Comunque, ecco lo script modificaro per mettere la finestra dei drop in primo piano . . .
EDIT2 - Eliminata anche questa revisione in quanto ho notato un altro bug nell'originale, corretto nella versione più sotto . . .
EDIT - @Cloud_93: Potresti provare a vedere se senza questo script il problema si presenta comunque ?
-
Boh. Non posso testarlo. Vedi se questa variante funziona . . .
EDIT - Versione rimossa in quanto ripubblicata più in basso, con un'aggiunta divenuta "necessaria" . . .
-
*AHAHAHAHAHAH !!!!!!!11111111111111111!UNO!!111!*
1) Ho guardato meglio lo script di Valentino, e, se lo hai postato completo, non aggiunge gli oggetti del multi-drop nell'inventario del party . . .
2) Non mi hai ancora detto che errore ti dà . . . Quindi, ri-chiedo, Che errore dà ?
3) Sono un rompi, lo so, ma mi potresti postare anche il def start_phase5 del CTB ?
4) Charlie ha rilasciato la 3.2 del suo BS. Stai usando quella ? Perchè da ciò che hai postato sembra tu stia usando la 3.1 . . .
-
Che errore ti dà ?
Magari, potresti postare anche il codice della class Window_BattleResult del CTB di charlie ?
-
Una delle cose che non sono mai riuscito a fare in 6 anni di making è far apparire il valore di una variabile su schermo, se non facendo "condizione se var=1,2,3 ecc... then mostra picture 1,2,3 ecc..." cosa impensabile se si arriva a numeri come 1000 e oltre!
Colgo l'occasione per vedere se qualcuno sa come si fa : D (dato che qua su c'è scritto che si può fare anche l'hud :3)
Perchè impensabile ? Non è che servono 1000 IF, ne bastano una trentina per un valore intorno a mille, usando 3 (layer) picture e non una sola (è vero che col VX ce ne sono solo 20, ma nell'ace mi pare siano 100 . . .)
Se poi usi il call script per fare il mostra picture, puoi evitare tutte le IF e fare solo i calcoli necessari a ricavare ogni cifra . . . ( call script mostra picture per XP )
Come si ricava una cifra da un valore ? Semplice, si fa in modo che la cifra diventi quella delle unità, dopodichè si fa modulo 10 sul numero "aggiustato" con la cifra da ricavare . . . Ad esempio, se dobbiamo ricavare la cifra delle centinaia, si divide il valore per 100, poi si fa modulo 10 del risultato . . .
Un esempio, per XP, perchè non conosco l'rgss necessario a mostrare picture nell'ACE . . .
Diciamo che il valore da mostrare è nella variabile 1, ed usiamo la variabile 2 per i calcoli necessari . . .
# Copiamo il valore da trattare nella variabile 2# Nota, potremmo usare una locale, ma per comodità ne usiamo una evento
# anche per permettere appunto di fare almeno i calcoli anche ad eventi
$game_variables[2] = $game_variables[1]
# Essendo la prima cifra le unità, non c'è calcolo da fare per portala in quella posizione
$game_variables[2] %= 10
# Mostriamo la cifra tramite call script. le immagini si chiamano cifra0, cifra1, cifra2, ecc
# numero picture
numpic = 50
# nome immagine
nomepic = "cifra" + $game_variables[2].to_s
# mostra picture
$game_screen.pictures[numpic].show(nomepic, 1,
624, 32, 100, 100, 255, 1)
# Copiamo ancora il valore da trattare nella variabile 2, per la seconda cifra
$game_variables[2] = $game_variables[1]
# Essendo la seconda cifra, le decine, dobbiamo dividere per 10 e farle diventare unità
$game_variables[2] /= 10
$game_variables[2] %= 10
# Mostriamo la cifra tramite call script
# numero picture
numpic = 49
# nome immagine
nomepic = "cifra" + $game_variables[2].to_s
# mostra picture
$game_screen.pictures[numpic].show(nomepic, 1,
600, 32, 100, 100, 255, 1)
# Copiamo ancora il valore da trattare nella variabile 2, per la terza cifra
$game_variables[2] = $game_variables[1]
# Essendo la terza cifra, le centinaia, dobbiamo dividere per 100 e farle diventare unità
$game_variables[2] /= 100
$game_variables[2] %= 10
# Mostriamo la cifra tramite call script
# numero picture
numpic = 48
# nome immagine
nomepic = "cifra" + $game_variables[2].to_s
# mostra picture
$game_screen.pictures[numpic].show(nomepic, 1,
576, 32, 100, 100, 255, 1)
Fatto. Questo codice mostra un valore di tre cifre usando altrettante picture. I valori del mostra picture sono stati messi secondo logica, ma scelti in maniera puramente esemplificativa . . .
-
E' il normale comportamento dello script, che non mostra la ricompensa finchè non completi la quest . . .
-
Ecco, prova un po' se funziona . . .
#=============================================================================== # Quest Log System # Author game_guy # Version 3.0 # con piccola modifica by giver dc20120609.772 #------------------------------------------------------------------------------- #Intro: # Uno script che tiene traccia delle missioni si ottengono e completano. # # Features: # Segna i nomi delle missioni se sono state completate # Si possono creare missioni molto facilmente # E' in grado di visualizzare una descrizione abbastanza lunga # E' in grado di visualizzare un'immagine # Si possono aggiungere e completare facilmente missioni # Piu' compatibile rispetto le precedenti versioni # # Istruzioni: # Scorrere verso il basso fino a visualizzare "Begin Config" e seguire quelle istruzioni # Scorrere verso il basso fino a visualizzare "Begin Quest Setup" e seguire quelle istruzioni # # Script Calls: # Quest.add(id, diff) ~ Aggiunge una missione(ID) a quelle del gruppo, con DIFFicoltà della stessa # Quest.take(id) ~ Prende la missione(ID) a quelle del gruppo # Quest.complete(id) ~ Completa la missione(ID) # Quest.completed?(id) ~ Ritorna true se la missione (ID) e' completata # Quest.has?(id) ~ Ritorna true se il gruppo ha la missione (ID) #$scene = Scene_Quest.new ~ Apri il menu' missioni # # Credits: # game_guy ~ for making it # Beta Testers ~ Sally and Landith # Blizzard ~ piccolo pezzo di codice che ho preso in prestito dal suo bestiario #=============================================================================== module GameGuy #================================================== # Begin Config # UsePicture ~ Vero verra' visualizzata l'immagine nelle missioni # falso non avverra' #================================================== UsePicture = false def self.qreward(id) case id #================================================== # Quest Reward (ricompensa missione) # Use when x then return "Reward" # x = id, Reward = reward in quotes #================================================== when 1 then return "100 Gold" when 2 then return "3 Potions" when 3 then return "Strength Ring" end return "????" end def self.qpicture(id) case id #================================================== # Quest Picture (immagine missione) # Use when x then return "picture" # x = id, picture = picture name in quotes #================================================== when 1 then return "ghost" end return nil # "" end def self.qname(id) case id #================================================== # Quest Name (Nome missione) # Use when x then return "name" # x = id, name = quest name in quotes #================================================== when 1 then return "Missione1" when 2 then return "Missione2" when 3 then return "Missione3" end return "" end def self.qlocation(id) case id #================================================== # Quest Location (Luogo missione) # Use when x then return "location" # x = id, location = location in quotes #================================================== when 1 then return "ARTON WOODS" when 2 then return "EEKA" when 3 then return "EEKA" end return "????" end def self.qdescription(id) case id #================================================== # Quest Description (Descrizione missione) # Use when x then return "description" # x = id, description = description in quotes #================================================== when 1 then return "Extremely LOOOOOOOOOOONNNNNNGGGGGGGG quest description as you can see this goes on for awhile. :P:P:P:P:P" when 2 then return "Bring gold to Jarns Defense to pay her tab." when 3 then return "Go get Kip a hunting knife from Eeka." end return "" end def self.qdifficulty(id) case id #================================================== # Quest Difficulty (Difficoltà missione) # Use when x then return "difficoltà" # x = id, difficoltà = difficulty in quotes #================================================== when 1 then return "FACILE" when 2 then return "MEDIA" when 3 then return "DIFFICILE" end return "" end end module Quest def self.add(id, diff = 0) $game_party.add_quest(id, diff) end def self.take(id) $game_party.take_quest(id) end def self.complete(id) $game_party.complete(id) end def self.completed?(id) return $game_party.completed?(id) end def self.has?(id) return $game_party.has_quest?(id) end end class Game_Party attr_accessor :quests attr_accessor :completed alias gg_quests_lat initialize def initialize @quests = [] @completed = [] @difficulties = {} gg_quests_lat end def add_quest(id, diff) unless @quests.include?(id) @quests.push(id) end @difficulties = {} if @difficulties.nil? @difficulties[id] = diff end def difficulty(id) if @difficulties.nil? || @difficulties[id].nil? return 0 end return @difficulties[id] end def completed?(id) return @completed.include?(id) end def complete(id) unless @completed.include?(id) if @quests.include?(id) @completed.push(id) end end end def has_quest?(id) return @quests.include?(id) end def take_quest(id) @quests.delete(id) @completed.delete(id) end end class Scene_Quest def main @quests = [] for i in $game_party.quests @quests.push(GameGuy.qname(i)) end @map = Spriteset_Map.new @quests2 = [] for i in $game_party.quests @quests2.push(i) end @quests_window = Window_Command.new(180, @quests) @quests_window.height = 240 @quests_window.back_opacity = 110 Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end @quests_window.dispose @quest_info6.dispose if @quest_info6 != nil @quest_info5.dispose if @quest_info5 != nil @quest_info4.dispose if @quest_info4 != nil @quest_info3.dispose if @quest_info3 != nil @quest_info2.dispose if @quest_info2 != nil @quest_info1.dispose if @quest_info1 != nil @map.dispose end def update @quests_window.update if @quests_window.active update_quests return end if @quest_info1 != nil update_info return end if @quest_info2 != nil update_info return end if @quest_info3 != nil update_info return end if @quest_info4 != nil update_info return end if @quest_info5 != nil update_info return end if @quest_info6 != nil update_info return end end def update_quests if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Menu.new return end if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) @quest_info6 = Window_QuestInfo6.new(@quests2[@quests_window.index]) @quest_info6.back_opacity = 110 @quest_info5 = Window_QuestInfo5.new(@quests2[@quests_window.index]) @quest_info5.back_opacity = 110 @quest_info4 = Window_QuestInfo4.new(@quests2[@quests_window.index]) @quest_info4.back_opacity = 110 @quest_info3 = Window_QuestInfo3.new(@quests2[@quests_window.index]) @quest_info3.back_opacity = 110 @quest_info2 = Window_QuestInfo2.new(@quests2[@quests_window.index]) @quest_info2.back_opacity = 110 @quest_info1 = Window_QuestInfo1.new(@quests2[@quests_window.index]) @quest_info1.back_opacity = 110 @quests_window.active = false return end end def update_info if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @quests_window.active = true @quest_info1.dispose @quest_info1 = nil @quest_info2.dispose @quest_info2 = nil @quest_info3.dispose @quest_info3 = nil @quest_info4.dispose @quest_info4 = nil @quest_info5.dispose @quest_info5 = nil @quest_info6.dispose @quest_info6 = nil return end end end class Window_QuestInfo1 < Window_Base def initialize(quest) super(180, 0, 230,60) self.contents = Bitmap.new(width - 32, height - 32) @quest = quest refresh end def refresh self.contents.clear if GameGuy::UsePicture pic = GameGuy.qpicture(@quest) bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil end self.contents.font.color = system_color self.contents.draw_text(0, 0, 480, 32, "Quest:") self.contents.font.color = normal_color self.contents.draw_text(64, 0, 480, 32, GameGuy.qname(@quest)) end end class Window_QuestInfo2 < Window_Base def initialize(quest) super(180, 400, 460, 80) self.contents = Bitmap.new(width - 32, height - 32) @quest = quest refresh end def refresh self.contents.clear if GameGuy::UsePicture pic = GameGuy.qpicture(@quest) bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil end self.contents.font.color = system_color self.contents.draw_text(0, 0, 480, 32, "Reward:") self.contents.font.color = normal_color self.contents.draw_text(0, 20, 480, 32, GameGuy.qreward(@quest)) end end class Window_QuestInfo3 < Window_Base def initialize(quest) super(0, 240, 180, 80) self.contents = Bitmap.new(width - 32, height - 32) @quest = quest refresh end def refresh self.contents.clear if GameGuy::UsePicture pic = GameGuy.qpicture(@quest) bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil end self.contents.font.color = system_color self.contents.draw_text(0, 0, 480, 32, "Location:") self.contents.font.color = normal_color self.contents.draw_text(0, 20, 480, 32, GameGuy.qlocation(@quest)) end end class Window_QuestInfo4 < Window_Base def initialize(quest) super(0, 320, 180, 80) self.contents = Bitmap.new(width - 32, height - 32) @quest = quest refresh end def refresh self.contents.clear if GameGuy::UsePicture pic = GameGuy.qpicture(@quest) bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil end self.contents.font.color = system_color self.contents.draw_text(0, 0, 480, 32, "Stato:") self.contents.font.color = normal_color if $game_party.completed.include?(@quest) self.contents.font.color = crisis_color self.contents.draw_text(0, 20, 480, 32, "CONCLUSA") else self.contents.font.color = normal_color self.contents.draw_text(0, 20, 480, 32, "SVOLGIMENTO") end end end class Window_QuestInfo5 < Window_Base def initialize(quest) super(180, 60, 460, 340) self.contents = Bitmap.new(width - 32, height - 32) @quest = quest refresh end def refresh self.contents.clear if GameGuy::UsePicture pic = GameGuy.qpicture(@quest) bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil end self.contents.font.color = system_color self.contents.draw_text(0, 0, 480, 32, "Description:") self.contents.font.color = normal_color text = self.contents.slice_text(GameGuy.qdescription(@quest), 460) text.each_index {|i| self.contents.draw_text(0, 32 + i*32, 460, 32, text[i]) } end end class Window_QuestInfo6 < Window_Base def initialize(quest) super(0, 400, 180, 80) self.contents = Bitmap.new(width - 32, height - 32) @quest = quest refresh end def refresh self.contents.clear if GameGuy::UsePicture pic = GameGuy.qpicture(@quest) bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil end self.contents.font.color = system_color self.contents.draw_text(0, 0, 480, 32, "Difficoltà:") self.contents.font.color = normal_color qdiff = $game_party.difficulty(@quest) self.contents.draw_text(0, 20, 480, 32, GameGuy.qdifficulty(qdiff)) end end class Bitmap def slice_text(text, width) words = text.split(' ') return words if words.size == 1 result, current_text = [], words.shift words.each_index {|i| if self.text_size("#{current_text} #{words[i]}").width > width result.push(current_text) current_text = words[i] else current_text = "#{current_text} #{words[i]}" end result.push(current_text) if i >= words.size - 1 } return result end endQuello di prima è un metodo per newbies dello scripting che amano arrangiarsi da soli . . .
-
Scusa, non mi ero accorto di questa discussione . . .
Vediamo se ho capito: vuoi che le Quest abbiano le caratteristiche indicate da una serie di valori numerici invece che basate solo sull'ID . . .
Es.: Adesso è come se si indicasse Quest.add(1, 1, 1, 1, 1), ossia tutti i parametri indicati per il case uguale all'ID, mentre tu vuoi che sia possibile indicare una cosa del tipo Quest.add(1, 1, 2, 8, 5) . . .
Oppure vuoi semplicemente separarle per livello di difficoltà ?
Appena mi chiarisci questo punto, avendo perso una scommessa, ti modifico lo script come appropriato . . . Ti avverto che al momento non sono nella possibilità di testarlo . . .
EDIT - Nel secondo caso potresti rimediare da solo, riscrivendo il metodo (def) qdifficoltà
def self.qdifficoltà(id) case id #================================================== # Liste degli ID associati a ciascuna difficoltà, dalla lista più lunga a quella più corta #================================================== when 1, 4, 9, 10, 12, 17, 20, 21, 23 return "FACILE" when 3, 8, 11, 13, 14, 15, 16 return "DIFFICILE" end # La difficoltà usata meno spesso return "MEDIA" end
-
Infatti, come dice kingartur2, sia l'hud che il ciclo giorno-notte lo puoi fare ad eventi, con maggior controllo rispetto ad uno script . . .
Anche visto l'effetto collaterale del metodo on_change, che viene eseguito pure agendo dagli altri script . . .
-
Ma lo hai fatto nello script ?
Quando si usa uno script di ciclo giorno-notte nella maggior parte dei casi non è più possibile impostare lo screen tone tramite eventi . . .
Da un'occhiata superficiale, sembra essere così anche per questo script . . . Se mi posti la versione che usi, magari rendo disattivabile l'impostazione automatica dello screen tone basata sulla fase del giorno . . . Dovrebbe bastare l'aggiunta di un altro switch . . .
-
Io lo chiamerei più "ripartire da un salvataggio precedente alla modifica del DataBase" . . . Quel personaggio, essendo entrato in gioco, e già stato aggiunto a $game_actors, quindi non viene reinizializzato con i nuovi dati a meno di toglierlo dal party e riaggiungerlo spuntando l'opzione inizializza . . .
-
Dipende anche dal rapporto che hai col portale . . . Non tutti hanno le stesse policies a riguardo . . .
Con alcuni percepisci molto in termini di percentuale, ma conti come ditta esterna, quindi sobbarcandoti tutte le spese di gestione della stessa, con altri percepisci "poco" (circa il 28% al netto di tutti i costi e tasse), ma conti come dipendente interno del portale, e con le tasse pagate da loro (o incassi il 40% e le normali tasse da lavoro dipendente sono a tuo carico) . . .
-
L'App Store si tiene il 30 %, e tu intaschi perciò il 70 % . . . ossia 70 centesimi per ogni $/€ del prezzo di vendita . . . E' anche vero, però, che i costi per una produzione seria, se non si riesce ad arrangiarsi, vanno da 10000 a 500000 $/€ per ogni "giochino" . . .
Di quei 70 cent devi toglierci le tasse...
Tasse che comunque dipendono dal totale incamerato: ci sono soglie minime per cui le tasse non le devi pagare o sono in percentuale trascurabile . . . Dipende anche dai portali a cui ti appoggi, che in alcuni casi ti sottraggono già le tasse, perchè più comodo per loro stessi e per gli esattori (che non devono stare a rintracciare tutti coloro che hanno venduto presso tali portali per vedere di incassarle) . . .
Poi, niente bollino SIAE . . .

A chi vuole intraprendere questa strada, consiglierei di consultare anche qualche fonte sullo sviluppo dei Casual Games, che aiuta per cose come quella dei salvataggi da citata da Holy87. . .
-
L'App Store si tiene il 30 %, e tu intaschi perciò il 70 % . . . ossia 70 centesimi per ogni $/€ del prezzo di vendita . . . E' anche vero, però, che i costi per una produzione seria, se non si riesce ad arrangiarsi, vanno da 10000 a 500000 $/€ per ogni "giochino" . . .
-
Il flash character, se non ricordo male, era un "passo" del Muovi Evento, non era tra i comandi-evento come Mostra Messaggio e simili . . . Hai già guardato se c'è lì ?
-
Le variabili, comunque, possono essere le stesse per tutti gli oggetti da spostare, se ne puoi spostare solo uno alla volta, e lo switch legato all'oggetto in posizione, se non lo blocchi una volta raggiunto il punto corretto dove deve stare, va messo OFF se mosso fuori dalle coordinate corrette . . .
EDIT - E controlla se tutti gli oggetti sono in posizione solo quando viene messo ON uno switch, ossia solo dopo che l'oggetto spostato risulta in posizione corretta . . .
Ah, e fai muovere l'eroe forzatamente (Muovi Evento) affinchè segua l'oggetto che sta spingendo . . .
-
-
Eventualmente, per tagliare i costi ed evitare iscrizioni e licenze a pagamento, puoi pensare di sviluppare per lo sfruttamento online del gioco: come esiste il Flash Player, esiste anche il Webplayer di Unity, che permette di giocare nel browser con Windows e Mac . . . Un esempio di produzione Unity di questo tipo è il browser game Battlestar Galactica . . .
-
non so quanti lo usino per ora html5. è già così usato da essere di massa? c'è gente che ancora usa explorer sei.
HTML5 è stato pensato per soppiantare Flash, ed Apple è quella che più ne ha supportato lo sviluppo, anche perchè inizialmente (poi s'è dovuta arrendere) non voleva includere il supporto a Flash nei propri prodotti . . .
Permette di creare "web" app (anche offline, con Adobe AIR/Flex SDK) molto complesse, ed è utilizzato molto nello sviluppo per dispositivi mobile di ogni genere, come pure Flash stesso . . .
EDIT - @Pech: Se ti accontenti di non sfruttare certe possibilità, come il multi-touch in real-time, i touch screen sono sempre stati programmabili sfruttando il codice per il mouse, quindi con qualunque "strumento" che supporti la programmazione dell'uso del mouse . . . Unity, ha una "espansione" dedicata apposta, ma costa intorno ai 400 $, se non ricordo male . . .
-
Ma, lol, mi sono dimenticato di averlo scritto sbagliato in due punti invece che solo alla linea 25 . . .
class Game_Party < Game_Unit # Mettere gli ID degli actors che causano gameover morendo, separati da virgole GAMEOVER_ACTORS = [1] # end class Scene_Battle < Scene_Base # alias giver_remded_scnbtl_btlend battle_end unless $@ # def battle_end(result) unless (result == 2 and !$game_troop.can_lose) for battler in $game_party.members if !battler.exist? $game_party.remove_actor(battler.id) end end end giver_remded_scnbtl_btlend(result) end end class Game_Party < Game_Unit # alias giver_goverpg_gpart_allded all_dead? unless $@ # def all_dead? for battler in members if ( GAMEOVER_ACTORS.include?(battler.id) and !battler.exist? ) $game_troop.can_lose = false return true end end giver_goverpg_gpart_allded end endAdesso possono sorgere solo altri errori, non lo stesso di prima . . .
-
Beh, il procedimento si può dire che è lo stesso per realizzare un menù custom su mappa usando solo picture, ma usando ruby invece di comandy-evento . . . Oserei dire che complessivamente è più semplice da programmare in ruby, scrivendo molta meno roba . . .
Magari, più tardi, "converto" a titolo esemplificativo il codice della command ad immagini del menù per aiutarti a capire quali differenze ci siano nella programmazione . . .
-
Mah, restando nell'artigianale non dovrebbe essere difficile farlo, usando i nomi degli oggetti, più suffisso, invece di indicarne la lista in un array, e suddividendo in pagine la lista o imbarcarsi in una problematica gestione dello scrolling della lista degli oggetti, qualora diventassero di più di quelli che possono stare nello spazio della finestra . . . Il codice andrebbe messo dentro le relative finestre invece che nella scena ovviamente . . .

eventi in modalità "fantasma"
in Supporto XP
Posted · Edited by giver
Non c'è bisogno di uno script, lo puoi già impostare (attivare/disattivare) nella pagina evento, con una delle opzioni sotto il riquadro con la gtafica usata per l'evento) o come passo nell'opzione Segui Percorso, e/o attraverso un passo del comando-evento Muovi Evento (quest'ultima, quindi, funziona anche per l'eroe/player) . . .
EDIT - Tecnicamente, se non ricordo male, si può fare anche usando la Muovi Evento e non abilitare l'opzione ignora se bloccato . . .