Jump to content
Rpg²S Forum
  • 0

Zone di combattimento


Gidan90
 Share

Question

Vorrei sapere se esiste uno script che permette di creare diverse zone di combattimento nella stessa mappa.

 

ad esempio: nella world map voglio che ci siano diversi mostri a seconda delle aree.

 

nn so se mi sono spiegato... :chirol_bak2:

Spoiler
Il Manifesto del Making ItalianoSALVIAMO IL MAKING ITALIANO!!Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k).Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare, postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etcBASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!!Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!!Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!?BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!!Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero!Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!!
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

allora...

la mappa è divisa in tante "regioni" vorrei che per ognuna di esse ci fosse un mostro diverso.

Spoiler
Il Manifesto del Making ItalianoSALVIAMO IL MAKING ITALIANO!!Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k).Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare, postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etcBASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!!Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!!Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!?BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!!Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero!Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!!
Link to comment
Share on other sites

  • 0
penso di aver capito che intendi, come su rpgmaker2k dove potevi selezionare delle aree rettangolari nella stessa mappa e per ogni area i gruppi dei mostri cambiano, di fatti non ci sta quest'opsione su rpgmakerxp :\ sfortunatamente non ho la più pallida idea di come fare una cosa simile XD, potresti creare un evento basandoti sui valori del terreno quelli che vengono denominati terrain tag o cose simili, penso sarebbe una buona soluzione creare uno script che legge i terrain tag e di conseguenza abbina a questi tag dei gruppi di mostri :)

 

 

Membro # 8-8-8 [Hachi] della:

http://img3.imageshack.us/img3/9636/bannergm.png

Link to comment
Share on other sites

  • 0
Prova a vedere qui: CLICCAMI ^^

Progetto in corso:

"Hero Walking: Toward Another Life"

Video Old Intro su Youtube

Visite: 11.896!

http://img212.imageshack.us/img212/1060/logheryb0.jpg

 

 

*Posizioni raggiunte nei contest*

 

 

http://www.rpg2s.net/awards/bestuser1.jpghttp://www.rpg2s.net/awards/beststaff1.jpg

http://www.rpg2s.net/awards/bestmaker3.jpghttp://www.rpg2s.net/awards/bestcritical1.jpghttp://www.rpg2s.net/awards/mostcharismatic2.jpg

http://www.rpg2s.net/awards/mosthelpful1.jpghttp://www.rpg2s.net/awards/mostpolite1.jpghttp://www.rpg2s.net/awards/mostpresent1.jpg

 

http://img204.imageshack.us/img204/8039/sccontest3octpl3.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img118.imageshack.us/img118/181/sccontest1octdt9.gif http://img230.imageshack.us/img230/1273/sccontest1batio5.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img143.imageshack.us/img143/3755/destroyae4.png

http://img141.imageshack.us/img141/3081/comics3od3.gif http://img118.imageshack.us/img118/181/sccontest1octdt9.gif

 

 

SE VUOI AVERE RENS PER RISORSE, TUTORIAL, DEMO, ECC... LEGGI QUI

Link to comment
Share on other sites

  • 0

script da inserire:

 

view range

 

#======================================================================

========

# ** View Range Module

#==============================================================================

# Near Fantastica

# Version 4

# 29.11.05

#==============================================================================

module VR

#----------------------------------------------------------------------------

def VR.in_range?(element, object, range)

x = (element.x - object.x) * (element.x - object.x)

y = (element.y - object.y) * (element.y - object.y)

r = x + y

if r <= (range * range)

return true

else

return false

end

end

#----------------------------------------------------------------------------

def VR.range(element, object)

x = (element.x - object.x) * (element.x - object.x)

y = (element.y - object.y) * (element.y - object.y)

r = x + y

r = Math.sqrt®

return r.to_i

end

end

 

#==============================================================================

class Interpreter

#----------------------------------------------------------------------------

def event

return $game_map.events[@event_id]

end

end

 

 

encounter control

 

#======================================================================

========

# ** Encounter Control

#------------------------------------------------------------------------------

# SephirothSpawn

# Version 1.01

# 2006-10-23

#------------------------------------------------------------------------------

# * Version History :

#

# Version 1 ---------------------------------------------------- (2006-08-12)

# Version 1.01 ------------------------------------------------ (2006-10-23)

# - Bug Fix : Fixed Erase Event

#------------------------------------------------------------------------------

# * Requirements :

#

# Near Fantastica's View Range Module

#------------------------------------------------------------------------------

# * Description :

#

# This script was designed to give you more control of Random Encounters

# Encounter Control allows you give terrain tags, circular regions and

# rectangular regions groups of enemies, instead of just map encounters.

# Additionally, it allows you to view in the debugger the regions on the map

#------------------------------------------------------------------------------

