Ir para conteúdo
Banner com Efeitos

Mattzys

Membro
  • Registro em

  • Última visita

Tudo que Mattzys postou

  1. E ai pessoal, tudo blz? To com um probleminha chato no meu otserver em que duas wands específicas erram ataques quando o target está em movimento. Essas duas wands em particular tem várias opções de efeito e só acontece com elas. Se o target ficar parado, funciona perfeitamente. Alguém saberia como me ajudar? Envio aqui anexos os scripts. Obrigado desde já!! mightystaff.lua elitestaff.lua
  2. Estou com problema semelhante. Se alguém souber resolver e tiver interesse, pago pelo serviço.
  3. Fala galera, Estou tentando compilar as sources do meu servidor, mas estou esbarrando no seguinte erro: Se alguém puder me dar uma luz, agradecerei demais. Já tentei seguir vários tutoriais que encontrei, inclusive aqui no TK, mas todos acabam dando nesse mesmo erro. Eu uso o Microsoft Visual Studio 2017. Ou se alguém se dispuser a fazer essa compilação para mim, também ficarei muito grato. Obrigado desde já.
  4. Mattzys postou uma resposta no tópico em Suporte Tibia OTServer
    Veja que ele salva no GlobalStorageValue 123123 a guild vencedora. E por isso que quando derruba o ot, ele zera. Uso sistema semelhante. Infelizmente não sei resolver seu problema, mas quero fzer uma pergunta: o bonus de exp funciona normalmente? Abs
  5. Antes de tentar a modificação que fiz, fiz exatamente isso que sugeriu haha pegando uma parte do seu código anterior e adaptando. Também não tinha dado certo. Pequei ao não anotar a mensagem de erro, mas era algo sobre não poder realizar uma função aritmética com "rate"
  6. @9k22 Opa! Testei da maneira que sugeriu, mas não funcionou. Contudo, fiz algumas alterações no código e percebi uma storage que é preenchida quando o player domina o castelo e adaptei o código. ele ficou assim: function onLogin(cid) local rate = 1.2 -- 20% local config = { welvip = "sua guild domina o CASTLE 24H você tem "..((rate - 1)*100).."% de exp a mais agora!", not_vip = "a guild que domina o CASTLE 24H ganha "..((rate - 1)*100).."% a mais de experiencia!", storage_guild = getGlobalStorageValue(123123) -- storage guild } if getPlayerGuildId(cid) == config.storage_guild then doPlayerSetExperienceRate(cid, rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.welvip) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.not_vip) end return TRUE end Agora o que acontece: o player recebe até a mensagem de confirmação da exp (ou negação, caso n seja da guild vencedora), mas a exp nao muda. Tem ideia do que poderia ser? Abs! Obrigado
  7. Oi pessoal! Estou passando a seguinte dificuldade: no meu servidor há um npc de Caçada. Supostamente, ele deveria deixar o player realizar uma "caçada" a cada 24h, mas o que acontece de fato é que ele só permite que o player faça novamente após o "server save". Na prática, os players só conseguem fazer de novo quando o ot é reiniciado. Então, peço ajuda de algum de voces, por favor, para editar esse script de modo que o storage usado resete a cada 24h (ou solução semelhante que permite o player fazer a cada 24h independente do server save). Não sei dizer se é algo fácil ou dificil, pois não sou muito bom de scripting Agradeço desde já killuaChaseSystem.lua
  8. Eita cara! Verifiquei e nenhum jogador tem... Então nenhum vai ganhar o bonus de exp, correto? Eh possível eu colocar uma storage que todos os players tenham para que todos possam usufruir do bonus? Obrigado mais uma vez ?
  9. Olhei no login.lua e realmente não estava registrado! Fiz a alteração e vou testar na próxima oportunidade. Acredito que tenha sido isso ? De antemão (desculpe se estou pedindo muito), como verifico isso do storage? Cara, muito obrigado mesmo...
  10. Testei agora e não funcionou Achei esse outro arquivo relacionado, não sei se vai ajudar mt... castlewar1.lua
  11. Cara, nem foi... eu instalei o site do jeito que foi postado ai...
  12. Oi pessoal, meu shop está com esse problema, alguem sabe como resolver? Grato!
  13. Ainda não pude testar! Vou precisar derrubar o server para fazer isso, mas agradeço já! e retornarei aqui caso ocorra algo de inesperado
  14. 9k22, obrigado mais uma vez vc me salvando!
  15. Oi pessoal! Estou com um problema no meu ot. Nele há um sistema de upar o lvl dos itens, de acordo com a exp que o player vai acumulando ao longo do tempo. Acontece que, quando o item alcança o level máximo (10), ocorre um bug que os bichos não morrem mais. O hp chega a zero, mas ele "não vira corpo" (print para exemplificar) Desde já agradeço! ? Mensagem de erro: Você tem o código disponível? Se tiver publique-o aqui: -- Itens Upgrade System feito por Killua (Vítor Bertolucci) local min_exp = 2000 -- Exp mínima para o monstro valer (exp que fica no monster.xml) local exp_levels = {100000, 245000, 499500, 743300, 967000, 1317400, 2038000, 3800000, 5214000, 7130000} -- Exp pra upar. A cada vez que um item atingir um desses valores de exp, ele upa 1 lvl. (Tem 10, ou seja, nível máximo do item = 10) Pode por mais leveis se quiser. local slots = {1,4,7,8,5,6} local wands = {7735,7414,7410,7424} local function getItemExp(item) if item.itemid > 0 then return getItemAttribute(item.uid, "exp") or tonumber(0) end return false end local function getItemLevel(experience) if experience < exp_levels[1] then return tonumber(0) end local old = 1 for i = 2,10 do if experience < exp_levels and experience >= exp_levels[old] then return tonumber(old) end old = i end end local function getMonsterItemExp (cid,monsterExp) local n = monsterExp * 2.71828182846 local lvl = getPlayerLevel(cid) n = (n / (lvl ^ (2.71828182846/10)))/1000 return math.floor(n) end local function doItemAddExp(cid,item,exp) if item.itemid > 0 and tonumber(exp) then local exp_now = getItemExp(item) local oldLevel = getItemLevel(exp_now) doItemSetAttribute(item.uid, "exp", exp_now + exp) local newLevel = getItemLevel(getItemExp(item)) if oldLevel < newLevel then local isPair = newLevel%2 == 0 and true or false local attribute = isPair and 1 or 2 -- Upar o item local itemName = getItemNameById(item.itemid) doItemSetAttribute(item.uid,"name",itemName.." +"..newLevel) if isShield(item.uid) then local def = getItemAttribute(item.uid, "defense") or getItemInfo(item.itemid).defense doItemSetAttribute(item.uid,"defense", def + attribute) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,"Seu "..itemName.." upou para o level "..newLevel.." e recebeu +".. attribute .." de defesa.") elseif (isSword(item.uid) or isAxe(item.uid) or isClub(item.uid) or isBow(item.uid)) then local atk = getItemAttribute(item.uid, "attack") or getItemInfo(item.itemid).attack doItemSetAttribute(item.uid,"attack", atk + attribute) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,"Seu "..itemName.." upou para o level "..newLevel.." e recebeu +".. attribute .." de ataque.") elseif isArmor(item.itemid) then local arm = getItemAttribute(item.uid, "armor") or getItemInfo(item.itemid).armor doItemSetAttribute(item.uid,"armor", arm + attribute) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,"Seu "..itemName.." upou para o level "..newLevel.." e recebeu +".. attribute .." de arm.") elseif isWand(item.uid) and isInArray(wands,item.itemid) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,"Sua "..itemName.." upou para o level "..newLevel.." e recebeu +5% de poder de ataque") end end end return false end function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) and not isSummon(target) then local monsterName = getCreatureName(target) if not monsterName or type(monsterName) ~= "string" then return true end local monster = getMonsterInfo(monsterName) if not monster then return true end local monsterExp = getMonsterInfo(monsterName).experience if not monsterExp then return true end local exp_gain = getMonsterItemExp(cid,monsterExp) if monsterExp >= min_exp then for _,b in pairs(slots) do local item = getPlayerSlotItem(cid, b) if item.uid > 0 then if isArmor(item.itemid) or isShield(item.uid) or isWand(item.uid) or isAxe(item.uid) or isSword(item.uid) or isClub(item.uid) or isBow(item.uid) then doItemAddExp(cid, item, exp_gain) --local itemExp = getItemExp(item) --doPlayerSendTextMessage(cid,MESSAGE_EVENT_DEFAULT,"Seu "..getItemNameById(item.itemid).." ganhou "..exp_gain.." pontos de exp ao derrotar um "..monsterName..". Ele tem ["..itemExp.."/".. exp_levels[ getItemLevel(itemExp) +1] .."] pontos atualmente.") end end end end end return true end function onLogin(cid) registerCreatureEvent(cid, "Item level") return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  16. Oi pessoal, O Castle do meu servidor, quando uma guild domina, não está aplicando o bonus de exp. Alguem consegue me ajudar a entender o porque? Colei abaixo código do creaturescripts. Obrigado desde já! Você tem o código disponível? Se tiver publique-o aqui: function onLogin(cid) local rate = 1.1 -- 20% local config = { welvip = "sua guild domina o CASTLE 24H você tem "..((rate - 1)*100).."% de exp a mais agora!", not_vip = "a guild que domina o CASTLE 24H ganha "..((rate - 1)*100).."% a mais de experiencia!", s = 4538, -- storage vip } if getPlayerStorageValue(cid, config.s) - os.time() >= 1 then doPlayerSetExperienceRate(cid, rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.welvip) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.not_vip) end return TRUE end
  17. Oi pessoal, tudo blz?! To com um problema no meu site que quando um player que não é o líder original da guild adiciona outro novo, esse novo entra como líder tb... Infelizmente não tenho conhecimento suficiente de PHP pra desvendar esse erro sozinho, por isso peço ajuda de vcs. Desde já obrigado ? guilds.txt
  18. Cara, funcionou! Muito obrigado mesmo... Estava a desistir quase ?
  19. Desculpe amigo, a que pastas se refere? Obrigado pela recomendação! Vou testar o 3.3
  20. Oi pessoal, Estou com um problema ao abrir o meu mapa no RME 2.2. Logo que carrega, alguns lugares aparecem totalmente bugados (com black spots ou itens aleatórios). Alguém já passou por problema semelhante e conseguiu resolver? Obrigado desde já.

Informação Importante

Confirmação de Termo