antiblock
diamwall
  • Chatbox

    You don't have permission to chat.
    Load More
Sign in to follow this  
Zeraw

Discussão Serverfiles Invoice

45 posts in this topic

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
antiblock
https://i.imgur.com/aJ17bf7.gif

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

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		endend
Cumprimentos, 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

[*]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

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

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

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

alguem me pode ajudar quanto a isto? Imagem colocada

dou+1 a quem me ajudar

Share this post


Link to post
Share on other sites

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		endend
Cumprimentos, 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 by PuPyFoRcE (see edit history)

Share this post


Link to post
Share on other sites

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")*86400
Sendo que "guild_withdraw_delay" = 1Segundo, alterar o *86400, 86400segundos 24horas, fazes tipo
("guild_withdraw_delay")*1
assim só tens que esperar 1 segundo.Depois é só retirares o texto - Ficando assim
say ( 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

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

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

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

UMMM ok metemos uma hora1hora igual e 90m entao vou colocar texto so para nao enganar

Atenção 1hora = 60min e não 90 isso é 1:30h

Share this post


Link to post
Share on other sites

Ha pois deixa agora ja pus aseguir modifico

Share this post


Link to post
Share on other sites
Sign in to follow this