|
| | [RMVX] - Aulas sobre GTBS by Gubid | |
| Autor | Mensagem |
---|
Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: [RMVX] - Aulas sobre GTBS by Gubid Sex Jul 10, 2009 12:41 am | |
| Olá pessoal. Estou aqui para apresentar a vocês o sistema de batalha tático desenvolvido pelo gringo GubiD, atualmente a versão APARENTA não ter erros, ela substitui o sistema de batalha normal além de poder ser usada em conjunto com outros sistemas de batalha. Vocês se lembram de jgos como Disgaea e FF Tactics? Pois bem, eu também, e quer saber, são ótimos esses jogos, nada melhor do que um bom jogo de batalha tática! Então vamos ao que interessa. Irei aqui ensina-los a configurar corretamente o sistema de batalha para o jogo. AULA 1 Configurando [spoiler] PARTE I - Importando os scripts - Pegue TODOS os scripts que estão no label "material"... todos MESMO e coloque-os no seu jogo na parte de "scripts adicionais" PARTE II - configurando um campo de batalha convencional - Bom, para ter uma batalha você precisa saber quais eventos serão aqueles que te permitirão configurar a batalha, é bastante simples na verdade. - eventos - Place: Local onde você irá posicionar suas personagens na preparação da batalha, o nome do evento deverá ser place. - Actor#: Local onde personagens ja "nascem", nele você irá obrigar o jogo a começar com uma das personagens no local definido, o nome do evento deverá ser actor e então algum número (por isso escrevi actor#). - Enemy#: Local onde os inimigos começam, o nome do evento deverá ser enemy e então um número, começando por 1 e indo até onde puder (ex.: enemy1) - neutral#: Local onde personagens não controlados por você irão participar, segue a mesma idéia dos outros, PORÉM, (ex.:) se você colocar neutral1 ele irá referir-se DIRETAMENTE à personagem no banco de dados número 51... Caso você queira diminuir o número em que começa os neutros, terá que ir nos scripts - GTBS help e seguir as instruções passadas lá para mudar o número onde iniciam os "neutros" - extra: Evento que pode ser adiconado e irá aparecer durante a batalha... Esqueci de ressaltar... eventos que não sejam especificamente da batalha, DESAPARECEM da tela quando a mesma começa. PARTE III - iniciando uma batalha É bem simples, chame a script enable_tbs e então toda batalha que acontecer será automaticamente a TBS. nada mais precisa ser feito. PARTE IV - configurando personagens novas, habilidades, movimentos, etc. Essa parte é legal, porque é simples demais, e extremamente bem explicada Configurar GTBS: - Código:
-
module GTBS #=============================================================# # ENGINE SETTINGS # #=============================================================# #------------------------------------------------------------- # ID DO EVENTO COMUM A SER CHAMADO EM CASO DE VITÓRIA #------------------------------------------------------------- VIC_COM = 2
#------------------------------------------------------------- # ID DO EVENTO COMUM A SER CHAMADO EM CASO DE DERROTA #------------------------------------------------------------- FAIL_COM = 1 #------------------------------------------------------------ # SELECIONA A FONTE PADRÃO DO JGO #------------------------------------------------------------ def self.font return "Palatino Linotype" end #------------------------------------------------------------- # ID DO MAPA PARA BATALHAS DE TESTE (usando o botão - testar batalha) no database. #------------------------------------------------------------- BTEST_ID = 5 #------------------------------------------------------------- # NÚMERO PADRÃO ONDE COMEÇAM AS PERSONAGENS NEUTRAS NO DATABASE. #------------------------------------------------------------- NEU_START_NUM = 50 #------------------------------------------------------------- # PERMITE QUE AS HABILIDADES CAUSEM DANO EM AMIGOS # padrão é TRUE #------------------------------------------------------------ ATTACK_ALLIES = true #------------------------------------------------------------- # PERMITE QUE POSSA ATRAVESSAR MEMBROS DO GRUPO AO CAMINHAR # Default is TRUE #------------------------------------------------------------- TEAM_THROUGH = true #------------------------------------------------------------- # PERMITE QUE O DANO APAREÇA INDIVIDUALMENTE AO SER CAUSADO, ou seja, caso uma habilidade que afete uma área for lançada, um alvo por vez receberá o dano. - não funciona, ele causa hits infinitos, mantenha o default # Default is TRUE #------------------------------------------------------------- POP_DAMAGE_IND = true #------------------------------------------------------------- # REMOVER OS CORPOS DOS MORTOS? - não funciona #------------------------------------------------------------- REMOVE_DEAD = false #------------------------------------------------------------- # USAR HABILIDADES COM ESPERA, elas são habilidades que demoram para serem lançadas, quando você as "ativa" primeiro tem que esperar alguns turnos/segundos até ela ser realmente lançada. #------------------------------------------------------------- # This is so when a skill has been used it will check if it has a "casting time" # If so, then the users skill will be queued for that user until the "casting time" # has elapsed, thus casting the spell. USE_WAIT_SKILLS = true #------------------------------------------------------------- # PERMITE QUE A MAGIA SEJA LANÇADA SOBRE O ALVO, e não apenas sobre a área. #------------------------------------------------------------- # This option allows you to choose to cast your spell on the target.. thus, if # they move it could affect others as well. (Just like in FFT for PSX!) # This option only used when USE_WAIT_SKILLS enabled and using ATB system. ALLOW_SKILL_TARGET = true #------------------------------------------------------------- # SCROLL_SPEED - 5 is default #------------------------------------------------------------- # Scroll speed controls the speed in which the screen will pan to the current target # during battle SCROLL_SPEED = 5 #------------------------------------------------------------- # CONFIRMAÇÃO DE AÇÕES #------------------------------------------------------------- MOVE_CONFIRM = true ATTACK_CONFIRM = false #this applies to ALL actions WAIT_CONFIRM = false #------------------------------------------------------------- # MOSTRA ÁREA "ATACÁVEL" APÓS MOVIMENTAR? #------------------------------------------------------------- SHOW_MOVE_ATTACK = true #mostra área de ataque normal MOVE_INCLUDE_SPELL = false #mostra área de ataque das magias #------------------------------------------------------------- # Control Opacity (0-255) ESSE CONTROLE DE OPACIDADE MUDA A TRANSPARENCIA/OPACIDADE EM TODAS AS JANELAS DE COMANDO DA BATALHA #------------------------------------------------------------- # This controls what opacity is set to all command windows. CONTROL_OPACITY = 180 #------------------------------------------------------------- # DIM OPACITY - DIMINUI A OPACIDADE DOS MEMBROS QUE JA FIZERAM AÇÃO. #------------------------------------------------------------- DIM_OPACITY = 120 #------------------------------------------------------------- # OPÇÕES DE GANHO DE XP #------------------------------------------------------------- LEVEL_GAIN_SE = "Up" #QUANDO UM LCL É GANHO, MOSTRA O S.E. "up" EXP_PER_HIT = true #GANHA EXPERIÊNCIA POR HIT? TRUE/FALSE POP_EXP = true #APARECE O XP GANHO? TRUE/FALSE #SE XP_ALL ESTIVER ATIVO, ENTÃO OS ANTERIORES SÃO IGNORADOS EXP_ALL = false #XP PARA TODOS NA BATALHA? TRUE/FALSE NEUTRAL_EXP = true #NEUTROS GANHAM XP #------------------------------------------------------------- # USA MÚSICA DE TURNO? (só é usado em batalhas tipo EQUIPE) #------------------------------------------------------------- PHASE_MUSIC = true #------------------------------------------------------------- # Actor Music Setup #------------------------------------------------------------- # DEF_ACTOR_MUSIC if the Default music to be played when one is not specified # for the ACTOR_TURN_MUSIC[ MAP_ID ] #------------------------------------------------------------- DEF_ACTOR_MUSIC = "Battle4" ACTOR_TURN_MUSIC = {} #this is to initialize the music hash * DO NOT REMOVE * ACTOR_TURN_MUSIC[1] = "Battle4" #------------------------------------------------------------- # Enemy Music Setup #------------------------------------------------------------- # DEF_ENEMY_MUSIC if the Default music to be played when one is not specified # for the ENEMY_TURN_MUSIC[ MAP_ID ] #------------------------------------------------------------- DEF_ENEMY_MUSIC = "Battle7" ENEMY_TURN_MUSIC = {} #this is to initialize the music hash * DO NOT REMOVE * ENEMY_TURN_MUSIC[1] = "Battle7" #------------------------------------------------------------- # Actor Phase Music - reads the music name for the battle map #------------------------------------------------------------- def self.actor_phase_music if ACTOR_TURN_MUSIC[$game_map.map_id] != nil return ACTOR_TURN_MUSIC[$game_map.map_id] else return DEF_ACTOR_MUSIC end end #------------------------------------------------------------- # Enemy Phase Music - reads the music name for the battle map #------------------------------------------------------------- def self.enemy_phase_music if ENEMY_TURN_MUSIC[$game_map.map_id] != nil return ENEMY_TURN_MUSIC[$game_map.map_id] else return DEF_ENEMY_MUSIC end end #------------------------------------------------------------- # PREVE O DANO #------------------------------------------------------------- # ESSA OPÇÃO TE PERMITE PREVER O DANO QUE SERÁ CAUSADO. PREVIEW_DAMAGE = true #------------------------------------------------------------- # SETUP DAS ID'S DE "STATUS/STATE" #------------------------------------------------------------- # SELECIONE OS ID's DOS STATUS CONFUSE_ID = 6 #RMXP Default SLEEPING_ID = 7 #RMXP Default PARALYZED_ID = 8 #RMXP Default SLOW_ID = 11 #RMXP Default CASTING_ID = 17 FLYING_ID = 18 WWATER_ID = 19 #walk on water DONT_MOVE_ID = 20 DONT_ACT_ID = 21 KNOCK_BACK_ID = 22 DOOM_ID = 23 TELEPORT1_ID = 24 TELEPORT2_ID = 25 HASTE_ID = 26 COUNTER_ID = 27 #------------------------------------------------------------- #PARA QUE O INIMIGO SEJA CONSIDERADO VOADOR, CERTIFIQUE-SE QUE ELE TEM O ID FLYING DESIGNADO NA PARTE DE ELEMENTOS #------------------------------------------------------------- FLYING_ELEM_ID = 22 #------------------------------------------------------------- # PERMITE "CURVAS" COM TIROS #------------------------------------------------------------- # This option will allow bows users to shoot in a L shape if desired # False is default BOW_LSHAPE = true #------------------------------------------------------------- # ESCONDE COMANDOS INATIVOS DO MENU #------------------------------------------------------------- HIDE_INACTIVE = true #------------------------------------------------------------- #PERMITE MOVIMENTO QUANDO ATIVO (ACTORS ONLY) #------------------------------------------------------------- ENABLE_MOVE_START = false
#------------------------------------------------------------- # HABILITAR MOVIMENTAÇÃO COMO SENDO UMA VARIÁVEL - NÃO USE, ESTÁ BUGADO E INSTÁVEL!!! #------------------------------------------------------------- MOVE_VARIABLE = false #------------------------------------------------------------- # USAR SISTEMA DE POSICIONAMENTO POR ENCONTRO (complicado, só saberá mesmo testando) #------------------------------------------------------------- # This method works like this. The gist of it is that if you touch an enemy # you must stop moving. So if you want to get to the back of an enemy you must # walk 6 tiles to get from infront to behind them, instead of the normal 4. # An example would be like this: # new method: ### old method: ## # # E #E # ##A #A # If the old move was attemped you would be forced to stop at the side of the # enemy. Anyway, there is nothing like experimenting to understand something # better. Best of luck! #------------------------------------------------------------- ENCOUNTER_MOVING_METHOD = false #------------------------------------------------------------- # MATAR SUMMONS AUTOMATICAMENTE? #------------------------------------------------------------- DOOM_SUMMONS = true #------------------------------------------------------------- # TURNOS ATÉ QUE A SUMMON DESAPAREÇA #------------------------------------------------------------- def self.doom_turn?(id) case id when 36; return 9 #36 AQUI NO CASO É O ID DO SUMMON (nunca experimentei) else; return [2,rand(8)].max end end #------------------------------------------------------------- # EFEITO DA CHAIN LIGHT - DANO QUE AFETA CADA UM QUE REBATER #------------------------------------------------------------- CHAIN_LIGHTNING_CURVE = [80,40,20] #------------------------------------------------------------- # PERMITE USO DE MAPAS ISOMÉTRICOS? #------------------------------------------------------------- ISO_MAPS = true #----------------------------------------------------------- # Get Color #----------------------------------------------------------- # Used to define colors in the program. There is no actual mention # of the name, so you can simply update the RGB of these to affect the game. #----------------------------------------------------------- def self.get_color(color) case color when "RED" return Color.new(255,0,0,255) when "BLUE" return Color.new(0,0,255,255) when "GREEN" return Color.new(0,255,0,255) when "YELLOW" return Color.new(255,255,0,255) when "PURPLE" return Color.new(128,0,255,255) when "ORANGE" return Color.new(255,128,0,255) when "BROWN" return Color.new(128,64,0,255) when "BLACK" return Color.new(0,0,0,255) when "WHITE" return Color.new(255,255,255,255) when "PINK" return Color.new(255,128,255,255) when "TAN" return Color.new(200,200,110,255) end end #------------------------------------------------------------ # NÃI MUDE ISSO!!! #------------------------------------------------------------ USING_MULTISLOT = defined?(G7_MS_MOD) USING_ENHANCED_WEAPONS = ($enhancement_element_id != nil ? true : false) end |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Sex Jul 10, 2009 12:42 am | |
| e para configurar ataques, movimentação, distância de alcance das armas e de ataques de onstros... basta seguir esse - Código:
-
module GTBS #=============================================================# # Weapon and Skill Setup # #=============================================================# #------------------------------------------------------------- # Secret Hunt Element ID - HABILIDADE DESENVOLVIDA PARA ESSA DEMO #------------------------------------------------------------- SECRET_HUNT_ID = 20 #------------------------------------------------------------- # Chain Lightning Effect Element ID - MAGIA CHAIN LIGHT!! #------------------------------------------------------------- CHAIN_LIGHTNING_EFFECT_ID = 21 #------------------------------------------------------------- # ANIMAÇÃO PARA SER MOSTRADA QUANDO NÃO HÁ ALVOS A MAGIA #------------------------------------------------------------- MISS_ANIMATION = 100 #ID DO "MISS" - ANIMATIONS #------------------------------------------------------------- # ANIMAÇÃO MOSTRADA QUANDO INVOCAR MONSTRO #------------------------------------------------------------- SUMMON_ANIM_ID = 42 #ID DA A"ANIMATION" #------------------------------------------------------------- # Summon Class - List of database_classes that belong to summons #------------------------------------------------------------- SUMMON_CLASS = [14] #CLASSE DE "PERSONAGEM" NO DATABASE QUE SIMBOLIZA SUMONS!!! ELES SÃO COMO ACTORS! ENTÃO TEM LVL! TOTALMENTE PERSONALISÁVEL! #------------------------------------------------------------- # Summon ENEMY_ID - List of database enemies that are summons #------------------------------------------------------------- SUMMON_ENID = [36] #ID DE MONSTROS NO DATABASE ENEMIES QUE SÃO NA VERDADE SUMMONS, PODE-SE COLOCAR VÁRIOS AQUI, separeos com virgula #------------------------------------------------------------- # ID DAS SUMMONS NO DATABASE ENEMY QUE SÃO CONTROLAVEIS E NÃO USAM AI. #------------------------------------------------------------- CONTROLABLE_SUMMONS = [36] #------------------------------------------------------------- # habilidade -> INVOCA MONSTRO (ID) #------------------------------------------------------------- def self.is_summon?(skill_id) skill = $data_skills[skill_id] return 0 if skill == nil if skill.element_set.include?(17) case skill_id when 100 return 36 #<-- SIGNIFICA QUE QUANDO A SKILL ID "100" É USADA ADICIONA UM MOSTER (SUMMON) NUMERO 36 AO GRUPO DA PERSONAGEM. Ainda preciso ver como adicionar outros aqui... end end return 0 #if none returned... return 0 end #------------------------------------------------------------- # AJUSTA A RANGE DAS ARMAS DO JOGADOR # [DISTÂNCIA_MAX, DISTÂNCIA MÍNIMA, É UM "ARCO-E-FLECHA"?, LINHA DIRTA AO ALVO?, ÁREA DE EFEITO] # Pattern, 0 = straight line only (-) while 1 = all between max range #------------------------------------------------------------- def self.w_range(id) case id when 4; range = [4, 2, true , false, 0] #long bow - id da arma no database else; range = [1, 0, false, false, 0] # se não for nenhum dos equipamentos listados... então o ataque é "esse" end return range end #------------------------------------------------------------ # RANGE DO INIMIGO/SUMMON # BASICAMENTE A MESMA COISA, PORÉM AQUI O ID ENTRADO É DO MONSTRO # [DISTANCIA MAXIA, DISTANCIA MINIMA, É UM ARCO?, LINHA ATÉ O ALVO?, AREA DE EFEITO, PROJETIL?] - É UM ARCO SÓ É USADO QUANDO "LSHAPE_BOWS" FOR HABILITADO #------------------------------------------------------------ def self.m_range(id) case id when 35; range = [3,1, true, false, 0, true] else; range = [1,0, false, false, 0, false] end return range end #------------------------------------------------------------ # AJUSTA A MOVIMENTAÇÃO DAS PERSONAGENS DE ACORDO COM A ID DA CLASSE #------------------------------------------------------------ def self.move_range(class_id) list = [] case class_id when 1 ; r = 3 #Geomancer when 2 ; r = 3 #Lancer when 4 ; r = 5 #Theif when 5 ; r = 4 #Hunter when 8 ; r = 3 #Mage else ; r = 3 #PADRÃO, SITUAÇÃO QUE ENQUADRA TODOS QUE NÃO SÃO OS JA DEFERIDOS. end return r end #------------------------------------------------------------ # AJUSTA A MOVIMENTAÇÃO DOS MONSTROS DE ACORDO COM A ID DO MONSTRO #------------------------------------------------------------ def self.enemy_move(enemy_id) list = [] case enemy_id when 1; r = 3 #Ghost when 2; r = 5 #Basilisk when 3; r = 5 #Shaglin else; r = 4 #PADRÃO. end end #------------------------------------------------------------ # DISTÂNCIA PARA HABILIDADES/MAGIAS # entire range in the specified direction. This means that the range is really # a line itself, instead of the area. HABILIDADES EM LINHA NÃO ESTÃO DISPONÍVEIS # ESSAS DEFINIÇÕES DE MAGIA SERVEM TANTO PARA MONSTROS QUANTO PARA ACTORS #[DISTANCIA, ÁREA, LINE_SKILL?, EXCLUIR O CONJURADOR NO EFEITO?] #------------------------------------------------------------ def self.skill_range(skill_id) case skill_id when 13; range = [2, 1, false, false] #gravel when 11; range = [2, 1, false, false] #electric when 33; range = [2, 0, false, false] #heal when 75; range = [3, 1, false, false] #wind when 45; range = [2, 0, false, false] #silence/mute when 99; range = [0, 1, false, true ] #spin fist when 100; range = [3,0, false, true ] #gilthyr else; range = [1, 0, false, false] end return range end def self.get_skill_user_anim(skill_id) case skill_id when 1 ; return ANIM_SPEC1 when 99; return ANIM_SPEC2 else; return ANIM_CAST end end #------------------------------------------------------------ # If an enemy is killed by a skill that includes "Secret Hunt", give item? #------------------------------------------------------------ # When ENEMY_ID; return [ITEM_TYPE, ID] #----- # ITEM_TYPES: # 0 - Item # 1 - Weapon # 2 - Armor (Any type) #----- # EXAMPLE: when 5; return [0,1] #this will give you a potion when enemy #5 is # killed by a "secret hunt" skill. #------------------------------------------------------------ def self.secret_hunt_result?(enemy_id) case enemey_id when 1; return [0,1] #returns potion else; return [] end end #------------------------------------------------------------ # DANO QUE OCORRE POR TURNO # ADICIONA EFEITO COMO "ENVENENAMENTO" E "REGEN" # This feature allows manual entry of damage to occur during slip # damage, this includes life gain when value is negative. If item is false, # then the standard method of slip damage is used (10% of the afflicted maxhp) #------------------------------------------------------------ def self.slip_dmg?(state_id) case state_id when 3; return [true, 25] #venom when 28; return [true, -25] #regen else; return [false] end end #------------------------------------------------------------ #DISTÂNCIA DOS ITEMS # If item is actually a spell (spell scroll) then assign a spell id with it. # When the item is used if a spell_id is present, then the skill will be cast # instead of the item. # [DISTÂNCIA, ÁREA, HABILIDADE_CHAMADA] # SE A HABILIDADE CHAMADA FOR "0" ENTÃO FAZ APENAS O EFEITO DO ITEM, SE FOR DEFINIDO ALGO ALÉM, ENTAO ELA IRÁ TAMBÉM CHAMAR UMA MAGIA/HABILIDADE, ÓTIMO QUANDO SE FAZ PERGAMINHOS, BOMBAS, ETC. #------------------------------------------------------------ def self.item_range(id) case id when 0; range = [1,0,0] else; range = [1,0,0] end return range end #------------------------------------------------------------ # TEMPO DE PAUSA NA CONJURAÇÃO # This item determines the Casting Time for a skill. # Items set for 0 are immediate action skills #------------------------------------------------------------ def self.skill_wait(id) case id when 33 ; w = 250 #Heal AO CONJURAR HEAL, IRÁ ESPERAR 250 (SEJA LA O QUE FOR) ATÉ QUE SEJA REALMENTE "LANÇADO" A MAGIA DE ID 33 when 100 ; w = 890 #Gilthyr IDEM else; w = 0 end return w end end
|
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Sex Jul 10, 2009 12:42 am | |
| [/spoiler] AULA 2 Adicinando novas armas e modificando velocidade - Spoiler:
Não tem complicação aqui... tipo, o que está sendo usado no sistema para definir movimentação de actors é isso: - Código:
-
#------------------------------------------------------------ # AJUSTA A MOVIMENTAÇÃO DAS PERSONAGENS DE ACORDO COM A ID DA CLASSE #------------------------------------------------------------ def self.move_range(class_id) list = [] case class_id when 1 ; r = 3 #Geomancer when 2 ; r = 3 #Lancer when 4 ; r = 5 #Theif when 5 ; r = 4 #Hunter when 8 ; r = 3 #Mage else ; r = 3 end return r end eu adaptei e to usando assim - Código:
-
def self.move_range(class_id) list = [] case class_id #when 1 ; r = 3 #Mechwarrior #when 2 ; r = 3 #Piloto #when 3 ; r = 3 #Medico when 4 ; r = 4 #Infiltrador #when 5 ; r = 3 #Soldado when 6 ; r = 4 #Mechwarrior Clã ###### MECHS E VEÍCULOS ###### when 7 ; r = 6 #Mechwarrior Mech LEVE when 8 ; r = 4 #Mechwarrior Mech MÉDIO #when 9 ; r = 3 #Mechwarrior Mech PESADO when 10 ; r = 2 #Mechwarrior Mech ASSALTO when 11 ; r = 8 #Piloto Veículo LEVE when 12 ; r = 5 #Piloto Veículo MÉDIO #when 13 ; r = 3 #Piloto Veículo PESADO when 14 ; r = 1 #Piloto Veículo ASSALTO when 15 ; r = 8 #Mechwarrior Clã Mech LEVE when 16 ; r = 6 #Mechwarrior Clã Mech MÉDIO when 17 ; r = 4 #Mechwarrior Clã Mech PESADO #when 18 ; r = 3 #Mechwarrior Clã Mech ASSALTO else ; r = 3 #Todos aqueles que retornam 3 foram removidos do script end return r end
para as armas, é mais ou menos a mesma coisa - Código:
-
#------------------------------------------------------------- # set weapon_range from character (all_to_target means it will affect all tiles to selected target) # [max_range, min_range, is_bow?, line_to_target?, AoE] # AoE for weapons is not recommended, cause it lacks realism, but is available if desired. # Pattern, 0 = straight line only (-) while 1 = all between max range #------------------------------------------------------------- def self.w_range(id) case id when 3; range = [2, 0, true , false, 0] #pistola zip when 8; range = [2, 0, true, false, 0] #shuriken when 11; range = [3, 0, true, false, 0] #pistola .22 when 13; range = [3, 0, true, false, 0] #revolver .38 when 14; range = [3, 0, true, false, 0] #Spinelli 9mm when 15; range = [2, 0, true, false, 0] #Magnum .12 when 18; range = [3, 0, true, false, 0] #laser pequeno when 19; range = [5, 0, true, false, 0] #laser médio when 21; range = [4, 0, true, false, 0] #G-Lock 22 when 22; range = [3, 0, true, false, 0] #autococker when 23; range = [4, 1, true, true, 0] #Vulcan 9mm when 24; range = [3, 1, true, false, 0] #sub NK when 25; range = [3, 0, true, false, 0] #small pulse laser when 26; range = [5, 0, true, false, 0] #medium pulse laser when 27; range = [8, 3, true, false, 0] #Large pulse laser else; range = [3, 0, false, false, 0] end return range end vê? basta adicionar partes no código... não pode é ter medo de mexer... ou você acha que eu sei alguma coisa de script? só to seguindo o que ta sendo dito, e ta funcionando quer adiconar uma arma nova? é só adicionar a seguinte linha antes da primeira arma ou antes do "ELSE", ou substituir a arma que ja existe no sistema - Código:
-
when ID_DA_ARMA; range = [DISTANCIA_MAX, DISTANCIA_MIN, É_ARCO(TRUE/FALSE) , É_LINHA_RETA(TRUE/FALSE), ÁREA_DE_EFEITO] #nome da arma nova
AULA 3 Adicionando mais inimigos - Spoiler:
Vou ensinar aqui a como criar grupos inimigos com MAIS DE 8 "monstros" Existem 3 maneiras, a facil, a dificil, e a por eventos... vou ensinar aqui as que eu sei. Primeiro método: via script "EXTRA TROOPS" - Código:
-
#================================================ # Tpara configurar unidades extras nos grupos de combate inimigos # podendo assim ter combates contra muito mais oponentes # Formato----------------------- # "GRUPO DE BATALHA" => [ID_MONSTRO1, ID_MONSTRO2, ..., ID_MONSTROn], #================================================ class Game_Troop EXTRA_TROOPS = { 1 => [1,1,1,1,1], 34 => [1] } [...]
Nas primeiras linhas você encontra ISSO escrito 1 => [1,1,1,1,1] (no meu script ta assim pelo menos XD) Isso quer dizer o seguinte, o GRUPO DE INIMIGOS de ID 001 terá a adição dos monstros de ID 1, 1, 1, 1 e 1, ou seja, irei adicionar no grupo inimigo MAIS 5 monstros cuja ID corresponde a 1 O mesmo vale para a linha seguinte: 34 => [1] #estou adicionando 1 monstro de ID 1 ao grupo inimigo cuja ID corresponde a 34. Segundo modo: "eventos" Aqui você pode fazer os inimigos entrarem no "meio" do combate. Claro que você pode pegar e criar eventos de batalha DENTRO do grupo de batalha inimigo, o jogo aceita isso perfeitamente, mas ele também aceita eventos colocados no mapa! Você tem ainda MAIS opções para fazer o seu jogo rodar XD, lembre-se que o evento que for colocado no mapa deve conter EXTRA ou BATTLE_EVENT no nome. Para adicionar uma personagem na batalha você precisa apenas criar um evento que chama o seguinte script: - Código:
-
$scene.set_character("type",ID,X,Y,ANIMATION) o Type pode ser "neutral", "player" ou "enemy", ID equivale à ID do "infeliz", se for um "neutral" então lembre-se que quando você definiu QUAL seria personagem neutral você colocou que "todos os chars apartir do numero "50" são neutros, ou seja, um neutral teria ID 50... 51, etc... ID de enemy equivale ao ID dele no database como inimigo, X e Y são as coordenadas em que eles aparecerão e Animation é a animação que irá presceder a chegada dele, caso não queira uma animação simplesmente deixe como 0... Para atrasar a chegada deles você tem a seguinte variável: #game_tempo.battle_turn Eu fiz uma condição bem simples e fucional para adicionar personagens no meio do combate: - Código:
-
#evento de processo paralelo, rodando com o nome de EXTRA <> Condição: script: $game_temp.battle_turn == 2 <>script: $scene.set_character["enemy",1,15,14,0] <>Operação e Switch Local: A = ON #apenas para desligar o evento :Exceção <> :FIM
A condicional "Condição: script: $game_temp.battle_turn == 2" diz que, caso $game_temp.battle_turn seja igual a 2 então ele atinge a condição para disparar o evento... que no caso é a adição de "slimes" ao combate O terceiro método envolve utilizar os eventos de "batalha", usando o database, configurando a batalha e talz, mas eu sou péssimo nisso uhauhahua.
Demo ja existe... não tem razão para eu fazer outro Espero que tenha ajudado a aqueles que procuravam por meios de como usar esse fabuloso script mas não sabiam como seta-lo, depois irei explicar melhor como acontecem os combates isométricos, como fazer os mapas, etc... Poderei ajudar com mais coisas no futuro, mas não poderei te ENSINAR a usar tudo sobre o sistema... não tenho tempo hábil para isso, se te faltam os conhecimentos básicos sobre como chamar os scripts, etc... então esse tutorial não era para você, aqui é para ajudar a pessoas que estão com problemas nas configurações deste TBS |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Dom Ago 02, 2009 11:11 pm | |
| Só uma dúvida, queria saber como configurar o exp ganho por hit, não encontrei essa parte... Obrigado |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Seg Ago 03, 2009 12:25 am | |
| - Código:
-
#------------------------------------------------------------- # OPÇÕES DE GANHO DE XP #------------------------------------------------------------- LEVEL_GAIN_SE = "Up" #QUANDO UM LCL É GANHO, MOSTRA O S.E. "up" EXP_PER_HIT = true #GANHA EXPERIÊNCIA POR HIT? TRUE/FALSE POP_EXP = true #APARECE O XP GANHO? TRUE/FALSE #SE XP_ALL ESTIVER ATIVO, ENTÃO OS ANTERIORES SÃO IGNORADOS EXP_ALL = false #XP PARA TODOS NA BATALHA? TRUE/FALSE NEUTRAL_EXP = true #NEUTROS GANHAM XP
O XP ganho é definido pelo próprio monstro no manager do seu RM. |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Seg Ago 03, 2009 12:31 pm | |
| Na verdade ele só usa o exp do database se eu ativar o EXP_ALL, por exemplo, meu primeiro monstro é um slime que dá 6 de exp, se estiver EXP_ALL=true no fim da batalha eu ganho 6 de exp, se estiver por hit, eu ganho 8 de exp a cada hit nela e 14 quando mato... e se fosse definido pelo database, como eu calcularia o exp ganho por usar um heal em um aliado? Acho que é feito um cálculo do level do atacante até o level do atacado, mas queria saber exatamente S: |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Seg Ago 03, 2009 4:43 pm | |
| a ta, bom, então tenho que ler o script inteiro e ver o que ta acontecendo, depois eu dou um toque e te digo o que é... mas pode demorar... |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Ter Ago 04, 2009 12:41 pm | |
| Eu já consegui resolver, não se encomode... outra coisa só para constar, quando você coloca esses scripts, você não consegue atribuir o valor de uma variavel a nenhum parametro do personagem, exemplo: Variavel X = Nível do herói, por eventos pelo menos aqui não funcionava, mas por scripts funciona na boa ^^ |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Ter Ago 04, 2009 7:42 pm | |
| consegue sim, porém tem que fazer por eventos no mapa... |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Qua Ago 05, 2009 11:36 pm | |
| Outra coisa, acho que é um bug, no meu script não funciona o status- andar na agua e nem o voar, e o teleporte para até em lugares que não se pode ficar como por exemplo na agua, é bug do script mesmo? |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Qui Ago 06, 2009 12:46 am | |
| funciona sim... eu ja testei e foi legal... porém parece que tem uns macetes isso, se não me engano o voar ignora altitude e o andar an água ignora passagens de água, porém a água e a altitude tem que ser definidos no mapa raíz, no mapa "desenho" isso não acontece... |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Qui Ago 06, 2009 9:02 am | |
| O que seria o mapa raíz? E como configurá-lo ? |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Qui Ago 06, 2009 9:50 am | |
| Aí ja é outra aula que eu ainda não irei postar pois ainda não voltei a mexer com o RMVX |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Qui Ago 06, 2009 12:48 pm | |
| nao tem como postar uma demo explicando por cima ou explicar com poucas palavras? ou sabe onde tenha algum tutorial? ... se não der, quando você pretende postar a aula? :B |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Qui Ago 06, 2009 10:38 pm | |
| sem previsão, eu tenho uma demo de um jogo que usa o sistema isométrico que funciona perfeitamente, ou então baixe a demo do próprio Gubid Tactical Battle System ( GTBS) e faça uma engenharia reversa no que ja tem pronto que acho que você deve conseguir se virar. |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Dom Ago 09, 2009 1:09 am | |
| O que é o elemento ( Chain Lightning ) ? testei habilidades com ele e não vi diferença... A propósito, na demo que tenho do GTBS, não há nenhuma habilidade com Walk on Water, e testei aqui e não funcionou, o teleporte também está com o mesmo bug... :X |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Dom Ago 09, 2009 1:18 am | |
| tem que olhar no tópico do Gubid, ele dá uma explicada nessas coisas
O chain lightining é assim, manda a magia em um e ela irá rebater em todo mundo envolta e vai diminuindo o dano conforme bate em cada outro, e tem uma distancia máxima que ele rebate.
Bom, eu to aqui para ensinar a configurar, arrumar bugs não é comigo. |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Dom Ago 09, 2009 11:40 am | |
| Sim sim, eu entendo Scoppio, tem como mandar o link do tópico do Gubid? ;X |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Dom Ago 09, 2009 12:31 pm | |
| http://www.hbgames.org/forums/viewtopic.php?f=11&t=32656 |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Qui Ago 20, 2009 12:53 pm | |
| Uma dúvida, tentei resolver, mas não consegui... O inimigo nunca usa uma habilidade de status para seu benefício(Ex: Regen) ou habilidade de cura... Acontece um erro de script quando ele tenta fazer isso. |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Qui Ago 20, 2009 4:53 pm | |
| Isso se deve ao fato de que a imagem da habilidade dele não está no seu computador, ou animação, sei la... Não é um erro de script, é arquivo faltando. |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Qui Ago 20, 2009 11:12 pm | |
| Se você tentar colocar a Habilidade "Heal" que vem por padrão na demo, do protagonista para um Slime acontece o mesmo erro, não é falta de arquivo... |
| | | Scoppio Sargento
Ocupação : Cientista e Técnico em eletrônica
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Sex Ago 21, 2009 8:09 am | |
| use a demo da GTBS que isso não acontece |
| | | BIbI Recruta
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid Sex Ago 21, 2009 12:19 pm | |
| Então sua demo é diferente da minha, aquela que você mandou antes eu abri e simplesmente coloquei as slimes para usarem a técnica "Heal", e dava erro de script sim. Por favor então anexe sua demo no tópico com a slime usando "Heal" ? |
| | | Conteúdo patrocinado
| Assunto: Re: [RMVX] - Aulas sobre GTBS by Gubid | |
| |
| | | | [RMVX] - Aulas sobre GTBS by Gubid | |
|
Tópicos semelhantes | |
|
Tópicos semelhantes | |
| |
Página 1 de 1 | |
| Permissões neste sub-fórum | Não podes responder a tópicos
| |
| |
| |
|