Zeraw 144 Posted July 27, 2013 Ora bem, eu não sabia aonde postar uma discussão sobre um determinado assunto por isso coloquei em pedidos, se estiver errado movam por favor! Eu quero discutir e pedir a vossa opinião sobre as Serverfiles do Invoice, eu uso-as e corrigi já algumas coisas, mas não sei mais bugs delas, se quase todos vocês testaram certamente já encontraram montes de bugs que possam partilhar comigo. Problemas que já encontrei e corrigi: [*]Criei Mob_drop_item, special_item_group (Todos os Mobs e Cofres) [*]Corrigi Evento OX e Configurei a PT-PT [*]Corrigi Catacumbas, 4º Piso os portais [*]Corrigi a Construção de Terreno Guild [*]Corrigi os Mobs Novos (Ataque, Defesa, HP, Gold etc...) [*]Corrigi os Mapas Novos (Coloquei Metins, NPC's) [*]Corrigi Guarda da Praça (Criação da Guild, Apagar Guild) [*]Corrigi Quest Casamento [*]Corrigi Montadas (Agora têm tempo e bónus como o oficial) (Todas funcionam, renas, urso, cavalo púrpura etc..) [*]Traduzi todos os Protos para PT-PT [*]Coloquei Kill Gui e Página de Bónus [*]Tradução total do Cliente [*]Tradução do Sistema de Energia [*]Corrigi Sistema de Trajes [*]Corrigi Ícones que estavam trocados [*]Corrigi Guerras de Guild, arena, normal e bandeira [*]Corrigi Emblemas e Bandeiras de Guild [*]Corrigi Guerra de Reinos [*]Coloquei evento PVP Automático [*]Corrigi Bruxa do Gelo Suprema e Drops dela [*]Corrigi Drops dos cofres em todos os boss's [*]Corrigi Pedra da Alma [*]Corrigi Dragão Azul e a sua Quest com chaves torcidas etc... [*]Coloquei Montarias novas [*]Corrigi os Cofres de Nível [*]Coloquei os Preços direitos pôes a tavam a 0 e a quando estão a 0 não dá para comprar, uma diff para corrigir [*]Corrigi DM e DH das Armas 30 e 75 [*]Corrigi Eleição do Imperador (Oficial) com Bancos do reino funcionais e Item Benção dos Anjos Funcional [*]Corrigi os níveis de todos os Mob's [*]Coloquei todos os professores com loja [*]E coloquei o script start.sh e close.sh e restart.sh no cd/root para não ser necessário o comando cd /home/game/ && sh start.sh [*]Corrigi Leitura de Livros Fora isso, tem um problema com os pet's, apenas estão trocados, e os Itens de casamento não funcionam :( Que bugs encontraram vocês mais? Share this post Link to post Share on other sites
Auros ( ͡ʘ ͜ʖ ͡ʘ) 172 Posted July 28, 2013 Guarda dos reds e amarelos não funciona para criar guild :), por exemplo Ps: Não vi que tinhas mencionado este tópico peço a um moderador para excluir o meu comentário, se faz favor. Vê MP sff Cumpz, Bisc8Forever Share this post Link to post Share on other sites
Zeraw 144 Posted July 28, 2013 Guarda dos reds e amarelos não funciona para criar guild :), por exemplo Ps: Não vi que tinhas mencionado este tópico peço a um moderador para excluir o meu comentário, se faz favor. Vê MP sff Cumpz, Bisc8Forever Obrigado por me teres alertado para esse problema, já corrigi, eis a correcção (É necessário Livro da Providência para criar Quest, mas podes sempre retirar essa parte da quest) quest guild_building begin state start begin --[[when guild_man1.chat."GM:Registo." or guild_man2.chat."GM:Registo." or guild_man3.chat."GM:Registo." with pc.is_gm() begin say_title("Guarda da Praça") say("") ----"12345678901234567890123456789012345678901234567890"| say("Coloca o nome do utilizador da qual procuras") say("informação.") say("") say("") local u_name = input() local u_vid=find_pc_by_name(u_name) if u_vid==0 then say_title("Este utilizador não existe.") say(u_name) return end local old_vid = pc.select(u_vid) u_withdrawTime=pc.getqf("new_withdraw_time") u_withdrawTime=pc.getqf("new_withdraw_time") pc.select(old_vid) withdrawDelay=game.get_event_flag("guild_withdraw_delay") disbandDelay=game.get_event_flag("guild_disband_delay") say_title("Guarda da Praça") say("") ----"12345678901234567890123456789012345678901234567890"| say("Verifica a Data mais Recente para Registo.") say("") if u_withdrawTime&--#62;0 then say("Tempo deduzido: "..time_to_str(u_withdrawTime)) say("Tempo Restante: ".. withdrawDelay..": Dia)") say("") end if u_disbandTime&--#62;0 then say("Tempo para Desintegrar: "..time_to_str(u_disbandTime)) say("(Tempo Restante: ".. disbandDelay.." Dia)") say("") end local retryTime1 = u_withdrawTime + withdrawDelay*86400 local retryTime2 = u_withdrawTime + disbandDelay*86400 local retryTime = 0 if retryTime1 &--#62; retryTime2 then retryTime = retryTime1 else retryTime = retryTime2 end local curTime = get_time() if curTime &--#60; retryTime then say("Próxima possibilidade para tentar novamente: "..time_to_str(retryTime)) say("(Tempo Restante: "..((retryTime-curTime)/3600).." horas)") say("") if is_test_server() then local s=select("Adaptação Directa", "Fechar") if s==1 then local old_vid = pc.select(u_vid) local curTime=get_time() pc.setqf("new_withdraw_time", curTime-withdrawDelay*86400) pc.setqf("new_withdraw_time", curTime-disbandDelay*86400) pc.select(old_vid) end end else say("Registo Directo Possível."); say("") end end when guild_man1.chat."GM: Ver variáveis de Guilds" or guild_man2.chat."GM: Ver variáveis de Guilds" or guild_man3.chat."GM: Ver variáveis de Guilds" with pc.is_gm() begin test_chat("pc.has_guild: "..bool_to_str(pc.has_guild())) test_chat("pc.is_guildmaster: "..bool_to_str(pc.isguildmaster())) test_chat("pc.empire: "..pc.empire) test_chat("npc.empire: "..npc.empire) end --]] when guild_man1.chat."Sair da Guild" or guild_man2.chat."Sair da Guild" or guild_man3.chat."Sair da Guild" with pc.hasguild() and not pc.isguildmaster() and (pc.is_gm() or npc.empire == pc.empire) begin -- ?? say_title("Guarda:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Queres mesmo sair da Guild onde estás?? Eu") say("que apenas irás perder amigos dessa maneira.") say("") say("Mas a decisão é tua, sempre queres sair?") say("this guild?") say("") local s = select("Sim", "Não") if s==1 then say_title("Guarda da Praça:") say("") say("Ok.") say("") say("Vou-te te tirar da lista.") say("") pc.remove_from_guild() pc.setqf("new_withdraw_time",get_global_time()) end end when guild_man1.chat."Desfazer Guild" or guild_man2.chat."Desfazer Guild" or guild_man3.chat."Desfazer Guild" with pc.hasguild() and pc.isguildmaster() and (pc.is_gm() or npc.empire == pc.empire) begin -- ?? say_title("Guarda da Praça:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("O Quê? say("[DELAY value;150] [/DELAY]") say("Criamos a Guild com tanto esforço e agora queres") say("desintegra-la? Todas as experiências e aventuras") say("que tiveste com os teus amigos vão ser desaparecidas") say("") say("Queres mesmo desintegrar a Guild?") say("") local s = select("Sim", "Não") if s==1 then say_title("Guarda da Praça") say("") say("Ok.") say("") say("Vou agora mesmo acabar com a Guild.") say("") pc.destroy_guild() pc.setqf("new_disband_time", get_global_time()) pc.setqf("new_withdraw_time", get_global_time()) end end when guild_man1.chat."Criar Nova Guild" or guild_man2.chat."Criar Nova Guild" or guild_man3.chat."Criar Nova Guild" with not pc.hasguild() and pc.level &--#62;= 40 begin ----with (pc.is_gm() or npc.empire == pc.empire) -------------------------------------------------------------- local level_limit; local guild_create_item level_limit = 40 guild_create_item = false ----------------------------------------------------------------------- if pc.hasguild() then say_title("Guarda:") say("") say("Não podes criar uma Guild quando já pertences") say("a uma!") say("") return end if game.get_event_flag("guild_withdraw_delay")*86400 &--#62; get_global_time() - pc.getqf("new_withdraw_time") then say_title("Guarda:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Tens que esperar pelo menos 24horas para") say("criares uma Guild nova.") say(string.format("", game.get_event_flag("guild_withdraw_delay"))) return end if game.get_event_flag("guild_disband_delay")*86400 &--#62; get_global_time() - pc.getqf("new_withdraw_time") then say_title("Guarda:") say("") say("Tu recentemente desintegras-te uma Guild!") say("") say("Nas próximas 24horas não poderás criar outra.") say(string.format("", game.get_event_flag("guild_disband_delay"))) return end say_title("Guarda:") say("") say("Queres estabelecer uma Guild?") say("") say("Criar uma Guild custa 3KK de Gold e um nível") say("igual ou superior a 60") say("") say("Queres mesmo criar uma Guild?") say("") local s = select("Sim", "Não") if s == 2 then return end if pc.level &--#62;= 60 then if pc.gold &--#62;= 3000000 then-- pc.remove_item(70101) if not guild_create_item or pc.countitem(guild_create_item)&--#62;0 then game.request_make_guild() end-- if pc.countitem(70101)&--#62;0 then-- pc.remove_item(guild_create_item)-- game.request_make_guild()-- else-- say_title("Guarda da Praça")-- say("") ----"12345678901234567890123456789012345678901234567890"|-- say("Se queres criar uma Guild tens que ter,")-- say("o livro da Providência.")-- say("")-- say_item_vnum(70101)------ end else say_title("Guarda:") say("") ----"12345678901234567890123456789012345678901234567890"| say("Não tens dinheiro suficiente!") say("") return end else say_title("Guarda:") say("") ----"12345678901234567890123456789012345678901234567890"| say("O teu nível é baixo para criar uma Guild.") say("") end end endendCumprimentos, se tiveres mais avisa :D Não percebi a parte do eu ter mencionado o tópico xD Share this post Link to post Share on other sites
Auros ( ͡ʘ ͜ʖ ͡ʘ) 172 Posted July 28, 2013 [*]Corrigi Guarda da Praça (Criação da Guild, Apagar Guild) [*]Quando escrevi o post não tinha visto que tinhas mencionado esta parte e agradeço desde já a tua ajuda xD, a resolver este problema :)! Se me poderes enviar o teu skype por MP agradecia tenho umas duvidas que me podes tirar :), se não te for muito incomodo claro! PS: a minha duvida é neste tópico [*]Corrigi Eleição do Imperador (Oficial) com Bancos do reino funcionais e Item Benção dos Anjos Funcional Como conseguiste resolver ?, eu ando as turras com um amigo meu a tentar resolver este problema e nunca o consegui xD. Cumpz, Bisc8Forever Share this post Link to post Share on other sites
Zeraw 144 Posted July 28, 2013 Desculpa Bisc8 mas não adiciono ninguém em Skype.A Eleição do Imperador podes ir buscar ao Metin2SG ;) Share this post Link to post Share on other sites
Auros ( ͡ʘ ͜ʖ ͡ʘ) 172 Posted July 28, 2013 Como já agora :b?, é que aqui na cyber tem isso do núcleo das files do metin2.sg basta pegar nisso? (falo no que respeita as eleições)Não a mal :D, assim poderemos ajudar todos. Share this post Link to post Share on other sites
Paradox 852 Posted July 28, 2013 Boas já tentas-te garimpar os novos minerios? e metes os minerios nos items... nunca testei mas disseram que havia bug Share this post Link to post Share on other sites
Hadak 31 Posted July 28, 2013 alguem me pode ajudar quanto a isto? dou+1 a quem me ajudar Share this post Link to post Share on other sites
Wolvarinhas 107 Posted July 28, 2013 (edited) Obrigado por me teres alertado para esse problema, já corrigi, eis a correcção (É necessário Livro da Providência para criar Quest, mas podes sempre retirar essa parte da quest) quest guild_building begin state start begin --[[when guild_man1.chat."GM:Registo." or guild_man2.chat."GM:Registo." or guild_man3.chat."GM:Registo." with pc.is_gm() begin say_title("Guarda da Praça") say("") ----"12345678901234567890123456789012345678901234567890"| say("Coloca o nome do utilizador da qual procuras") say("informação.") say("") say("") local u_name = input() local u_vid=find_pc_by_name(u_name) if u_vid==0 then say_title("Este utilizador não existe.") say(u_name) return end local old_vid = pc.select(u_vid) u_withdrawTime=pc.getqf("new_withdraw_time") u_withdrawTime=pc.getqf("new_withdraw_time") pc.select(old_vid) withdrawDelay=game.get_event_flag("guild_withdraw_delay") disbandDelay=game.get_event_flag("guild_disband_delay") say_title("Guarda da Praça") say("") ----"12345678901234567890123456789012345678901234567890"| say("Verifica a Data mais Recente para Registo.") say("") if u_withdrawTime&--#62;0 then say("Tempo deduzido: "..time_to_str(u_withdrawTime)) say("Tempo Restante: ".. withdrawDelay..": Dia)") say("") end if u_disbandTime&--#62;0 then say("Tempo para Desintegrar: "..time_to_str(u_disbandTime)) say("(Tempo Restante: ".. disbandDelay.." Dia)") say("") end local retryTime1 = u_withdrawTime + withdrawDelay*86400 local retryTime2 = u_withdrawTime + disbandDelay*86400 local retryTime = 0 if retryTime1 &--#62; retryTime2 then retryTime = retryTime1 else retryTime = retryTime2 end local curTime = get_time() if curTime &--#60; retryTime then say("Próxima possibilidade para tentar novamente: "..time_to_str(retryTime)) say("(Tempo Restante: "..((retryTime-curTime)/3600).." horas)") say("") if is_test_server() then local s=select("Adaptação Directa", "Fechar") if s==1 then local old_vid = pc.select(u_vid) local curTime=get_time() pc.setqf("new_withdraw_time", curTime-withdrawDelay*86400) pc.setqf("new_withdraw_time", curTime-disbandDelay*86400) pc.select(old_vid) end end else say("Registo Directo Possível."); say("") end end when guild_man1.chat."GM: Ver variáveis de Guilds" or guild_man2.chat."GM: Ver variáveis de Guilds" or guild_man3.chat."GM: Ver variáveis de Guilds" with pc.is_gm() begin test_chat("pc.has_guild: "..bool_to_str(pc.has_guild())) test_chat("pc.is_guildmaster: "..bool_to_str(pc.isguildmaster())) test_chat("pc.empire: "..pc.empire) test_chat("npc.empire: "..npc.empire) end --]] when guild_man1.chat."Sair da Guild" or guild_man2.chat."Sair da Guild" or guild_man3.chat."Sair da Guild" with pc.hasguild() and not pc.isguildmaster() and (pc.is_gm() or npc.empire == pc.empire) begin -- ?? say_title("Guarda:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Queres mesmo sair da Guild onde estás?? Eu") say("que apenas irás perder amigos dessa maneira.") say("") say("Mas a decisão é tua, sempre queres sair?") say("this guild?") say("") local s = select("Sim", "Não") if s==1 then say_title("Guarda da Praça:") say("") say("Ok.") say("") say("Vou-te te tirar da lista.") say("") pc.remove_from_guild() pc.setqf("new_withdraw_time",get_global_time()) end end when guild_man1.chat."Desfazer Guild" or guild_man2.chat."Desfazer Guild" or guild_man3.chat."Desfazer Guild" with pc.hasguild() and pc.isguildmaster() and (pc.is_gm() or npc.empire == pc.empire) begin -- ?? say_title("Guarda da Praça:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("O Quê? say("[DELAY value;150] [/DELAY]") say("Criamos a Guild com tanto esforço e agora queres") say("desintegra-la? Todas as experiências e aventuras") say("que tiveste com os teus amigos vão ser desaparecidas") say("") say("Queres mesmo desintegrar a Guild?") say("") local s = select("Sim", "Não") if s==1 then say_title("Guarda da Praça") say("") say("Ok.") say("") say("Vou agora mesmo acabar com a Guild.") say("") pc.destroy_guild() pc.setqf("new_disband_time", get_global_time()) pc.setqf("new_withdraw_time", get_global_time()) end end when guild_man1.chat."Criar Nova Guild" or guild_man2.chat."Criar Nova Guild" or guild_man3.chat."Criar Nova Guild" with not pc.hasguild() and pc.level &--#62;= 40 begin ----with (pc.is_gm() or npc.empire == pc.empire) -------------------------------------------------------------- local level_limit; local guild_create_item level_limit = 40 guild_create_item = false ----------------------------------------------------------------------- if pc.hasguild() then say_title("Guarda:") say("") say("Não podes criar uma Guild quando já pertences") say("a uma!") say("") return end if game.get_event_flag("guild_withdraw_delay")*86400 &--#62; get_global_time() - pc.getqf("new_withdraw_time") then say_title("Guarda:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Tens que esperar pelo menos 24horas para") say("criares uma Guild nova.") say(string.format("", game.get_event_flag("guild_withdraw_delay"))) return end if game.get_event_flag("guild_disband_delay")*86400 &--#62; get_global_time() - pc.getqf("new_withdraw_time") then say_title("Guarda:") say("") say("Tu recentemente desintegras-te uma Guild!") say("") say("Nas próximas 24horas não poderás criar outra.") say(string.format("", game.get_event_flag("guild_disband_delay"))) return end say_title("Guarda:") say("") say("Queres estabelecer uma Guild?") say("") say("Criar uma Guild custa 3KK de Gold e um nível") say("igual ou superior a 60") say("") say("Queres mesmo criar uma Guild?") say("") local s = select("Sim", "Não") if s == 2 then return end if pc.level &--#62;= 60 then if pc.gold &--#62;= 3000000 then-- pc.remove_item(70101) if not guild_create_item or pc.countitem(guild_create_item)&--#62;0 then game.request_make_guild() end-- if pc.countitem(70101)&--#62;0 then-- pc.remove_item(guild_create_item)-- game.request_make_guild()-- else-- say_title("Guarda da Praça")-- say("") ----"12345678901234567890123456789012345678901234567890"|-- say("Se queres criar uma Guild tens que ter,")-- say("o livro da Providência.")-- say("")-- say_item_vnum(70101)------ end else say_title("Guarda:") say("") ----"12345678901234567890123456789012345678901234567890"| say("Não tens dinheiro suficiente!") say("") return end else say_title("Guarda:") say("") ----"12345678901234567890123456789012345678901234567890"| say("O teu nível é baixo para criar uma Guild.") say("") end end endendCumprimentos, se tiveres mais avisa :D Não percebi a parte do eu ter mencionado o tópico xD Boas gostava de saber se essa quest e o script do 11000 tp e que o red e o amarelo esta bugado mas nao sei o script para corrigir entao pensei nas traduçoes hot (A primeiro da parte das traduçoes) e coloquei la mas o unico problema e que gostava de retirar o "Tens de esperar um dia..." Toma ai o script ainda tou aprendendo a linguagem c e c++ Script: local level_limit ; local guild_create_item if get_locale ( ) == "euckr" then level_limit = 40 guild_create_item = false else level_limit = 40 guild_create_item = false end if pc . hasguild ( ) then return end if game . get_event_flag ( "guild_withdraw_delay" ) * 86400 &--#62; get_global_time ( ) - pc . getqf ( "new_withdraw_time" ) then say ( string . format ( "Para criares Guild, tens de esperar 1 dia..." , game . get_event_flag ( "guild_withdraw_delay" ) ) ) return end if game . get_event_flag ( "guild_disband_delay" ) * 86400 &--#62; get_global_time ( ) - pc . getqf ( "new_disband_time" ) then say ( string . format ( "Para criares Guild, tens de esperar 1 dia..." , game . get_event_flag ( "guild_disband_delay" ) ) ) return end say ( locale . guild . create_confirm ) local s = select ( "Sim" , "Não" ) if s == 2 then return end if pc . level &--#62;= level_limit then if pc . gold &--#62;= 200000 then if not guild_create_item or pc . countitem ( guild_create_item ) &--#62; 0 then game . request_make_guild ( ) else say ( "Necessitas do Livro da Providencia para poderes criar guild!" ) end else say ( "Necessitas de Yang para poderes criar guild!" ) end else say ( "Necessitas de Lv:40 para poderes criar guild!" ) end PS: tentei retirar o if game . get_event_flag ( "guild_withdraw_delay" ) * 86400 &--#62; get_global_time ( ) - pc . getqf ( "new_withdraw_time" ) then say ( string . format ( "Para criares Guild, tens de esperar 1 dia..." , game . get_event_flag ( "guild_withdraw_delay" ) ) ) return end if game . get_event_flag ( "guild_disband_delay" ) * 86400 &--#62; get_global_time ( ) - pc . getqf ( "new_disband_time" ) then say ( string . format ( "Para criares Guild, tens de esperar 1 dia..." , game . get_event_flag ( "guild_disband_delay" ) ) ) return end e nao funcionou porque fica umas barras pretas em cima e em baixo como se tivesse bugado e nao cria (Desculpa a caligrafia escrevo muito rapido e nao dame tempo para por acentos e isso XD) Edited July 28, 2013 by PuPyFoRcE (see edit history) Share this post Link to post Share on other sites
Zeraw 144 Posted July 28, 2013 Realmente não percebi muito bem o que quiseste dizer, mas para não estares a mexer na quest, e não tenho muito tempo para te explicar o que deves tirar/colocar fazes o seguinte, onde tens: ("guild_withdraw_delay")*86400Sendo que "guild_withdraw_delay" = 1Segundo, alterar o *86400, 86400segundos 24horas, fazes tipo("guild_withdraw_delay")*1assim só tens que esperar 1 segundo.Depois é só retirares o texto - Ficando assimsay ( string . format ( "" , game . get_event_flag ( "guild_withdraw_delay" ) ) )Quest usam linguagem LUA e não C ou C++ Share this post Link to post Share on other sites
Wolvarinhas 107 Posted July 28, 2013 Thasks pois tirando o tempo para ficar 1 segundo nao vai bugarNunca tinha pensado nissa brigado Share this post Link to post Share on other sites
SINVAL o.O 728 Posted July 28, 2013 1seg se o servidor tiver muita gente muitas guilds e se muita gente ficar criando e fechando guild direto pode causar muitos erros no syserr causando desligamento do server, recomendo por uns 1 hora pra não acontecer engraçadinhos que fica lá cria fecha, cria fecha. Share this post Link to post Share on other sites
Wolvarinhas 107 Posted July 28, 2013 UMMM ok metemos uma hora1hora igual e 90m entao vou colocar texto so para nao enganar Share this post Link to post Share on other sites
Zeraw 144 Posted July 28, 2013 UMMM ok metemos uma hora1hora igual e 90m entao vou colocar texto so para nao enganarAtenção 1hora = 60min e não 90 isso é 1:30h Share this post Link to post Share on other sites
Wolvarinhas 107 Posted July 28, 2013 Ha pois deixa agora ja pus aseguir modifico Share this post Link to post Share on other sites