# * Instructions :

#

#

# Setting Up Terrain Groups (Game_Map::Terrain_Tag_Groups)

# TTG = { map_id => { terrain_tag => [troop_id, ...], ... }, ... }

# (Use 0 for map_id as a default for all maps, unless specified)

#

# Setting Up Encounter Regions

# Adds a Comment Line with this format:

# Comment : Enc Ctrl <type>(<params>)[group_id, ...]

#

# <type> = Circ (Circluar Region) or Rect (Rectangular Region)

# Circular <params> = center_x, center_y, radius

# Rectangular <params> = upper_left_x, upper_left_y, rect_width, rect_height

#------------------------------------------------------------------------------

# * Credits :

#

# Thanks to Near Fantastica For His View Range Module

#==============================================================================

 

#==============================================================================

# ** View Range Module Extension

#==============================================================================

 

module VR

#--------------------------------------------------------------------------

# * In Rect Range?

#--------------------------------------------------------------------------

def self.in_rect_range?(rect, object)

return object.x.between?(rect.x, rect.x + rect.width) &&

object.y.between?(rect.y, rect.y + rect.height)

end

end

 

#==============================================================================

# ** Circle

#==============================================================================

 

class Circle

#--------------------------------------------------------------------------

# * Public Instance Variables

#--------------------------------------------------------------------------

attr_accessor :x

attr_accessor :y

attr_accessor :radius

#--------------------------------------------------------------------------

# * Object Initialization

#--------------------------------------------------------------------------

def initialize(x, y, r)

@x, @y, @radius = x, y, r

end

end

 

#==============================================================================

# ** Color

#==============================================================================

 

class Color

#--------------------------------------------------------------------------

# * To Hexidecimal

#--------------------------------------------------------------------------

def to_hex

n = (self.red.to_i * 100) + (self.green.to_i * 10) + self.blue.to_i

return eval "0x#{n.to_s(16)}"

end

end

 

#==============================================================================

# ** Game_Event

#==============================================================================

 

class Game_Event < Game_Character

#--------------------------------------------------------------------------

# * Circle Encounter Areas

#--------------------------------------------------------------------------

def seph_circle_enconter_areas

# Starts Enc Areas

enc_areas = {}

# Return Enc Areas If No List

return enc_areas if @list.nil? || @erased

# Checks All Event Commands

for i in 0...@list.size

# Checks For Comment Line

if @list.code == 108

# If Parameters Include 'Enc Ctrl'

if @list.parameters[0].upcase.include?('ENC CTRL')

# Collect Encounter List For Area

@list.parameters[0].dup.gsub(/\[(.+?)\]/, '')

list = $1.split.collect! {|x| x.to_i}

# Test For Circular Range

if @list.parameters[0].upcase.include?('CIRC')

@list.parameters[0].dup.gsub(/\((.+?)\)/, '')

unless $1.nil?

circ = eval "Circle.new(#{$1})"

# Stores Enc List

enc_areas[circ] = list

end

end

end

end

end

# Return Encounter List

return enc_areas

end

#--------------------------------------------------------------------------

# * Rect Encounter Areas

#--------------------------------------------------------------------------

def seph_rect_encounter_areas

# Starts Enc Areas

enc_areas = {}

# Return Enc Areas If No List

return enc_areas if @list.nil?

# Checks All Event Commands

for i in 0...@list.size

# Checks For Comment Line

if @list.code == 108

# If Parameters Include 'Enc Ctrl'

if @list.parameters[0].upcase.include?('ENC CTRL')

# Collect Encounter List For Area

@list.parameters[0].dup.gsub(/\[(.+?)\]/, '')

list = $1.split.collect! {|x| x.to_i}

# Test For Rect Boundaries

if @list.parameters[0].upcase.include?('RECT')

@list.parameters[0].dup.gsub(/\((.+?)\)/, '')

unless $1.nil?

rect = eval "Rect.new(#{$1})"

# Stores Enc List

enc_areas[rect] = list

end

end

end

end

end

# Return Encounter List

return enc_areas

end

end

 

 

#==============================================================================

# ** Game_Map

#==============================================================================

 

class Game_Map

#--------------------------------------------------------------------------

# * Terrain Tags

# ~ map_id = > {terrain_tag => [troop_id, ...] }

# * Use 0 For Default For All Maps

# * To Overwrite Default, Include Map ID And Define or Leave Blank Terrain

#--------------------------------------------------------------------------

Terrain_Tag_Groups = {

0 => {

}

}

#--------------------------------------------------------------------------

# * Alias Listings

#--------------------------------------------------------------------------

alias seph_enccntrl_gmmap_el encounter_list

#--------------------------------------------------------------------------

# * Get Encounter List

#--------------------------------------------------------------------------

