Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/09/16 em todas áreas
-
Item Editor 10.94
Administrador e 2 outros reagiu a Sirarcken por um tópico no fórum
3 pontos -
[DxP] Exclusivo Poketibia OpenSource
Drk Shadow e 2 outros reagiu a Taiger por um tópico no fórum
Tópico atualizado com a segunda source, possivelmente mais atualizada. Espero que a galera contribua e não fiquem só no sangue-suga.3 pontos -
[DxP] Exclusivo Poketibia OpenSource
Justiceiro751 e 2 outros reagiu a kttallan por um tópico no fórum
@Taiger Se você quizer, sexta-feira, quando fizer a edição referente a lua, eu crio um novo topico e compartilhando todo meu conhecimento referente ao servidor, como adicionar pokemons, open code, storages e tudo mais.3 pontos -
[DxP] Exclusivo Poketibia OpenSource
Punchlines Nemmo e 2 outros reagiu a Administrador por um tópico no fórum
Um recadinho pros que não tem coragem de mostrar a cara e ficam acusando sem provas: se não sabe fazer melhor, pelo menos tente. Mas não venha com atitudes infantis.3 pontos -
[DxP] Exclusivo Poketibia OpenSource
Josegvb e 2 outros reagiu a Drakopoulos por um tópico no fórum
Sim, arrumei.. Abre normal. Mais tarde posto a correção pra mysql (site) e sqlite (account manager).3 pontos -
Projeto pokémon online, conheça!
InsanityA e um outro reagiu a Administrador por um tópico no fórum
PROJETOS PATROCINADOS - POKÉMON ONLINE Venha conferir o projeto Pokémon Online, o novo projeto patrocinado do Xtibia. Gerenciado pelo membro @Tony Araujo, este projeto promete trazer inovações ao munto poketibia. O servidor terá sua experiência baseada no antigo SvkE, porém, será por estágios, tendo o seu primeiro iniciado por 2x, além de possuir vários sistemas que ainda depois de tanto tempo nunca fora criado algo parecido. Veja alguns deles: Tv System Wild Pokemons Passives Party System ou Partner Duel System Effective System Fly System Quer saber como estes sistemas funcionam? Acesse o tópico de apresentação do projeto e acompanhe o desenvolvimento deste. Te vejo lá!2 pontos -
[DxP] Exclusivo Poketibia OpenSource
Drk Shadow e um outro reagiu a Lenhador por um tópico no fórum
amigo, não sei se devo mas acho que vou "falar", vocês querem tudo na mão, no forum tem basicamente quase todos os sistemas que vocês pedem, coisas simples coisas fáceis de se conseguir, oque custa procurar antes de perguntar? esse tópico aqui já não é mais sobre o servidor postado em si, e sim sobre todos os erros e dificuldades das pessoas com preguiça de procurar as coisas.2 pontos -
[DxP] Exclusivo Poketibia OpenSource
Administrador e um outro reagiu a StyloMaldoso por um tópico no fórum
sendcancel? -PS: liberarei o codigo de ditto memory, porém so funciona se tiver opcode nas soure do server (no meu caso, tem) final de semana posto pra vocês, beijos!2 pontos -
[DxP] Exclusivo Poketibia OpenSource
Justiceiro751 e um outro reagiu a Taiger por um tópico no fórum
Galera acabei de chegar do serviço, estou ativando meu kaspersky para dar uma limpa na outra source que tenho aqui e ja posto ela, pelo que eu vi ela é mais atualizada que a postada.2 pontos -
[DxP] Exclusivo Poketibia OpenSource
Justiceiro751 e um outro reagiu a Josegvb por um tópico no fórum
haha nos sistemas de lua tem varios erros especialmente nos scripts dos helds irei citar alguns rapidinhos aqui: X-Block : sua funçao é blocar COMPLETAMENTE o dano do ataque inimigo das habilidades q irao ser usadas neles, com porcetagem para ser ativado obviamente, e cada vez que for blocado mandar uma messagem falando BLOCK, ele esta mandando a messagem porem nao esta blocando o dano X-Return: ele esta devolvendo o dano porem o jeito de devolver esta muito estranho, paresce q ele tem cooldown pois as veces ele deixa de devolver o dano e quando o bixo inimigo chega na hp 1 ele nao devolve + o dano aqui podem ver ele NAO devolve o dano do fire blast: e aqui ele para de devolver dano qndo o bixo fica em 1 hp nem sei se voces gostariam de eu procurar mais coisas assim ou é inutil sla...2 pontos -
Conteúdo: Imagens Mapa não incluso Downloads: Removendo Bugs de itens (como order, fishing, etc) Sistemas feitos para o PDE: Tutoriais feitos para o PDE: Bugs reportados:1 ponto
-
Exclusivo! PokeTibia DxP OpenSource praticamente completo com sistemas e funções nunca liberados. ATENÇÃO: Não dou suporte, apenas estou disponibilizando o server para quem quiser continua-lo ou pegar os sistemas. Se alguns grandes aqui do xtibia quiserem ajudar nos bugs fiquem a vontade, pois este server é praticamente completo, com funções e sistemas nas sources, acho que nunca liberados para o publico. Aconselho a trocarem o mapa ou criarem outro por que não testei o mesmo, e não sei se há bugs ou armadilhas. • Menu: ├ Informações; ├ Bugs; ├ Prints; ├ Download; └ Créditos. • Informações Basicas • • Duel System. • Nick System. • TV System. • Autoloot System. • Block Respaw System. • Mega Evolução Ssystem. • Auto Stacking System. • Player passa por dentro de outros Players(Não sei o nome deste sistema kk). • Ditto Memory System. • Player pode usar potions, revive, soltar poke andando sem parar. • Limite de efeitos aumentados nas sources até 380(Podendo aumentar muito mais) • Transparência. • Cliente criptografado(Acompanha OBD único para o cliente). • Sistemas básicos como fly, ride, surf, order etc. • Held System(Não tem todos, falta fazer alguns, ja tem o x-luck). • Fishing trocando o outfit automaticamente. • Icone System. • Varias Pokeballs novas. • Task System. • Guild System. E muito+, não testei o servidor todo. podem ter sistemas no server que eu esqueci de colocar aqui na lista. Conta ADM: 222/222 • Bugs • Irei postar os que eu sei, podem haver mais. • Pode soltar mais de 1 poke ao mesmo tempo. • Botão que abre os chats tipo help, trade etc, não esta funcionando. • Não da para criar conta nem char(Provavelmente o programador colocou nas sources como proteção, alguem com conhecimento em programação pode resolver). • Tem um código nas sources, segundo fontes, em game.cpp que caso alguém coloque o servidor online o programador do server pode derrubá-lo(Outra coisa para um programador rever). • Fly anda travando, no chão voa normal, somente nos andares acima acontece isso, deve ser alguma config. • Gym System não esta funcionando. Bem, são os que eu sei, tem que dar uma revisada geral. • Prints • • Mega Evolução • Ditto Memory. • TV System. • Auto Loot System. • Block Respaw System. • Irei colocar mais prints em breve(Estou com pouco tempo agora). • Downloads • • Server; >>Download<< >>Scan<< • Server Sources; >>Download<< >>Scan<< • Server Sources 2; >>Download<< >>Scan<< • Cliente: >>Download<< >>Scan<< • Cliente Sources; >>Download<< >>Scan<< • Object Builder; >>Download<< >>Scan<< • Site Java; >>Download<< >>Scan<< • Patch de correção V1 DXP By kttallan >>Download<< >>Scan<< Para instalar o patch V1 by Kttallan basta estrair o arquivo, copiar a pasta data que vem nele e colar na pasta principal do server DXP, clicando em SIM para subistituir todos os arquivos que forem pedidos. Créditos; Kttallan Atualização V2. Correção bug fly by Drakopoulos: >>Download<< >>Scan<< Extraia o arquivo na pasta do server e subistitua o que for pedido. Distro/Executavel sem o código de derrubar o server em game.cpp. >>Download<< >>Scan<< • Atualização V3 Completo• >>DxP Server V3<< >>Scan<< >>Source V3<< >>Scan<< >>Cliente V3<< >>Scan<< >>WebSite<< >>Scan<< Bugs corrigidos na V3: *Portraits não podem mais ser movidos. *Icones usados não podem mais ser movidos. *Poke não morre mais ao entrar em um teleport. *Source atualizada sem o código de derrubar o server. *Portas das houses corrigidas. *Cliente agora é normal, não precisa descompilar para usar o OBD.(Podem usar o OBD normal agora). *HeadButt corrigido.(falta adicionar os pokes na tabela specialabilities em configuration.lua da pasta lib). *Double team e shared Team corrigidos parcialmente.(ainda contem alguns bugs). *Adicionei algumas sprs do cp que faltavam, e subistitui algumas com transparencia.(Deixei o cp de saffron igual pxg como exemplo, esta sem teto kk). Alguns antivirus detectam virus, possiveis dlls não reconhecidas, baixem por sua conta em risco, não estou obrigando ninguem a baixar, estou trabalhando no server e nao tive problemas. Caso tenham problemas na descompactação dos arquivos utilizem o 7zip, compactador que utilizei. • Créditos • •CipSoft •Nintendo •TFS Team •Dark X Poke •PXG •Tom Lukz (Smix) •Allan Harlen (Kttallan/lordsorte) •Eduardo Meskita (FuuinFake) •Noninhouh •Tony Araujo •Taiger/Dudu •Drakopoulos •Justiceiro751 E a todos que tiveram alguma participação em sistemas, server, site, cliente etc. Se estiver faltando algo como créditos, má formatação etc, por favor me avisem, é meu primeiro post de server.1 ponto
-
Olá! Eu estava ajudando um cara com um task system , ele disse que pegou na net, mas as alterações que ele queria eu tive que refazer algumas partes do sistemas! Testei e funcionou perfeitamente! Funciona com Poketibia e Tibia! Vamos deixar de enrolação e adicionar o sistema! Lembrando também que funciona com tfs 0.3.6 e tfs 0.4! Não testei com tfs 1.x mas acho que não funciona. Vá em creaturescripts.xml e adicione isso: <event type="kill" name="KillTask" event="script" value="task.lua"/> No login.lua adiciona isso com os demais: registerCreatureEvent(cid, "KillTask") Agora crie um arquivo chamado task.lua e adicione isso: local tasksss = { [1] = {name = "Blastoise", sto = 10212, count = 3, time_sto = 5457, time = 1*24*60*60, sto_count = 14129, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."}, [2] = {name = "Charizard", sto = 10213, count = 5, time_sto = 5458, time = 1*24*60*60, sto_count = 14130, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."},}function onKill(cid, target) for _, t in ipairs(tasksss) do local total_count = t.count local m_sto = t.sto local count_sto = t.sto_count if getPlayerStorageValue(cid, m_sto) ~= -1 then if getCreatureName(target) == t.name then if (total_count - getPlayerStorageValue(cid, count_sto)) == 1 then setPlayerStorageValue(cid, count_sto, getPlayerStorageValue(cid, count_sto) + 1) doPlayerSendTextMessage(cid, 20, "You are killed ".. getPlayerStorageValue(cid, count_sto) .." " .. t.name .. " and finished the task!") return true elseif (total_count - getPlayerStorageValue(cid, count_sto)) >= 1 then setPlayerStorageValue(cid, count_sto, getPlayerStorageValue(cid, count_sto) + 1) doPlayerSendTextMessage(cid, 20, "You are killed ".. getPlayerStorageValue(cid, count_sto) .." of ".. total_count .." " .. t.name .. " kills to finish the task.") return true end end end end return trueend Agora vá em npc/scripts e crie um arquivo chamado task.lua e adicione isso: local tasksss = { [1] = {name = "Blastoise", sto = 10212, count = 3, time_sto = 5457, time = 1*24*60*60, sto_count = 14129, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."}, [2] = {name = "Charizard", sto = 10213, count = 5, time_sto = 5458, time = 1*24*60*60, sto_count = 14130, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."},}local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid value = -1 for i = 1, #tasksss do if msgcontains(msg, tasksss[i].name) and not value ~= -1 then value = i end end if value == -1 then selfSay('I don\'t have a this task!', cid) talkState[talkUser] = 0 return true end local configss = tasksss[value] local name = configss.name local m_sto = configss.sto local time_sto = configss.time_sto local count_sto = configss.sto_count local total_count = configss.count local rest = total_count - getPlayerStorageValue(cid, count_sto) if getPlayerStorageValue(cid, time_sto) < os.time() then -- verifica se o player ainda está no prazo if getPlayerStorageValue(cid, m_sto) <= 0 then -- verifica se o player não pegou está task selfSay('Ready! Now you need kill a '.. total_count .. ' '.. name .. '!', cid) setPlayerStorageValue(cid, m_sto, 1) setPlayerStorageValue(cid, total_count, 0) talkState[talkUser] = 0 else if rest <= 0 then -- Verifica se o player matou todos os monstros nescessários doPlayerAddItem(cid, configss.rewardid, configss.rewardcount) setPlayerStorageValue(cid, count_sto, 0) setPlayerStorageValue(cid, m_sto, -1) setPlayerStorageValue(cid, time_sto, os.time() + configss.time) doPlayerAddExperience(cid, configss.rewardexp) doSendAnimatedText(getCreaturePosition(cid), configss.rewardexp, 215) selfSay(configss.text, cid) talkState[talkUser] = 0 else selfSay('You need to kill '..rest..' '..name..' to gain a reward.', cid) talkState[talkUser] = 0 end end else selfSay('You already did this task, player. Wait '..math.ceil((getPlayerStorageValue(cid, time_sto) - os.time())/(60*60))..' hours to do it again.', cid) talkState[talkUser] = 0 endendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Pronto, agora volte para a pasta npc e crie um novo arquivo .xml chamado de Task e adicione isso lá: <?xml version="1.0" encoding="UTF-8"?><npc name="Npc Nome" script="task.lua" walkinterval="350000" floorchange="0" speed="0"> <health now="150" max="150"/> <look type="369" head="91" body="102" legs="83" feet="0"/> <parameters> <parameter key="message_greet" value="You want gain a task of {Blastoise}?"/> </parameters></npc> Pronto, agora o sistema de task está funcionando, e para adicionar um novo monstro pra fazer a task? Basta editar a tabela, mas não esqueça que tem que atualizar a tabela nos 2 scripts .lua !! local tasksss = { [1] = {name = "Blastoise", sto = 10212, count = 3, time_sto = 5457, time = 1*24*60*60, sto_count = 14129, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."}, [2] = {name = "Charizard", sto = 10213, count = 5, time_sto = 5458, time = 1*24*60*60, sto_count = 14130, money = 100, rewardid = 7621, rewardcount = 100, rewardexp = 10000, text = "Congratulations! You finished this task. In 24h, you will be able to do it again."},} Para configurar siga as seguintes instruções: Modificações da versão 2.0: Corrigido bug de apenas o primeiro monstro configurado funcionava, agora todos configurados funcionam! Quando player fala qual quer coisa que não seja o nome do monstro, diz que não tem aquela task! Modificado modo de contagem de kill, agora monstra quantos você matou e o total que precisa matar, quando mata o ultimo monstro, aparece a mensagem que terminou a task! Créditos: Criador @miguel223 Drazyn1291 -- Editei e reformulei muita coisa! Adicionei coisas como a contagem que falta ao matar os monstros, editei pra fazer a task apenas se o player falar com o NPC e outras coisas!1 ponto
-
Sprite Feita Por min!! Notas e Criticas!! Frente: http://prntscr.com/b82ush Costas: http://prntscr.com/b82uvj1 ponto
-
Estou fazendo testes aqui. Drakopoulos corrigiu chars e db para site. Terminando aqui eu atualizo o tópico. @Josegvb Kttallan abrira um tópico com o server em .lua sem as sources. Este aqui tem elas e por isso só fecharei quando os bugs relacionados a ela forem resolvidos.1 ponto
-
Só adicionei a nova source, a antiga ainda esta la. Baixa a source21 ponto
-
Irei fazer isso já que vazou o servidor do DxP, vou ajudar com o meu conhecimento (Como disse antes, não vou disponibilizar a versão sem bugs que tenho devido que está sendo usado em um projeto privado, vou postar os erros que conheço e foram consertados em lua).1 ponto
-
[DxP] Exclusivo Poketibia OpenSource
Administrador reagiu a kttallan por um tópico no fórum
Oque isso muda é só abrir o creaturescript.cpp e creaturescript.h e copiar o codigo. parabéns você descobriu o mundo, como meu caro amigo smix diz é um caso serio. REP+ Pela criatividade.1 ponto -
[DxP] Exclusivo Poketibia OpenSource
Drk Shadow reagiu a Taiger por um tópico no fórum
@Eskylo Deve estar faltando alguma lib no seu dv pois eu compilei as sources e o arquivo ficou somente com 10kb a menos que o original. Logo postarei a outra source, estou resolvendo umas coisas aqui.1 ponto -
um problema feio é estar geral se ajudando e tem gente com uma rédia que só olha pra si..1 ponto
-
[DxP] Exclusivo Poketibia OpenSource
Drk Shadow reagiu a StyloMaldoso por um tópico no fórum
kttallan "não da pra retirar sistemas desse servidore, ele tem proteção que só faz funciona no dxp"1 ponto -
[DxP] Exclusivo Poketibia OpenSource
Administrador reagiu a StyloMaldoso por um tópico no fórum
Logico que você tem que da a atenção a esse projeto, afinal..ele que ta movimentando o xtibia ultimamente hahah! servidores derivados tens os dom de colocar a comunidade a trabalhar junto rs. sobre o topico.. a Source do OTC é a atual do client posto pra dowload? obg1 ponto -
[DxP] Exclusivo Poketibia OpenSource
Administrador reagiu a Justiceiro751 por um tópico no fórum
#Report Bug: Estive fazendo alguns teste no servidor e acabei me deparando um um bug, ao estar capturando 6 pokémons os mesmo estão indo normalmente para bag, porem ao capturar o 7 pokémon, o mesmo não vai para o Deposit Chest, alguém teria a solução ou é somente em minha residência este tipo de problema ?1 ponto -
getCreatureLookDirection(cid)1 ponto
-
A maneira correta é bem melhor, e não é tão dificil, é extretamente similar ao cast system, tu transforma a instancia do protocolgame no player em um vetor, onde uma posição determinada, tipo "front", será o player principal, dai replica os demais pacotes para o player que esta assistindo, porém na hora de "conectar" precisa de alguns detalhes, que é enviar o map descriptions, No caso do tv system, a diferença maior é que existem dois players ao mesmo tempo, um enviando a imagem e outro com coisas como chat e etc, ai precisa apenas ajusta os pacotes nesse sentido, determinando quais devem ou não ser aceitos(enviados ou recebidos) e por quem. Não é um sistema trivial, mas da pra ser feito1 ponto
-
[DxP] Exclusivo Poketibia OpenSource
Drakopoulos reagiu a kttallan por um tópico no fórum
O gruop do ADM não é 6 é 15. Ou seja /attr group 6 (É GM) /attr group 15(ADM)1 ponto -
[DxP] Exclusivo Poketibia OpenSource
Justiceiro751 reagiu a Josegvb por um tópico no fórum
isso 'e s'o com char ADM, chars normais tem cooldowns1 ponto -
ainda não vi o bghl que vc ia liberar.... cade? e ainda n foi consertado o do mais de um poke, ou foi?1 ponto
-
Ajuda com npc
carlinhoo0ww reagiu a Danihcv por uma questão
@carlinhoo0ww, tente mudar o aqruivo .lua desse npc pro seguinte: A parte em vermelho é a parte pra vc configurar a mensagem de boas vindas do npc. As partes em verde são o que eu adicionei.1 ponto -
XML Organizado
Ryukiimaru reagiu a Tony Araujo por um tópico no fórum
Fala ae pessoa, hoje eu vim trazer novamente a idéia de um xml organizado. Bom, como alguns sabem eu postei essa ideia ano passado mostrando como organizar um XML para ficar mais fácil, limpes e bonito de para possíveis edições, além de evitar um monte de trabalho desnecessário de configurações em tabelas, dentre outros. Vou postar aqui um exemplo de como está o meu XML, não reparem as configurações presentes nele porém, é apenas uma demonstração. Espero que gostem, pode ajudar a muitos. Lembrando, esta XML é para ser usada para selvagens e capturados. <?xml version="1.0" encoding="UTF-8"?><monster name="Pidgey" experience="216" speed="100"> <health base="1200" gain="30"/> <look type="30" corpse="5961" typeShiny="42" corpseShiny="5822"/> <pokemon> <poke description="A strange seed was planted on its back at birth. The plant sprouts and grows with this Pokemon."/> <poke chance="20"/> <poke type="Grass, Poison"/> <poke portrait="2377"/> <poke portraitShiny="1222"/> <poke level="20"/> <poke agressive="1"/> </pokemon> <effectiveness> <eff effective="ice,flying,psychic"/> <eff normal="poison,bug,rock,ghost,fire"/> <eff ineffective="water,electric,fighting,earth"/> <eff null="grass"/> </effectiveness> <abilities> <hability name="cut"/> <hability name="fly" outfit="123" speed="100"/> </abilities> <evolutions> <newEvo name="Ivysaur" stone1="2276" level="40"/> </evolutions> <moves> <move name="melee" cooldown="2" chance="100" range="1" power="1"/> <move name="Tri Flames" cooldown="2" level="20" power="10" chance="30" type="normal" icoOn="3" icoOff="4"/> </moves> <loot> <item name="straw" countmax="6" chance="100000"/> <item name="feather" countmax="1" chance="30000"/> </loot></monster>1 ponto -
[DxP] Exclusivo Poketibia OpenSource
VanderleyJun reagiu a kttallan por um tópico no fórum
Ai é por sua conta, baixe o patch acima que disponibilizei pois lá eu corrigi alguns erros referente aos moves. Outros bugs só nas sources e não vou citar vou deixar por conta de vocês. Brinde: game.cpp tem um bagzin lá dá uma olhada Rep ai que ne de graça não.1 ponto -
1 - Player criado sem itens. R: Use site Mysql e edite o sample colocando esses itens nele. 2 - Autoloot não funcionando, Você tem que setar a storage no player pode usar o onLogin ou Manualmente R: /storage PlayerName, 20025, true Abra seu data e cole tudo dessa pasta lá, tem alguns bugs referente a moves e attributos consertados, por fim não encham minha caixa posta com besteira eu já disse que não iria ajudar/postar o servidor que tenho pois não é mais minha propriedade, só estou ajudando devido a grande insistencia e que tou vendo vocês correndo atrás e não esperando.. Link http://www.mediafire.com/download/ae5ce4yqyar2rkd/DxP+-+Server(2).rar1 ponto
-
Link para download: http://www.4shared.com/rar/HF_zeShg/DLL_CRACK_ELFBOT_86_elf-bot-ng.htmlPara crackear seu bot basta colocar esse arquivo dentro da pasta fonte do elfbot e subistituir pela dll antiga.A pasta geralmente fica em meu computador -> disco local -> arquivos de programas -> elfbotOu o nome ou o destino que você colocou.1 ponto
-
Boa noite galera, Estou a alguns dias tentando resolver um problema que tive com o OTC: ao usar a função doCreatureSetHideHealth simplesmente o player trava e não consegue fazer nada até o hidehealth ser desfeito. Isso ocorre porque, na source do OTC, a declaração de morte é feita baseada em porcentagem de vida e essa inexiste quando o hideHealth é acionado, somente a vida total e a vida máxima é que continuam com valores relevantes. Então, o OTC simplesmente te considera como um morto vivo quando você usa hideHealth e você não pode realizar nenhuma ação no jogo a não ser deslogar. Após alguns dias fuçando consegui finalmente resolver o problema e vim compartilhar a solução com vocês. 1) Na source do seu OTC vá em creatures.cpp. Crie as funções abaixo: double Creature::getLocalPlayerHealth() { return g_game.getLocalPlayer()->getHealth(); } bool Creature::isDead() { if (!isLocalPlayer()) return m_healthPercent <= 0; double m_health = getLocalPlayerHealth(); return m_health <= 0; } Substitua: if(m_healthPercent < 1) // creature is dead return; por if(m_healthPercent < 1) // creature is dead if (!isLocalPlayer()) return; 2) Vá em creature.h e troque a declaração da função isDead() por: bool isDead(); 3) Em game.cpp troque a função proccessDeath por: void Game::processDeath(int deathType, int penality) { if (m_localPlayer->getHealth() > 0){ m_dead = true; m_localPlayer->stopWalk(); g_lua.callGlobalField("g_game", "onDeath", deathType, penality); } } Pronto, o seu OTC agora suporta a função doCreatureSetHideHealth (e de bônus você consegue enxergar o seu player com uma barra preta e seu nome, apesar dos outros não te verem). Bom é simples, mas útil espero que ajude. Abraços,1 ponto
-
Comando /attr - TFS 1.x
VictorWEBMaster reagiu a RigBy por um tópico no fórum
Ola, tava dando uma olhada no TFS 1.x e acabei percebendo que não tinha o comando /attr, então tinha decidido recriar, alguns comandos ja tava funcionando mas eu acabei achando esse na internet e resolvi trazer para ca. Exemplo: /attr action, 1231 Então vamos la instalar: Em talkactions/talkactions.xml adicione essa tag: <talkaction words="/attr" separator=" " script="attributes.lua" /> Em talkactions/scripts, crie o arquivo attributes.lua e adicione isso: local itemFunctions = { ["actionid"] = { isActive = true, targetFunction = function (item, target) return item:setActionId(target) end }, ["action"] = { isActive = true, targetFunction = function (item, target) return item:setActionId(target) end }, ["aid"] = { isActive = true, targetFunction = function (item, target) return item:setActionId(target) end }, ["description"] = { isActive = true, targetFunction = function (item, target) return item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, target) end }, ["desc"] = { isActive = true, targetFunction = function (item, target) return item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, target) end }, ["remove"] = { isActive = true, targetFunction = function (item, target) return item:remove() end }, ["decay"] = { isActive = true, targetFunction = function (item, target) return item:decay() end }, ["transform"] = { isActive = true, targetFunction = function (item, target) return item:transform(target) end }, ["clone"] = { isActive = true, targetFunction = function (item, target) return item:clone() end } } local creatureFunctions = { ["health"] = { isActive = true, targetFunction = function (creature, target) return creature:addHealth(target) end }, ["mana"] = { isActive = true, targetFunction = function (creature, target) return creature:addMana(target) end }, ["speed"] = { isActive = true, targetFunction = function (creature, target) return creature:changeSpeed(target) end }, ["droploot"] = { isActive = true, targetFunction = function (creature, target) return creature:setDropLoot(target) end }, ["skull"] = { isActive = true, targetFunction = function (creature, target) return creature:setSkull(target) end }, ["direction"] = { isActive = true, targetFunction = function (creature, target) return creature:setDirection(target) end }, ["maxHealth"] = { isActive = true, targetFunction = function (creature, target) return creature:setMaxHealth(target) end }, ["say"] = { isActive = true, targetFunction = function (creature, target) creature:say(target, TALKTYPE_SAY) end } } local playerFunctions = { ["fyi"] = { isActive = true, targetFunction = function (player, target) return player:popupFYI(target) end }, ["tutorial"] = { isActive = true, targetFunction = function (player, target) return player:sendTutorial(target) end }, ["guildnick"] = { isActive = true, targetFunction = function (player, target) return player:setGuildNick(target) end }, ["group"] = { isActive = true, targetFunction = function (player, target) return player:setGroup(Group(target)) end }, ["vocation"] = { isActive = true, targetFunction = function (player, target) return player:setVocation(Vocation(target)) end }, ["stamina"] = { isActive = true, targetFunction = function (player, target) return player:setStamina(target) end }, ["town"] = { isActive = true, targetFunction = function (player, target) return player:setTown(Town(target)) end }, ["balance"] = { isActive = true, targetFunction = function (player, target) return player:setBankBalance(target + player:getBankBalance()) end }, ["save"] = { isActive = true, targetFunction = function (player, target) return target:save() end }, ["type"] = { isActive = true, targetFunction = function (player, target) return player:setAccountType(target) end }, ["skullTime"] = { isActive = true, targetFunction = function (player, target) return player:setSkullTime(target) end }, ["maxMana"] = { isActive = true, targetFunction = function (player, target) return player:setMaxMana(target) end }, ["addItem"] = { isActive = true, targetFunction = function (player, target) return player:addItem(target, 1) end }, ["removeItem"] = { isActive = true, targetFunction = function (player, target) return player:removeItem(target, 1) end }, ["premium"] = { isActive = true, targetFunction = function (player, target) return player:addPremiumDays(target) end } } function onSay(player, words, param) if(not player:getGroup():getAccess()) or player:getAccountType() < ACCOUNT_TYPE_GOD then return true end if(param == "") then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return false end local position = player:getPosition() position:getNextPosition(player:getDirection(), 1) local split = param:split(",") local itemFunction, creatureFunction, playerFunction = itemFunctions[split[1]], creatureFunctions[split[1]], playerFunctions[split[1]] if(itemFunction and itemFunction.isActive) then local item = Tile(position):getTopVisibleThing(player) if(not item or not item:isItem()) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Item not found.") return false end if(itemFunction.targetFunction(item, split[2])) then position:sendMagicEffect(CONST_ME_MAGIC_GREEN) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You cannot add that attribute to this item.") end elseif(creatureFunction and creatureFunction.isActive) then local creature = Tile(position):getTopCreature() if(not creature or not creature:isCreature()) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Creature not found.") return false end if(creatureFunction.targetFunction(creature, split[2])) then position:sendMagicEffect(CONST_ME_MAGIC_GREEN) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You cannot add that attribute to this creature.") end elseif(playerFunction and playerFunction.isActive) then local targetPlayer = Tile(position):getTopCreature() if(not targetPlayer or not targetPlayer:getPlayer()) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return false end if(playerFunction.targetFunction(targetPlayer, split[2])) then position:sendMagicEffect(CONST_ME_MAGIC_GREEN) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You cannot add that attribute to this player.") end else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Unknow attribute.") end return false end Credito: Darkhaos, por ter adptado para lua WibbenZ, por ter adptado para TFS 1.x1 ponto