Ir para conteúdo
Banner com Efeitos

Pedriinz

Membro
  • Registro em

  • Última visita

Tudo que Pedriinz postou

  1. Ok, vamos descobrir se os pontos de velocidade adicionados, são os que você seta no Items.xml ou se é o que aparece no Jogo. Faça o seguinte: 1) Crie um comando qualquer em talkactions, e coloque em um arquivo novo lua Exemplo: <talkaction words="!check" access="0" script="check.lua"/> 2) Feito isso, adicione o seguinte codigo no arquivo.lua, no caso do exemplo... check.lua. function onSay(cid, words, param) print(getCreatureSpeed(cid)) return true end 3) Agora faça o seguinte, entre em um character qualquer, e NÃO use boh, e utilize o comando, !check. Vá em seu console (executável), e verifique qual o valor que foi mostrado lá, após você ter utilizado o comando. E anote esse numero. 4) Coloque a boh, e realize o mesmo processo. Use o comando !check e veja no console se o numero mudou. 5) Faça as devidas comparações e determine uma conclusão, os pontos adicionados são os que você seta no items.xml ou os que aparece no jogo? Boa sorte, poste aqui se ajudar em algo!
  2. Pedriinz postou uma resposta no tópico em Suporte Tibia OTServer
    Troca o nomes dos monstros para Rat e testa se vai aparecer rat aí, só pra eu saber se é a função. doSummonCreature("rat"...
  3. Fácil. Vou fazê-lo, logo edito com o mesmo. Uma duvida, só pode passar 1x, depois não pode mais? Teste: function onStepIn(cid, pos) local manaRequired = 100 -- Mana que precisa pra funcionar local soulAdd = 10 -- Quantidade de soul que aumenta if getPlayerMana(cid) >= manaRequired then doCreatureAddMana(cid, -100) doPlayerAddSoul(cid, soulAdd) doPlayerSendTextMessage(cid, TALKTYPE_ORANGE, "You soul has been increase in "..soulAdd.." points.") else doPlayerSendCancel(cid, "You dont have mana for this. You need "..manaRequired.. " of mana.") end return true end
  4. Vou tentar explicar da melhor forma possivel, se liga: Quando você põe 100 de ataque, ele determina que o ataque daquela arma é de 100 pontos, correto? A partir do momento que você põe efeito holy nela ou qualquer outro e determina um valor, ele irá retirar esse valor da quantidade de pontos que você colocou no ataque e irá atribuir o dano elemental. Sacou a logica? Se você tem uma arma de 100 de dano, e poe lá no items.xml, 30 de holy, então ele continuará sendo 100 de dano no total, porém 30pontos desse dano será dado em dano elemental. Então se você quer uma espada com 100 de fisico+30 de holy, você deve adicionar 130 no attack, e 30 no holy!
  5. Explica o que você tentou fazer por que tá meio confuso pra mim, desculpe.
  6. Posta o script de change coins.
  7. Troque: price = 1000 por price = 1000000
  8. Pedriinz postou uma resposta no tópico em Suporte Tibia OTServer
    Explique o que você quer detalhadamente. Pois nem todo mundo joga/conhece poketibia. (Meu caso) Não dá pra adivinhar do que se trata. Informações como: "Esse script teria mesma função que o spawn.lua do creatures script ..." wtf
  9. Po cara, utiliza a opção code quando for postar um código, ou coloca ele no pastebin.com Por que só de ver um código postado assim, da até uma broxada para lê-lo. Todavia, dei uma leve olhada na source e gostaria de te perguntar... quando você retira o elemento holy, ele funciona corretamente o atributo "attack" ? Creio ser algo aqui: else if(it.weaponType != WEAPON_AMMO && it.weaponType != WEAPON_WAND) { if(it.attack || it.extraAttack || (item && (item->getAttack() || item->getExtraAttack()))) { begin = false; s << " (Atk:"; if(it.hasAbilities() && it.abilities->elementType != COMBAT_NONE) { s << std::max((int32_t)0, int32_t((item ? item->getAttack() : it.attack) - it.abilities->elementDamage)); if(it.extraAttack || (item && item->getExtraAttack())) s << " " << std::showpos << int32_t(item ? item->getExtraAttack() : it.extraAttack) << std::noshowpos; s << " physical + " << it.abilities->elementDamage << " " << getCombatName(it.abilities->elementType); } else { s << int32_t(item ? item->getAttack() : it.attack); if(it.extraAttack || (item && item->getExtraAttack())) s << " " << std::showpos << int32_t(item ? item->getExtraAttack() : it.extraAttack) << std::noshowpos; } } Me confirme o que perguntei, por favor
  10. Até dá. Porém não consigo pensar em como estruturar isso. Vou tentar pensar em algo, e posto aqui. @EDIT: O máximo que eu consegui pensar agora foi o seguinte: 1) O personagem da guild só poderá entrar se sua guild tiver uma quantidade máxima de membros online. Se passar dessa quantidade então ele não será teleportado para o evento, e não poderá participar. (Configurável) 2) Se o jogador não tem guild, uma mensagem de erro será enviada à ele. PS: Aconselho você à configurar a área do evento como no-logout. Pois isso evitaria de jogadores deslogarem dentro do evento para possibilitar outros entrarem. Feito isso, esse script irá resolver: --################################## --## Code developed by Pedriinz ## --## fb.com/overflaw ## --################################## function onStepIn(cid, pos) local event = {x=32369, y=32227, z=7} -- Posição do Evento local canEnter = 10 -- Quantidade maxima de jogadores online na guild. local playersGuild = getPlayerGuildId(cid) if playersGuild == 0 then doPlayerSendTextMessage(cid, 24, "You need guild for enter here.") return false end local onlineMembers = {} for _, name in ipairs(getOnlinePlayers()) do if getPlayerGuildId(getPlayerByName(name)) == playersGuild then table.insert(onlineMembers, name) end end if #onlineMembers <= canEnter then doTeleportThing(cid, event) else doPlayerSendTextMessage(cid, 24, "Your guild can not Participate because it has many players online! Allowed quantity for this event: " ..canEnter..".") end return true end Espero que sirva
  11. Posta o arquivo completo .cpp e o .h. IOGUILD.cpp e .h e o luascript.cpp
  12. Esse script checa apenas quantos jogadores ONLINE da guild. Se quiser posso tentar fazer algo parecido. Mas isso só vai checar o momento que o jogador estiver online/offline. Se um jogador deslogar pra outro entrar já irá contar... E se ele voltar a logar, ninguém mas vai conseguir entrar Esse é o script de entrar depois de ser invitado, não? Me manda o de invite, posso tentar
  13. Eu editei minha resposta vê aí. Bom o único porém é que eu não sei se existe função que verifique quantos jogadores existem em uma determinada guild... se não tiver teria que editar a sources também...
  14. Bom não consigo ver uma solução plausível em utilizar um movements que permita apenas X membros de uma guild passar. Não consigo pensar em como estruturar um script assim. Mas posso fazer o seguinte por você caso queira: 1) Pra ter permissão para entrar no teleport deste evento, ser necessário o líder da guild registrar a mesma por meio de uma talkaction. 2) E essa talkaction checar, caso a guild tenha mais do que X membros, então não ser possivel registrar a guild para o evento. EDIT: Também posso colocar pro TELEPORT só aceita se a guild do personagem tiver X pessoas.
  15. Sim deve funcionar. Bom qual versão do Debian você está utilizando?
  16. Bom, podemos tentar outra coisa... esse evento do qual você falou... pra participar dele, é necessário utilizar algum comando? Por exemplo o lider da guild tem que registrar a guild ou algo parecido?
  17. Obrigado pela informação! Eu até imaginava isso Poste o ioguild.cpp aqui, eu posso tentar editar isso pra você. EDIT: Sem as sources é impossivel realizar essa modificação.
  18. Pedriinz postou uma resposta no tópico em Suporte Tibia OTServer
    Qual versão desse tfs? O Script me parece correto. Só uma péssima concatenação, talvez o problema seja o nome dos monstros e ele não esteja verificando o nome do monstro corretamente. Eu fiz uma modificação que acredito que não vai mudar nada, mas tente: function onSay(cid, words, param) local mensage1 = "[Evento Dota] Evento Iniciado! Destruam as Torres! quem destruir as 3 Torres primeiro, Ganha!" -- Mensagem Inicial gatepos = {x=530, y=718, z=7, stackpos=1} -- Posição da Pedras 1 getgate = getThingfromPos(gatepos) gatepos11 = {x=530, y=717, z=7, stackpos=1} -- Posição da Pedras 11 getgate11 = getThingfromPos(gatepos11) gatepos12 = {x=530, y=716, z=7, stackpos=1} -- Posição da Pedras 12 getgate12 = getThingfromPos(gatepos12) gatepos13 = {x=530, y=719, z=7, stackpos=1} -- Posição da Pedras 13 getgate13 = getThingfromPos(gatepos13) gatepos14 = {x=530, y=720, z=7, stackpos=1} -- Posição da Pedras 14 getgate14 = getThingfromPos(gatepos14) gatepos2 = {x=446, y=718, z=7, stackpos=1} -- Posição da Pedra 2 getgate2 = getThingfromPos(gatepos2) gatepos21 = {x=446, y=717, z=7, stackpos=1} -- Posição da Pedra 21 getgate21 = getThingfromPos(gatepos21) gatepos22 = {x=446, y=716, z=7, stackpos=1} -- Posição da Pedra 22 getgate22 = getThingfromPos(gatepos22) gatepos23 = {x=446, y=719, z=7, stackpos=1} -- Posição da Pedra 23 getgate23 = getThingfromPos(gatepos23) gatepos24 = {x=446, y=720, z=7, stackpos=1} -- Posição da Pedra 24 getgate24 = getThingfromPos(gatepos24) if getgate.itemid == 1304 and getgate2.itemid == 1304 then broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE) doSummonCreature("Gerador Azul I", {x=452, y=718, z=7}) doSummonCreature("Gerador Vermelho I", {x=524, y=718, z=7}) doRemoveItem(getgate.uid,1) doRemoveItem(getgate11.uid,1) doRemoveItem(getgate12.uid,1) doRemoveItem(getgate13.uid,1) doRemoveItem(getgate14.uid,1) doRemoveItem(getgate2.uid,1) doRemoveItem(getgate21.uid,1) doRemoveItem(getgate22.uid,1) doRemoveItem(getgate23.uid,1) doRemoveItem(getgate24.uid,1) doCreateItem(1304, {x=522, y=690, z=7}) end return true end
  19. Bom eu posso tentar te ajudar, mas como nunca mechi com poketibia preciso que você me confirme algumas coisas por exemplo: Um pokemon é 1 item? ou um outifit o que é?
  20. Acho que dá pra adicionar uma condição no comando !inviteguild que faça a contagem de quantas pessoas estão na Guild e se passar desse limite não ser possível invitar. Só me confirma uma coisa, o comando !inviteguild é um arquivo separado de talkaction? Seu servidor é SQL?
  21. Você possui as sources do servidor? Se sim, poste aqui o arquivo player.cpp
  22. 1) Qual distro você está utilizando? (Apesar de eu acredito que não seja ela). 2) Qual o site que está utilizando? (Possivelmente é ai que está o erro). Descreva o acesso que ele ganha melhor. Ele consegue alterar a database? Ou apenas tem GOD/GM no seu servidor?
  23. Qual distro você está utilizando? e o mais importante, você possui as sources do servidor?
  24. Pedriinz postou uma resposta no tópico em Suporte Tibia OTServer
    Fixed.
  25. Isso pode ser o repositório do Debian. Todavia, eu não tenho certeza visto que nunca utilizei ele... eu utilizo o Ubunto. Tenta adicionar libs, 1 por 1 e ver se isso acontece com todas.

Informação Importante

Confirmação de Termo