Jump to content
Rpg²S Forum

Exim Gealbhonn

Utenti
  • Posts

    353
  • Joined

  • Last visited

2 Followers

About Exim Gealbhonn

  • Birthday 02/14/1998

Profile Information

  • Sesso
    Maschio

Previous Fields

  • Abilità
    Esperto

Exim Gealbhonn's Achievements

Utente avanzato

Utente avanzato (3/7)

  1. Intanto grazie mille per la briga di avermi risposto :D In questo momento non posso fare uno studio approfondito dello script, però ho provato a farlo andare e non mi dà in battaglia il tempo metereologico che c'è fuori dalla battaglia. Appena ho un po' di tempo me lo studio per bene :D Comunque mi interessa anche il perché di questo fenomeno, quindi aspetto qualcuno che sappia chiarirmi questo dubbio
  2. In effetti potrei usare gli alias al posto di sovrascrivere, ma essendo uno script del mio gioco posso tenerlo sotto controllo (non lo devo pubblicare, per questo sono più tranquillo nel sovrascrivere). Comunque non ho ancora capito cosa sono i "Feature" :o Inoltre sareste così gentili da indicarmi il metodo che mi restituisce un valore booleano riguardo la presenza o meno di uno status alterato su un pg e quello per aggiunge uno status ad un pg?
  3. Sì, intendevo il metodo mhp, in effetti sembra che mi riferisca al metodo param nel precedente messaggio. Comunque ci ho lavoricchiato un po' ed è uscito un qualcosa di decente. In ogni caso è sorto un problema alquanto bizzarro e che non mi riesco a spiegare. In passato, in uno script, ho modificato (sovrascritto) alcuni metodi che riguardano le stat (i vari atk, def etc.) nel seguente modo def atk; param(2)*moltiplicatore_posizione_atk; end # ATK ATtacK power def def; param(3)*moltiplicatore_posizione_def end # DEF DEFense power def mat; param(4)*moltiplicatore_posizione_mat; end # MAT Magic ATtack power def mdf; param(5)*moltiplicatore_posizione_mdf; end # MDF Magic DeFense power def agi; param(6)*moltiplicatore_posizione_agi; end # AGI AGIlity def luk; param(7)*moltiplicatore_posizione_luk; end dove i vari moltiplicatori sono ben definiti. Nello script odierno (che è molto più sotto di quello sopra riportato) invece ho sovrascritto i metodi in questo modo def atk (param(2)+param(2)*@elm_mol_atk+@elm_add_atk).to_i end def def (param(3)+param(3)*@elm_mol_def+@elm_add_def).to_i end def mat (param(4)+param(4)*@elm_mol_mat+@elm_add_mat).to_i end def mdf (param(5)+param(5)*@elm_mol_mdf+@elm_add_mdf).to_i end def agi (param(6)+param(6)*@elm_mol_agi+@elm_add_agi).to_i end def luk (param(7)+param(7)*@elm_mol_luk+@elm_add_luk).to_i end Ovviamente questa dà problemi di compatibilità fra i due script, ma me ne sono accorto soltanto nel momento in cui ho visto che il secondo codice non fungeva, rpg mkr elaborava infatti i metodi del primo script e non del secondo, come se il secondo non sovrascrivesse a sua volta quegli stessi metodi (contro il principio che quelli in basso abbiano "priorità maggiore"). Qualcuno mi riesce a spiegare queste stranezze? Mi sento Alice nel Paese delle Meraviglie, dove il sopra ed il sotto non sono poi cosi ben definiti XD P.S. Cosa sono i "Feature"? :o EDIT: Credo di aver capito da solo il problema, il primo script modifica quei valori in Game_Actor, mentre il secondo in Game_BattlerBase, quindi è ovvio che per gli "actor" venga letto il primo script. Ho creato uno scriptino di compatibilità fra i due ed ho risolto. Grazie comunque!
  4. Il metodo param(n) restituisce, a seconda del livello, il corrispondente valore della corrispettiva statistica (0 per i MHP, 1 per i MMP etc.), quindi basta smanettarci un po' su per fare quello che volevo. Comunque grazie lo stesso :D
  5. Salve a tutti, oggi mi sono messo a scrivere uno script sulle abilità passive, roba del tipo che se quella abilità è presente ti aumenta del 10% gli HP massimi o roba simile. Il punto è che Rpg maker non gestisce le statistiche massime come variabili, ma come metodi che fanno riferimento ad un enigmatico metodo "param(n)". Come posso fare a superare il problema?
  6. A pagine 86 credo che sarebbe utile specificare che per l'RGSS3 i simboli per le pressioni dei tasti direzionali siano :UP :DOWN :LEFT :RIGHT e non :up :down :left :right
  7. Salve a tutti, oggi ho provato ad aggiungere gli agenti atmosferici alle battaglie, e ci sono riuscito senza troppi intoppi, il problema però (come si vede da screen) che la pioggia cade sopra la grafica di battaglia. Ovviamente ho provato a giocare con le varie z dei vari elementi, ma nonostante la pioggia sia nel viewport dei personaggi e le z della grafica sia molto più grande della z di tale viewport continua a pioverci sopra. Specifico che i vari costituenti della grafica di battaglia non sono dentro alcun viewport, ma sono sprite a se stanti, se può essere di aiuto. Allego screen e codice Grazie mille a chiunque mi aiuterà! class Game_Map attr_accessor :weather_in_battle attr_accessor :power_weather_in_battle alias w_b_initialize initialize def initialize w_b_initialize @weather_in_battle=:none @power_weather_in_battle=1 end end class Spriteset_Map attr_reader :weather end class Scene_Map < Scene_Base alias terminate_w_b terminate def terminate $game_map.weather_in_battle=@spriteset.weather.type $game_map.power_weather_in_battle=@spriteset.weather.power terminate_w_b end end class Spriteset_Battle alias initialize_weather initialize def initialize initialize_weather create_weather end def create_weather @weather = Spriteset_Weather.new(@viewport1) print @weather @weather.type=$game_map.weather_in_battle @weather.power=$game_map.power_weather_in_battle end alias update_w_b update def update update_w_b update_weather if @weather!=nil end def update_weather @weather.ox = $game_map.display_x * 32 @weather.oy = $game_map.display_y * 32 @weather.update end end
  8. Il sommo coniglio si è pronunciato *_*
    1. Show previous comments  2 more
    2. Dax

      Dax

      io ti chiamerò Soracolkeyblade lo stesso u.u
    3. KoreanPro

      KoreanPro

      Io la gente che cambia nick non la capisco :D
    4. Exim Gealbhonn

      Exim Gealbhonn

      Tieni conto che ormai uso online più questo nick e mi "firmo" con questo, quindi mi è più confortevole di un nick scelto a 13 anni
  9. Nulla, risolto, facendo copia incolla da un vecchio script mi sono scordato una variabile e ritornava prematuramente 0, scusate per il disturbo
  10. Ho scritto questo script affinché rappresentasse in una lista una serie di caratteristiche di oggetti presenti all'interno di un array globale. Il punto è che non sono non li stampa, ma bensì non passa neanche dal "draw text" rpg maker. Non so che fare comunque lo script è questo module CC Neos=["Neos", "/Pictures/Neos", 1] end class Game_Interpreter include CC end class Game_Event < Game_Character include CC end class Card attr_reader :nome def intialize @nome="" @immagine="" @effect_id=-1 end def nome(nome) @nome=nome end def effetto(effetto) @effetto=effetto end def immagine(immagine) @immagine=immagine end def restituisci nome return @nome end end class Game_Party < Game_Unit attr_accessor :party_deck attr_accessor :party_cards include CC alias duel_initialize initialize def initialize @party_deck=[] @party_cards=[] duel_initialize end def add_card(card) card_obj=Card.new card_obj.nome(card[0]) card_obj.immagine(card[1]) card_obj.effetto(card[2]) @party_cards.push(card_obj) end def remove_card(card) @party_deck.delete(card) #da sistemare end end class Window_Cards < Window_Selectable def initialize(x,y,w,h) super @cards=$game_party.party_cards print $game_party.party_cards self.index=0 refresh end def item_max if @data==nil return 0 else return $game_party.party_cards.size end end def draw_item(index) rect =item_rect(index) card= @cards[index] draw_text(rect, card.restituisci_nome) end end class Scene_MenuDeck < Scene_Base def start super crea_finestra_carte end def crea_finestra_carte @finestra_carte=Window_Cards.new(0,0,Graphics.height-150,Graphics.height) @finestra_carte.activate @finestra_carte.set_handler(:cancel, method(:attiva_deck)) @finestra_carte.set_handler(:ok, method(:aggiungi_carta)) end def attiva_deck end def aggiungi_carta end end e funziona così, do ad un npc questo comando, per esempio con "Neos che è l'unico settato nello script) tramite script ad evento $game_party.add_card(CC::Neos) Faccio partire la scena Menu_deck e dovrebbe comparirmi l'opzione con su scritto neos (ed altri se si aggiungono nuovi mostri etc.) Ma non funge, ma sembra giusto :/
  11. Mi chiedo cosa abbia il comando ok rispetto agli altri, infatti questo è un pezzo del codice di una scena del mio gioco def crea_finestra_carte @finestra_deck=Window_Deck.new(0,0,Graphics.width/2-45,Graphics.height ) @finestra_carte=Window_Cards.new(Graphics.width/2-45,Graphics.height-150,Graphics.width/2+45,150) @finestra_deck.activate @finestra_deck.set_handler(:L, method(:passa_a_carte)) @finestra_deck.set_handler(:cancel, method(:esci)) # @finestra_carte.set_handler(:ok, method(:rimuovi_carta)) end def passa_a_carte @finestra_carte.activate end Se al posto di :L metto :ok funge (cioè passa all'altra finestra), altrimenti no. Qualcuno può spiegarmi questo fatto strano?
×
×
  • Create New...