Ja teve acesso Juan???
+75
TheLordOctopus
Laukang
iceflux
helthor001
felippeon
Gumg
Soaresdk
nevermorec1
Soubi92
Veyrk
Sudn
XFallSeane
vvvmh
eluedes
KevinTuron
rushmima
KielHyre
urbios
whitespirits
Processinho
Kenshiro
LeonM²
Hayato_Katsuo
xKyan
mochorro
GallighanMaker
joaopaulo98
Darkio
HAWK
Tobi S2
Soul*Knight
snaker15
AvilaMan
Cenourinha404
Daniel Carvalho
jria
DragonicK
Azin
Felix Blayder
xurana321
Trpino
Duel
Valentine
matheus180
vinishow
Haseo
Zodiac322
Dumsol
Haizen
takub088
Manticora
thiagus
Komuro Takashi
NowaDraco
Swordsman
JuanCollin
Empoleon
gerrakina
Shiy
Labrador
StormAD
Lief
makergame2000
glauberzin
Kaitro
renan-vieira
Jonny
Kies
Caio Juan
Pablo Kawan
lucasrpg55
Satheios
Dingiswayo
Kincy
Paulo Soreto
79 participantes
NetMaker
Komuro Takashi- Colaborador
- Mensagens : 1047
Créditos : 130
- Mensagem nº61
Re: NetMaker
_________________
Paga um café? Patreon
- Mensagem nº62
Re: NetMaker
@Komuro Takashi
Eu já disponibilizei:
Estou aberto a sugestões e críticas.
Eu já disponibilizei:
Embora ainda esteja em fase de testes.Valentine escreveu:Boas notícias, pessoal.
Acabei de concluir o ABS Diamond! Vocês podem baixá-lo clicando em um dos links abaixo:
Download Mega
Download 4shared
Estou aberto a sugestões e críticas.
Swordsman- Semi-Experiente
- Mensagens : 89
Créditos : 13
- Mensagem nº63
Re: NetMaker
A animação do ataque do ABS está lenta e utiliza imagens. Seria mais legal se a animação de ataque do ABS fosse igual a do SAS, que desenha a animação de ataque pelo ícone. Isso está presente no Netplay Crystal também.
Não vi grandes mudanças, não manjo de programação então não sei se você melhorou o código ou algo do tipo. Mas o que mais me incomodou foi esse negócio da animação de ataque, por imagem é muito mais dificil fazer o jogo e pela lentidão deixa o jogo um tanto broxante.
Não vi grandes mudanças, não manjo de programação então não sei se você melhorou o código ou algo do tipo. Mas o que mais me incomodou foi esse negócio da animação de ataque, por imagem é muito mais dificil fazer o jogo e pela lentidão deixa o jogo um tanto broxante.
JuanCollin- Membro de Honra
- Mensagens : 988
Créditos : 98
- Mensagem nº64
Re: NetMaker
Animação de ataque por icone fica meio ridículo, por imagem abre um leque de possibilidades, se você quer ir pelo mais fácil e menos bem feito, fica difícil fazer um bom jogo. E em relação à animação, está lenta mesmo, mas creio que seja pois esta em fase de testes.Swordsman escreveu:A animação do ataque do ABS está lenta e utiliza imagens. Seria mais legal se a animação de ataque do ABS fosse igual a do SAS, que desenha a animação de ataque pelo ícone. Isso está presente no Netplay Crystal também.
Não vi grandes mudanças, não manjo de programação então não sei se você melhorou o código ou algo do tipo. Mas o que mais me incomodou foi esse negócio da animação de ataque, por imagem é muito mais dificil fazer o jogo e pela lentidão deixa o jogo um tanto broxante.
E não leve à mal esse comentário, só minha opinião mesmo.
- Mensagem nº65
Re: NetMaker
Como o Juan falou, animação por ícone é tosca, limitada.
No que se refere à velocidade da animação, eu posso ver essa questão na próxima atualização do ABS.
No que se refere à velocidade da animação, eu posso ver essa questão na próxima atualização do ABS.
Dumsol- Iniciante
- Mensagens : 36
Créditos : 2
- Mensagem nº66
Re: NetMaker
Jà vi que vou levar uma surra para fazer as animações kkk...mas esta muito bom o Abs esta com um cheiro de Diamante
Kies- Diva
- Mensagens : 1154
Créditos : 124
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
- Mensagem nº67
Re: NetMaker
Mais o que o juan falou é total verdade, nem sempre coisa fácil é melhor, e quem realmente que criar um jogo passar por tudo para fazer seu jogo ficar bom.
AvilaMan- Iniciante
- Mensagens : 34
Créditos : 3
- Mensagem nº68
Re: NetMaker
Ola Valentine, eu queria fazer uma sugestão
Sera que você poderia adaptar o script de Mapa continuo no Diamond.
Seria muito legal poder fazer com que o mundo do jogo pareca um mapa só.
É acho que agora que você esta fazendo o netplay desde cero com seu próprio abs seria um pouco mais fácil adaptá-lo a funcionar.
Aqui deixo o Script do cual estou falando:
Espero não me mal interprete e uma simples opinião e sugestão para deixar o novo Diamond melhor ainda.
Sera que você poderia adaptar o script de Mapa continuo no Diamond.
Seria muito legal poder fazer com que o mundo do jogo pareca um mapa só.
É acho que agora que você esta fazendo o netplay desde cero com seu próprio abs seria um pouco mais fácil adaptá-lo a funcionar.
Aqui deixo o Script do cual estou falando:
- Código:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Continuous Maps by Blizzard
# Version: 1.2
# Type: Custom Map System
# Date: 14.12.2009
# Date v1.2: 11.9.2010
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#
# This work is protected by the following license:
# #----------------------------------------------------------------------------
# #
# # Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
# # ( http://creativecommons.org/licenses/by-nc-sa/3.0/ )
# #
# # You are free:
# #
# # to Share - to copy, distribute and transmit the work
# # to Remix - to adapt the work
# #
# # Under the following conditions:
# #
# # Attribution. You must attribute the work in the manner specified by the
# # author or licensor (but not in any way that suggests that they endorse you
# # or your use of the work).
# #
# # Noncommercial. You may not use this work for commercial purposes.
# #
# # Share alike. If you alter, transform, or build upon this work, you may
# # distribute the resulting work only under the same or similar license to
# # this one.
# #
# # - For any reuse or distribution, you must make clear to others the license
# # terms of this work. The best way to do this is with a link to this web
# # page.
# #
# # - Any of the above conditions can be waived if you get permission from the
# # copyright holder.
# #
# # - Nothing in this license impairs or restricts the author's moral rights.
# #
# #----------------------------------------------------------------------------
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#
# Compatibility:
#
# 95% compatible with SDK v1.x. 80% compatible with SDK 2.x. WILL corrupt old
# savegames. Compatible with Blizz-ABS. Not compatible with Intelligent
# Passability from Blizz-ABS, it's being turned off.
#
#
# Features:
#
# - virtually creates one continuous map from any number of map fragments
# - easy to configure
#
# new in v1.2:
#
# - lammer bug where transferring into a non-configured map would crash the
# game
# - lammer bug when teleporting into another set of maps would mess up
# everything
#
#
# Instructions:
#
# - Explanation:
#
# This Script will allow you to make the game simulate a continuous map using
# smaller maps. The system displays the current map and the neighbor maps.
# Walking over a map border will cause the new map to be loaded as main map
# and the neighbor maps will be changed.
#
#
# Notes:
#
# - You may notice lag when walking over a map border.
# - Do not use too big maps as it increases loading time and the short moment
# of lag will become more and more visible. Due to the fact that map
# loading times in Blizz-ABS are increased, those moments will be longer if
# Blizz-ABS is being used.
# - Remember to connect ALL neighbor maps or you might experience bugs.
#
#
# If you find any bugs, please report them here:
# http://forum.chaos-project.com
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module CTMAPS
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# define all neighbor maps here
MAP_DATA = [
# [MAP_ID1, MAP_ID2, X_OFFSET, Y_OFFSET]
[5, 6, 0, -40], # connected map 1 and 2 where 2 has an X, Y offset of 25, 0
]
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
MAP_DATA.compact!
MAPS = {}
MAP_DATA.each {|data|
MAPS[data[0]] = [] if MAPS[data[0]] == nil
MAPS[data[0]] |= [data[1, 3]]
MAPS[data[1]] = [] if MAPS[data[1]] == nil
MAPS[data[1]] |= [[data[0], -data[2], -data[3]]]}
MAP_DATA = nil
$ctmaps = 1.2
end
#==============================================================================
# Game_Temp
#==============================================================================
class Game_Temp
attr_accessor :player_no_straighten
end
#==============================================================================
# Game_Character
#==============================================================================
class Game_Character
attr_accessor :x
attr_accessor :y
attr_accessor :real_x
attr_accessor :real_y
alias straighten_ctmaps_later straighten
def straighten
if $game_temp.player_no_straighten
$game_temp.player_no_straighten = nil
return
end
straighten_ctmaps_later
end
alias moveto_ctmaps_later moveto
def moveto(x, y)
ox, oy = $game_map.upper_left;
moveto_ctmaps_later(x - ox, y - oy)
end
end
if $BlizzABS
#==============================================================================
# module BlizzABS
#==============================================================================
module BlizzABS
#============================================================================
# BlizzABS::Controller
#============================================================================
class Controller
alias center_ctmaps_later center
def center(x, y, flag = false)
ox, oy = $game_map.upper_left
center_ctmaps_later(x - ox, y - oy, flag)
end
end
#============================================================================
# BlizzABS::Utility
#============================================================================
class Utility
alias setup_passability_ctmaps_later setup_passability
def setup_passability(map, override = false)
setup_passability_ctmaps_later(map) if override
end
end
end
$BlizzABS = BlizzABS::Processor.new
#==============================================================================
# Map_Battler
#==============================================================================
class Map_Battler
attr_writer :id
attr_writer :SELF
alias moveto_ctmaps_later moveto
def moveto(x, y)
ox, oy = $game_map.upper_left
moveto_ctmaps_later(x - ox, y - oy)
end
end
else
#==============================================================================
# Game_Player
#==============================================================================
class Game_Player
alias center_ctmaps_later center
def center(x, y)
ox, oy = $game_map.upper_left
center_ctmaps_later(x - ox, y - oy)
end
end
end
#==============================================================================
# Game_Map
#==============================================================================
class Game_Map
attr_reader :upper_left
attr_reader :lower_right
attr_reader :maps
alias init_ctmaps_later initialize
def initialize
@maps = {}
@events = {}
init_ctmaps_later
end
alias setup_ctmaps_later setup
def setup(map_id)
last_maps = @maps
last_map_id = @map_id
@upper_left = [0, 0]
@lower_right = [0, 0]
events = @events
setup_ctmaps_later(map_id)
@maps = get_neighbor_maps
if !@maps.has_key?(last_map_id)
@events = {}
last_maps = {}
last_map_id = 0
else
@events = events
end
setup_continuous_map
setup_continuous_events(last_maps, last_map_id)
if $BlizzABS
@virtual_passability = $BlizzABS.util.setup_passability(@map, true)
end
end
def get_neighbor_maps
maps = {}
maps[@map_id] = [@map, 0, 0]
@upper_left = [0, 0]
@lower_right = [@map.width, @map.height]
if CTMAPS::MAPS.has_key?(@map_id)
CTMAPS::MAPS[@map_id].each {|data|
id, x, y = data
if @maps[id] != nil
map = @maps[id][0]
else
map = load_data(sprintf('Data/Map%03d.rxdata', id))
end
maps[id] = [map, x, y]
@upper_left[0] = x if @upper_left[0] > x
@upper_left[1] = y if @upper_left[1] > y
width, height = x + map.width, y + map.height
@lower_right[0] = width if @lower_right[0] < width
@lower_right[1] = height if @lower_right[1] < height}
maps.each_value {|data|
data[1] -= @upper_left[0]
data[2] -= @upper_left[1]}
end
return maps
end
def setup_continuous_map
width = @lower_right[0] - @upper_left[0]
height = @lower_right[1] - @upper_left[1]
data = Table.new(width, height, 3)
@map = @map.clone
@map.events = {}
@maps.each_key {|id|
map, ox, oy = @maps[id]
if id == @map_id
map.events.each_key {|i| @map.events[i] = map.events[i]}
else
map.events.each_key {|i| @map.events[id * 1000 + i] = map.events[i]}
end
(0...map.width).each {|x| (0...map.height).each {|y| (0...3).each {|z|
data[x + ox, y + oy, z] = map.data[x, y, z]}}}}
@map.width = width
@map.height = height
@map.data = data
end
def setup_continuous_events(last_maps, last_map_id)
correct_event_positions(last_maps) if last_maps[@map_id] != nil
delete_removed_events(last_maps, last_map_id)
shift_events_from_last_map(last_maps, last_map_id) if last_map_id != 0
shift_events_for_new_map
add_new_events(last_maps)
end
def delete_removed_events(last_maps, last_map_id)
keys = []
@maps.each_key {|id|
keys += @events.keys.find_all {|key|
@events[key].real_x < 0 || @events[key].real_y < 0 ||
@events[key].real_x >= (@lower_right[0] - @upper_left[0]) * 128 ||
@events[key].real_y >= (@lower_right[1] - @upper_left[1]) * 128}}
(keys | keys).each {|key| @events.delete(key)}
end
def shift_events_from_last_map(last_maps, last_map_id)
@events.each_key {|key|
if key < 1000
@events[last_map_id * 1000 + key] = @events[key]
if $BlizzABS && @events[key].is_a?(Map_Battler)
@events[key].SELF = @events[key].id = last_map_id * 1000 + key
end
@events.delete(key)
end}
end
def shift_events_for_new_map
@events.each_key {|key|
if key >= @map_id * 1000 && key < (@map_id + 1) * 1000
@events[key % 1000] = @events[key]
if $BlizzABS && @events[key].is_a?(Map_Battler)
@events[key].SELF = @events[key].id = key % 1000
end
@events.delete(key)
end}
end
def correct_event_positions(last_maps)
pix = $BlizzABS.pixel if $BlizzABS
sx = @maps[@map_id][1] - last_maps[@map_id][1]
sy = @maps[@map_id][2] - last_maps[@map_id][2]
@events.each_value {|event|
if $BlizzABS && event.is_a?(Map_Battler)
x, y = sx * pix, sy * pix
else
x, y = sx, sy
end
event.x += x
event.y += y
event.real_x += sx * 128
event.real_y += sy * 128}
end
def add_new_events(last_maps = {})
if last_maps[@map_id] == nil
@maps[@map_id][0].events.each_key {|i|
if @events[i] == nil
@events[i] = Game_Event.new(@map_id, @maps[@map_id][0].events[i])
$BlizzABS.check_event_name(i) if $BlizzABS
end}
end
pix = $BlizzABS.pixel if $BlizzABS
(@maps.keys - last_maps.keys - [@map_id]).each {|id|
map, sx, sy = @maps[id]
sx -= @maps[@map_id][1]
sy -= @maps[@map_id][2]
map.events.each_key {|i|
if @events[id * 1000 + i] == nil
@events[id * 1000 + i] = event = Game_Event.new(id, map.events[i])
if $BlizzABS
$BlizzABS.check_event_name(id * 1000 + i)
if event.is_a?(Map_Battler)
x, y = sx * pix, sy * pix
else
x, y = sx, sy
end
else
x, y = sx, sy
end
event.x += x
event.y += y
event.real_x += sx * 128
event.real_y += sy * 128
end}}
end
alias update_ctmaps_later update
def update
update_ctmaps_later
return if $game_player.moving? || @maps.size <= 1
map, x, y = @maps[@map_id]
if $game_player.real_x < x * 128 || $game_player.real_y < y * 128 ||
$game_player.real_x >= x * 128 + map.width * 128 ||
$game_player.real_y >= y * 128 + map.height * 128
(@maps.keys - [@map_id]).each {|id|
map, x, y = @maps[id]
if $game_player.real_x >= x * 128 && $game_player.real_y >= y * 128 &&
$game_player.real_x < x * 128 + map.width * 128 &&
$game_player.real_y < y * 128 + map.height * 128
$game_temp.player_transferring = true
$game_temp.player_no_straighten = true
$game_temp.player_new_x = $game_player.real_x / 128 - x
$game_temp.player_new_y = $game_player.real_y / 128 - y
$game_temp.player_new_map_id = id
$game_temp.player_new_direction = 0
break
end}
end
end
end
Espero não me mal interprete e uma simples opinião e sugestão para deixar o novo Diamond melhor ainda.
_________________
Dumsol- Iniciante
- Mensagens : 36
Créditos : 2
- Mensagem nº69
Re: NetMaker
Boa ideia Buckzor...tinha até me esquecido disso. Val, eu não sei...mas tu poderia colocar um sistema de Pet totalmente seu e compatível com o NpD, sei que é um trabalhão mas como tu pretende fazer do Diamond tua obra prima deveria pensar na possibilidade de colocar!
Kies- Diva
- Mensagens : 1154
Créditos : 124
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
- Mensagem nº70
Re: NetMaker
Acho que o sistema de pet não é uma boa opção pois leva tempo fazer ele e quase nem sempre é utilizado pela galera, e como o valentine disse o Netplay Diamond vai ser com os sistemas necessários agora se ele for fazer seria muito legal estilo o do Wings MMORPG do Terabin que ficou perfeito, e não como o RD12 fez pq era um sistema bem limitado e chato.
|
|