Tudo que Garou postou
-
Como Vocês Fariam ?
Ninguém vai fazer sua lição de casa.
-
allowedMaxSizePackets - Dúvida
1. Pelo menos, nas sources que possuo, tal configuração não influencia em quaisquer trecho de código. 2. Network.cpp é um arquivo do cliente do Tibia. 3. Seria melhor, diagnosticarmos qualquer problema no script Lua da magia. Editado: Infelizmente não sou mágico, postar parte do código não ajuda, então melhor encerrar minha tentativa de suporte por aqui.
-
(Resolvido)Dúvida addEvent
Não é necessário, obrigado. Att. Garou.
-
Função para arredondar...
Sem casas decimais: function Round(number) return string.format("%.0f", number) end Com casas decimais: function Round(number, decimals) decimals = decimals or 0 return string.format("%.".. decimals .."f", number) end Att. Garou
-
(Resolvido)Dúvida addEvent
Copie e cole os dois scripts, por gentileza. Att. Garou
-
(Resolvido)Ajuda Spell
Quando você postar o vídeo, eu dou uma olhada no seu pedido, pois não compreendi. Att. Garou
-
(Resolvido)Dúvida addEvent
-- Ao entrar na água addEvent(function() if getCreatureStorage(cid, 88888) == 1 then doCreatureAddHealth(cid, -999999) end return true end, 3 * 60 * 1000) -- Ao sair da água doCreatureSetStorage(cid, 88888, -1) Att. Garou
-
KingCraft - Matheus olha aqui fí
Daora que o Stigal reclama que pegaram o avatar dele, mas ele vai lá e pega a assinatura de um cara da OtBR huahuahua
-
Streaming de Programação
Boa tarde, Depois de ler um artigo do Tecmundo, este aqui, fiquei pensando, é interessante criar um streaming para programação de scripts, como também modificações nas sources relacionado ao Open Tibia? Gostaria da opinião de todos. Att. Garou
-
Not
Rapaz, que nível de conversa.
- Krl to morrendo
-
Promotion no Johnny por Items?!
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local ITEM_ID = 7632 local ITEM_COUNT = 10 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, "promotion") then selfSay("I can promote you for ".. ITEM_COUNT .." ".. (ITEM_COUNT > 1 and getItemInfo(ITEM_ID).plural or getItemNameById(ITEM_ID)) ..". Do you want to be promoted?", cid) talkState[talkUser] = 1 end if talkState[talkUser] == 1 then if msgcontains(msg, "yes") then if isPremium(cid) then if doPlayerRemoveItem(cid, ITEM_ID, ITEM_COUNT) then selfSay("Congratulations! You are now promoted!", cid) doPlayerSetPromotionLevel(cid, 1) else selfSay("Sorry, but you don't have ".. ITEM_COUNT .." ".. (ITEM_COUNT > 1 and getItemInfo(ITEM_ID).plural or getItemNameById(ITEM_ID)) ..".") talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end else selfSay("Sorry, but you aren't premium.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end elseif msgcontains(msg, "no") then selfSay("Alright then, come back when you are ready.") talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
O perfil mais massa do TK!
Garou
-
[DUVIDA] Calculo ML spell
Boa, meu garoto. Você quase acertou //setCombatFormula(combat, type, mina, minb, maxa, maxb[, minl, maxl[, minm, maxm[, minc[, maxc]]]]) lua_register(m_luaState, "setCombatFormula", LuaInterface::luaSetCombatFormula); Nos servidores mais atuais, a fórmula segue desse jeito: min = (level / minl + mlevel * minm) * mina + minb max = (level / maxl + mlevel * maxm) * maxa + maxb Fora os parâmetros minc e maxc, que funcionam dessa forma: if(minc && std::abs(min) < std::abs(minc)) min = minc; if(maxc && std::abs(max) < std::abs(maxc)) max = maxc; Ou seja, se o min é menor que minc, min será minc, mesma coisa para max e maxc Abraço.
-
(Resolvido)[PEDIDO] NPC de task avançado [Zezenia]
Interessante, gosto de boas ideias vindas de outros servidores ou jogos, irei desenvolver este sistema neste sábado, se eu tiver tempo, é claro.
-
[0.3.6PL1] Passive System
Bom, eu já fiz isso para um projeto, ao chegar em casa, depois da faculdade, te passo o arquivo que precisa editar.
-
Recovery System
De onde é esse sistema?
-
erro com perfect upgradesytem!
Eu tenho certeza que você não fez tudo Tem certeza que criou o arquivo upgradesystem.lua em data/lib do jeito que falei, com o conteúdo certo?
-
Promotion no Johnny por Items?!
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local ITEM_ID = 7632 local ITEM_COUNT = 10 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, "promotion") then selfSay("I can promote you for ".. ITEM_COUNT .." ".. (ITEM_COUNT > 1 and getItemInfo(ITEM_ID).plural or getItemNameById(ITEM_ID)) ..". Do you want to be promoted?", cid) talkState[talkUser] = 1 end if talkState[talkUser] == 1 then if msgcontains(msg, "yes") then if doPlayerRemoveItem(cid, ITEM_ID, ITEM_COUNT) then selfSay("Congratulations! You are now promoted!", cid) doPlayerSetPromotionLevel(cid, 1) else selfSay("Sorry, but you don't have ".. ITEM_COUNT .." ".. (ITEM_COUNT > 1 and getItemInfo(ITEM_ID).plural or getItemNameById(ITEM_ID)) ..".") talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end elseif msgcontains(msg, "no") then selfSay("Alright then, come back when you are ready.") talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Livro sobre OtClient e suas funcionalidades
hm, esquece.
-
Quem são vocês?
Meu nome é Bruno Lopes, tenho 21 anos, e curso Ciências da Computação no IBTA, aqui em São Paulo. Sou um cara calmo, que gosta de mangás, animes, jogos e tecnologia, e que desde o ensino fundamental, descobriu que tinha uma extrema facilidade com ciências exatas. Conheci o Tibia em meados da minha 6ª série, meu amigo apresentou os chamados otservers, e a única coisa que eu adorava, era quando esse amigo me dava itens ou quando me dava acesso de GM, era engraçado quando ele aparecia com magias novas, diferentes da realidade do Tibia na época, como a "exevo gran mas mort", que era a Ultimate Explosion da época com efeito negro. Ou quando eu jogava naqueles bons Yurots high-rate, que você matava um Rotworm no primeiro bueiro e ia para level 100. Mais ou menos, nessa época, eu fui tentar me aventurar com scripting, aos 12 ou 13 anos de idade, e não entendia necas, os scripts mais atuais eram feitos pelo Colex, e um deles que me marcou muito, que eu insistia em tentar entender, era um sistema de fazer sorvete. Desisti de tentar aprender scripting e parei com Open Tibia por um longo tempo. Uns 2 ou 3 anos depois, no ensino médio, não sei se é porque a gente fica mais inteligente quando envelhece, eu descobri que todas aquelas linhas de código já não pareciam mais uma linguagem mística, e até me dediquei a aprender coisas mais avançadas em Lua, como a simulação de orientação a objetos, patterns e por aí vai. E depois fui para o C++, e que também se tornou algo fácil, e acho que foi aí que meu nome Garou/Oneshot cresceu nas comunidades de Open Tibia, mas claro, não tanto como Skyen Hasus ou Mock, por exemplo Acho que é isso aí, escrevi demais :S
- Darks/augusto
-
[Ajuda] Spell direcional bugada
É meio chato isso mesmo, eu lembro que eu consegui arrumar isso fazendo um sistema de magias com doAreaCombatHealth, sem usar createCombatObject e setCombatArea. Vou deixar a treta para programadores mais experientes. Abraços.
-
[Ajuda] Spell direcional bugada
Vê aí se isso abaixo resolve Se não, só quando eu chegar em casa P.S: Particularmente prefiro resolver sem apelar para doCreatureSetNoMove local combat = {} local area = { [1] = { {3}, }, [2] = { {1, 1, 1}, {0, 2, 0}, }, [3] = { {1, 1, 1, 1, 1}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}, }, [4] = { {1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 2, 0, 0, 0}, }, } area[5] = area[3] area[6] = area[2] area[7] = area[1] for i = 1, 7 do combat[i] = createCombatObject() setCombatParam(combat[i], COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat[i], COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) if i == 1 then setCombatParam(combat[i], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) end setCombatFormula(combat[i], COMBAT_FORMULA_LEVELMAGIC, -2, -5, -2, -5) setCombatArea(combat[i], createCombatArea(area[i])) end function callback_spell(cid, var) for i = 1, 7 do local delay = (i * 100) - 100 addEvent(function() doCombat(cid, combat[i], var) end, delay) end end function onCastSpell(cid, var) local position = getCreatureLookPosition(cid) callback_spell(cid, positionToVariant(position)) return true end
-
[Ajuda] Spell direcional bugada
Tenta aí, fiz de cabeça, porque estou no trabalho. local combat = {} local area = { [1] = { {3}, }, [2] = { {1, 1, 1}, {0, 2, 0}, }, [3] = { {1, 1, 1, 1, 1}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}, }, [4] = { {1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 2, 0, 0, 0}, }, } area[5] = area[3] area[6] = area[2] area[7] = area[1] for i = 1, 7 do combat[i] = createCombatObject() setCombatParam(combat[i], COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat[i], COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) if i == 1 then setCombatParam(combat[i], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) end setCombatFormula(combat[i], COMBAT_FORMULA_LEVELMAGIC, -2, -5, -2, -5) setCombatArea(combat[i], createCombatArea(area[i])) end function callback_spell(cid, var) for i = 1, 7 do local delay = (i * 100) - 100 addEvent(function() doCombat(cid, combat[i], var) end, delay) end end function onCastSpell(cid, var) callback_spell(cid, var) return true end