
hylo
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
hylo deu reputação a Pedriinz em FAST ATTACK COM BOT NG BUGADOApós instalar o script que o cara recomendou para você, registrou ele no login.lua ?
Se não registre!
registerCreatureEvent(cid, "AntiBot1") registerCreatureEvent(cid, "AntiBot2") registerCreatureEvent(cid, "AntiBot3") registerCreatureEvent(cid, "AntiBot4") registerCreatureEvent(cid, "AntiBot5")
-
hylo deu reputação a 9k22 em FAST ATTACK COM BOT NG BUGADODa uma olhada neste tópico. Ele ensina como fazer:
Lembrando que para não ocorrer bugs ou lags o máximo que você pode por é 200 (o mais seguro)
Ai você modifica
if (SpeedAttack < 200) { return 200; -
hylo deu reputação a KotZletY em FAST ATTACK COM BOT NG BUGADOTente este, creio que deve funcionar do mesmo jeito por ser bots diferentes!
-
hylo deu reputação a Renato em [TalkAction] Recarregar soft boots por comandoCréditos no script.
Explicação: simples, você fala !soft e recarrega sua soft por X valor. Retorna erro caso não tenha a grana ou a worn soft boots.
• Crie um arquivo LUA com o nome soft.lua em data/talkactions/scripts e ponha:
--[Created by Renato Ribeiro to www.TibiaKing.com and others]--
function onSay (cid, words, param, channel)
local preco = 10000 -- gold coins
local wornId = yyyy -- id da worn soft boots, bota descarregada
local newId = xxxx -- id da nova soft boots, bota carregada
if getPlayerItemCount(cid, wornId) >= 1 and getPlayerMoney(cid) >= preco then
doSendMagicEffect(getPlayerPosition(cid), 12)
doPlayerRemoveItem(cid, wornId)
doPlayerAddItem(cid, newId)
doPlayerRemoveMoney(cid, preco)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você recarregou sua soft por "..preco.." gps.")
else
doSendMagicEffect(getPlayerPosition(cid), 2)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem "..preco.." gps ou uma worn soft boots para poder recarregar.")
return TRUE
end
end[/code] [color=#FF0000][b]Atenção![/b][/color] Aqui nestes dois locais: [i] local wornId = [color=#800080]yyyy[/color] local newId = [color=#000080]xxxx[/color][/i] Troque o [color=#800080]yyyy[/color] pelo ID da worn soft boots (descarregada) e o [color=#000080]xxxx[/color] pelo ID da soft boots (carregada). [b]• Depois em [color=#0000FF]data/talkactions/talkactions.xml[/color] ponha a tag em qualquer lugar:[/b] [code]<talkaction log="yes" words="!soft" access="0" event="script" value="soft.lua">
E voalá! (:
OBS: Script não testado!</talkaction>
-
hylo recebeu reputação de velocitraptor em RECRUTAMENTO PARA TIBIAOlá a todos, venho aqui pra recrutar algumas pessoas pro meu novo ot, nao abri ainda estou decidindo qual mapa por , pra por um sistema legal, ja sou dono de um ot de pokemon. Temos um dinheiro pra investir, em hoster e etc tal. E penso em server ou 8.6 ou 10.9x , ou se concordarem os 2.
Tou precisando de Mapper para ajudar no respawns, houses, e futuros eventos automáticos.
Preciso de um Scrippter pois tem vários scripter novos que tem por ai, e quero q coloque conforme algumas quests precisarão.
eu preciso de alguém que mostre seu trabalho, me ajudem a escolher um servidor com menos bug, e mais pronto possível , para pouco editar, e que tenha pelo menos 3 Horas por dia para investir no ot.
Interessados podem comentar aqui, e até entrarem em contato comigo.
Meu facebook: https://www.facebook.com/luaanbraga
Meu Skype : luanbragaa
Obg!
-
hylo deu reputação a mee em Mega Evolution System (PxG)Oi.
Antes de tudo, este sistema foi escrito para o servidor PDA by Slicer, versão 1.9. A adaptação para outras bases pode ser bem simples, dependendo do seu conhecimento em Lua (que na verdade nem precisa ser grande).
Resolvi escrever este simples sistema porque me deu um certo desgosto ver vários servidores onde a mega evolução é literalmente uma evolução (inclusive o que estive jogando, onde alguns jogadores também concordaram com minha opinião). Quero dizer, o pokémon fica transformado direto, para sempre, forever, algo que contraria a ideia original.
Optei por fazer o sistema igual (ou semelhante, já que me baseei apenas nas informações disponíveis no Blog PxG, que aliás são poucas) ao da PokeXGames. Mais futuramente, no entanto, posso fazer uma outra versão voltada a ideia de uma mega evolução temporária.
Para quem não conhece o sistema, bem, estou com preguiça de explicar, logo recomendo acessar este link. A diferença é que a pedra (mega stone) não ocupa o espaço de um Held Item tier Y (visto que não são todos os servidores que possuem este sistema).
O sistema, como poderão notar, possui muitos detalhes. O motivo é que tenho a tendência de deixar a configuração o menor possível. Ou seja, basta configurar o efeito no código da spell e a tabela das mega evoluções.
Nossa, que textão.
TL;DR: Igual ao sistema da PxG; PDA; muitos detalhes mas pouquíssima configuração.
data/lib:
cooldown bar.lua:
Troque o código da função getNewMoveTable(table, n) por este:
function getNewMoveTable(table, n) if table == nil then return false end local moves = {table.move1, table.move2, table.move3, table.move4, table.move5, table.move6, table.move7, table.move8, table.move9, table.move10, table.move11, table.move12} local returnValue = moves if n then returnValue = moves[n] end return returnValue end No código da função doUpdateMoves(cid), troque o segundo:
table.insert(ret, "n/n,") Por:
local mEvolve if not getCreatureName(summon):find("Mega") and getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") then if not isInArray(ret, "Mega Evolution,") then table.insert(ret, "Mega Evolution,") mEvolve = true end end if not mEvolve then table.insert(ret, "n/n,") end Depois, em pokemon moves.lua: Troque: min = getSpecialAttack(cid) * table.f * 0.1 --alterado v1.6 por:
min = getSpecialAttack(cid) * (table and table.f or 0) * 0.1 --alterado v1.6 Código da spell:
elseif spell == "Mega Evolution" then local effect = xxx --Efeito de mega evolução. if isSummon(cid) then local pid = getCreatureMaster(cid) if isPlayer(pid) then local ball = getPlayerSlotItem(pid, 8).uid if ball > 0 then local attr = getItemAttribute(ball, "megaStone") if attr and megaEvolutions[attr] then local oldPosition, oldLookdir = getThingPos(cid), getCreatureLookDir(cid) doItemSetAttribute(ball, "poke", megaEvolutions[attr][2]) doSendMagicEffect(getThingPos(cid), effect) doRemoveCreature(cid) doSummonMonster(pid, megaEvolutions[attr][2]) local newPoke = getCreatureSummons(pid)[1] doTeleportThing(newPoke, oldPosition, false) doCreatureSetLookDir(newPoke, oldLookdir) adjustStatus(newPoke, ball, true, false) if useKpdoDlls then addEvent(doUpdateMoves, 5, pid) end end end end end Depois, em configuration.lua:
megaEvolutions = { --[itemid] = {"poke_name", "mega_evolution"}, [11638] = {"Charizard", "Mega Charizard X"}, [11639] = {"Charizard", "Mega Charizard Y"}, } Agora, em data/actions/scripts, código da mega stone:
function onUse(cid, item) local mEvolution, ball = megaEvolutions[item.itemid], getPlayerSlotItem(cid, 8).uid if not mEvolution then return doPlayerSendCancel(cid, "Sorry, this isn't a mega stone.") elseif ball < 1 then return doPlayerSendCancel(cid, "Put a pokeball in the pokeball slot.") elseif #getCreatureSummons(cid) > 0 then return doPlayerSendCancel(cid, "Return your pokemon.") elseif getItemAttribute(ball, "poke") ~= mEvolution[1] then return doPlayerSendCancel(cid, "Put a pokeball with a(n) "..mEvolution[1].." in the pokeball slot.") elseif getItemAttribute(ball, "megaStone") then return doPlayerSendCancel(cid, "Your pokemon is already holding a mega stone.") end doItemSetAttribute(ball, "megaStone", item.itemid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..getItemAttribute(ball, "poke").." is holding a(n) "..getItemNameById(item.itemid)..".") doRemoveItem(item.uid) return true end Depois, em goback.lua: Abaixo de: if not pokes[pokemon] then return true end coloque:
if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end Depois, em data/creaturescripts/scripts, look.lua: Abaixo de: local boost = getItemAttribute(thing.uid, "boost") or 0 coloque:
local extraInfo, megaStone = "", getItemAttribute(thing.uid, "megaStone") if megaStone then extraInfo = getItemNameById(megaStone) if pokename:find("Mega") then pokename = megaEvolutions[megaStone][1] end end Depois, acima de:
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str)) coloque:
if extraInfo ~= "" then table.insert(str, "\nIt's holding a(n) "..extraInfo..".") end Já em data/talkactions/scripts, move1.lua: Troque: if not move then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end por:
if not move then local isMega = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") if not isMega or name:find("Mega") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local moveTable, index = getNewMoveTable(movestable[name]), 0 for i = 1, 12 do if not moveTable[i] then index = i break end end if tonumber(it) ~= index then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local needCds = true --Coloque false se o pokémon puder mega evoluir mesmo com spells em cooldown. if needCds then for i = 1, 12 do if getCD(getPlayerSlotItem(cid, 8).uid, "move"..i) > 0 then return doPlayerSendCancel(cid, "To mega evolve, all the spells of your pokemon need to be ready.") end end end move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0, f = 0, t = "?"} end E troque:
doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY) por:
local spellMessage = msgs[math.random(#msgs)]..""..move.name.."!" if move.name == "Mega Evolution" then spellMessage = "Mega Evolve!" end doCreatureSay(cid, getPokeName(mypoke)..", "..spellMessage, TALKTYPE_SAY) Se quiser que o "Mega" não apareça no nome do pokémon, vá em data/lib, level system.lua: Acima de: if getItemAttribute(item, "nick") then nick = getItemAttribute(item, "nick") end coloque:
if nick:find("Mega") then nick = nick:match("Mega (.*)") if not pokes[nick] then nick = nick:explode(" ")[1] end end E, caso o seu servidor possua pokémons evoluídos permanentemente na forma mega, em data/actions/scripts, goback.lua: Troque: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end por:
if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if not normalPoke then local megaStone for itemid, table in pairs(megaEvolutions) do if table[2] == pokemon then megaStone = itemid break end end if not megaStone then return doPlayerSendTextMessage(cid, 27, "Your pokemon is bugged. Please, talk to the administrator.") end doItemSetAttribute(item.uid, "megaStone", megaStone) normalPoke = megaEvolutions[megaStone][1] end doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end Bem, é isso aí. Acho que não esqueci de nada. Até mais. Obs¹:,esqueci uma informação específica no segundo passo de instalação do sistema (doUpdateMoves). Editado.
Ah, editei novamente com uma correção para OTClient.
Creditos:
zipter98 (Pela criação)
Eu (por divulgalo)