def encounter_list

# Checks Terrain Tag Groups

if Terrain_Tag_Groups.has_key?(@map_id)

# Test For Player Terrain Tag

if Terrain_Tag_Groups[@map_id].has_key?($game_player.terrain_tag)

# Return List

return Terrain_Tag_Groups[@map_id][$game_player.terrain_tag]

end

# Checks For Default

elsif Terrain_Tag_Groups[0].has_key?($game_player.terrain_tag)

# Return List

return Terrain_Tag_Groups[0][$game_player.terrain_tag]

end

# Checks All Events

for event in $game_map.events.values

# Checks Circular Ranges Of Event

circ_ranges = event.seph_circle_enconter_areas

circ_ranges.each do |circle, list|

# If Player In Range of Circle

if VR.in_range?(circle, $game_player, circle.radius)

# Return List

return list

end

end

# Checks Rect Ranges

rect_ranges = event.seph_rect_encounter_areas

rect_ranges.each do |rect, list|

# If Player In Range of Rect

if VR.in_rect_range?(rect, $game_player)

# Return List

return list

end

end

end

# Return Original Encounter List

return seph_enccntrl_gmmap_el

end

end

 

#==============================================================================

# ** Spriteset_Map

#==============================================================================

 

class Spriteset_Map

#--------------------------------------------------------------------------

# * Alias Listings

#--------------------------------------------------------------------------

alias seph_encctrl_gmmap_init initialize

alias seph_encctrl_gmmap_update update

#--------------------------------------------------------------------------

# * Object Initialization

#--------------------------------------------------------------------------

def initialize

# Original Initialization

seph_encctrl_gmmap_init

# Creates Flash Data Table & Flash Tile Flag

@tilemap.flash_data = Table.new($game_map.width, $game_map.height)

@seph_encctrl_tilesflashing = false

end

#--------------------------------------------------------------------------

# * Frame Update

#--------------------------------------------------------------------------

def update

# Original Update

seph_encctrl_gmmap_update

# If Debugging

if $DEBUG

# If A Button Is Pressed

if Input.trigger?(Input::A)

# If Tiles Flashing

if @seph_encctrl_tilesflashing

# Unflashes All Map Tiles

for x in 0...$game_map.width

for y in 0...$game_map.height

@tilemap.flash_data[x, y] = 0

end

end

# Turns Flashing Flag Off

@seph_encctrl_tilesflashing = false

# If Tiles Not Flashing

else

# Sets Up Colors Array (To Prevent Matching Colors

@flashtile_colors = []

# Checks All Events

for event in $game_map.events.values

# Flashes All Circular Ranges

event.seph_circle_enconter_areas.keys.each do |circle|

seph_flash_circular_range(circle, circle.radius)

end

# Flashes All Rect Ranges

event.seph_rect_encounter_areas.keys.each do |rect|

seph_flash_rect_range(rect)

end

# Turns Flashing Flag On

@seph_encctrl_tilesflashing = true

end

end

end

end

end

#--------------------------------------------------------------------------

# * Flash Circular Range

#--------------------------------------------------------------------------

def seph_flash_circular_range(object, range)

# Gets Flash Color

color = get_random_color while color.nil? ||

@flashtile_colors.include?(color)

# Flashes Tiles Within Range

x = object.x

for i in (x - range)..(x + range)

sa = (x - i).abs

x_ = i < x ? x - sa : i == x ? x : x + sa

y_ = Integer((range ** 2 - sa ** 2) ** 0.5)

for j in (object.y - y_)..(object.y + y_)

@tilemap.flash_data[i, j] = color.to_hex

end

end

end

#--------------------------------------------------------------------------

# * Flash Rect Range

#--------------------------------------------------------------------------

def seph_flash_rect_range(rect)

color = get_random_color while color.nil? ||

@flashtile_colors.include?(color)

for x in 0...rect.width

for y in 0...rect.height

@tilemap.flash_data[rect.x + x, rect.y + y] = color.to_hex

end

end

end

#--------------------------------------------------------------------------

# * Get Random Color

#--------------------------------------------------------------------------

def get_random_color

return Color.new(rand(18) * 15, rand(18) * 15, rand(18) * 15)

end

end

 

 

le istruzioni stanno all interno dell encounter control cmq posto lo stesso una demo

durante il play test premendo il tasto shift vengono visualizzate le aree create con lo script

 

p.s. ho tolto l SDK dai script

 

Project6.zip

Link to comment
Share on other sites

  • 0
Grazie DarkSchneider!! :chirol_iei2:
Spoiler
Il Manifesto del Making ItalianoSALVIAMO IL MAKING ITALIANO!!Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k).Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare, postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etcBASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!!Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!!Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!?BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!!Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero!Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!!
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...