Histórico de Curtidas
-
Rudkiller recebeu reputação de Peixola em [action]Desintegrate Rune que remove magic wall!Saudações, visitantes do tópico.
Hoje trago pra vocês um script de action que vai fazer com que suas Desintegrate Runes removam magic walls!
Tem que ser por action, portanto removam a linha da desintegrate rune em sua spells.xml (a linha da runa, não da spell que cria/encanta ela).
Em
data\actions\scripts
crie um arquivo com extensão .lua e adicione o seguinte conteúdo:
function onUse(cid, item, frompos, item2, topos)
local playermagiclevel = getPlayerMagLevel(cid)
if playermagiclevel < 5 then
doPlayerSendTextMessage(cid,24,'You need to be magic level 5 or higher to use desintegrate runes!')
elseif isCreature(item2.uid) == FALSE and isMoveable(item2.uid) == TRUE then
doRemoveItem(item2.uid)
doRemoveItem(item.uid)
doSendMagicEffect(topos, CONST_ME_GIFT_WRAPS)
doSendDistanceShoot(getCreaturePosition(cid), topos, CONST_ANI_ENERGY)
return 1
elseif item2.uid == cid then
doPlayerSendTextMessage(cid,24,'You can not use desintegrate runes on yourself!')
elseif item2.itemid == 1497 then
doRemoveItem(item2.uid)
doRemoveItem(item.uid)
doSendMagicEffect(topos, CONST_ME_GIFT_WRAPS)
doSendDistanceShoot(getCreaturePosition(cid), topos, CONST_ANI_ENERGY)
else
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
return 0
end
end
--[[
Desintegrate Rune (action) por Rudkiller.
Com esse script a desintegrate não requer level para ser usada, apenas magic level.
A função da desintegrate foi modificada para que ela possa ser usada a qualquer distância, tenha um efeito de tiro e possa remover magic walls!
Não se esqueça do actions.xml: <action itemid="2310" script="nome_do_seu_script.lua" allowfaruse="1"/>
]] O resto está explicado no próprio script. Lembrem-se vocês podem mudar o limite de magic level apenas trocando o número dessa linha:
if playermagiclevel < 5 then
Olhem o vídeo demonstrando o funcionamento da runa:
https://www.youtube.com/watch?v=Nijuq4dIB6k&feature=youtu.be
(gravei e postei esse vídeo só pra mostra pra vocês o bagulho )
-- Testado em Alissow Server 8.54 Talvez funcione em todas as versões do 8.4 ao 8.54. Lembre-se: A runa vai ser removida, mesmo que ela tenha charges!
Se divirtam!
-
Rudkiller recebeu reputação de seminu em Tirar a fala do Player da SpellMeu amigo é muito simples, vai na sua config.lua e edite essas linhas:
spellNameInsteadOfWords = false emoteSpells = false -
Rudkiller recebeu reputação de Ragnar Lothbrook em [action]Desintegrate Rune que remove magic wall!Saudações, visitantes do tópico.
Hoje trago pra vocês um script de action que vai fazer com que suas Desintegrate Runes removam magic walls!
Tem que ser por action, portanto removam a linha da desintegrate rune em sua spells.xml (a linha da runa, não da spell que cria/encanta ela).
Em
data\actions\scripts
crie um arquivo com extensão .lua e adicione o seguinte conteúdo:
function onUse(cid, item, frompos, item2, topos)
local playermagiclevel = getPlayerMagLevel(cid)
if playermagiclevel < 5 then
doPlayerSendTextMessage(cid,24,'You need to be magic level 5 or higher to use desintegrate runes!')
elseif isCreature(item2.uid) == FALSE and isMoveable(item2.uid) == TRUE then
doRemoveItem(item2.uid)
doRemoveItem(item.uid)
doSendMagicEffect(topos, CONST_ME_GIFT_WRAPS)
doSendDistanceShoot(getCreaturePosition(cid), topos, CONST_ANI_ENERGY)
return 1
elseif item2.uid == cid then
doPlayerSendTextMessage(cid,24,'You can not use desintegrate runes on yourself!')
elseif item2.itemid == 1497 then
doRemoveItem(item2.uid)
doRemoveItem(item.uid)
doSendMagicEffect(topos, CONST_ME_GIFT_WRAPS)
doSendDistanceShoot(getCreaturePosition(cid), topos, CONST_ANI_ENERGY)
else
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
return 0
end
end
--[[
Desintegrate Rune (action) por Rudkiller.
Com esse script a desintegrate não requer level para ser usada, apenas magic level.
A função da desintegrate foi modificada para que ela possa ser usada a qualquer distância, tenha um efeito de tiro e possa remover magic walls!
Não se esqueça do actions.xml: <action itemid="2310" script="nome_do_seu_script.lua" allowfaruse="1"/>
]] O resto está explicado no próprio script. Lembrem-se vocês podem mudar o limite de magic level apenas trocando o número dessa linha:
if playermagiclevel < 5 then
Olhem o vídeo demonstrando o funcionamento da runa:
https://www.youtube.com/watch?v=Nijuq4dIB6k&feature=youtu.be
(gravei e postei esse vídeo só pra mostra pra vocês o bagulho )
-- Testado em Alissow Server 8.54 Talvez funcione em todas as versões do 8.4 ao 8.54. Lembre-se: A runa vai ser removida, mesmo que ela tenha charges!
Se divirtam!
-
Rudkiller recebeu reputação de Zzjj em Tirar a fala do Player da SpellMeu amigo é muito simples, vai na sua config.lua e edite essas linhas:
spellNameInsteadOfWords = false emoteSpells = false -
Rudkiller deu reputação a xWhiteWolf em Fogos de artificio.<globalevent name="fogos" time="00:00" event="script" value="fogos.lua"/>
-
Rudkiller deu reputação a xWhiteWolf em Mining System@Rudkiller, obrigado , pra fazer da forma que vc quer é só adicionar o id das bordas de caverna ali e remover os do chão (ou mantém os dois haha)
-
Rudkiller recebeu reputação de arthurabreu em Tirar a fala do Player da SpellMeu amigo é muito simples, vai na sua config.lua e edite essas linhas:
spellNameInsteadOfWords = false emoteSpells = false -
Rudkiller recebeu reputação de RenanPhellip em (Resolvido)[Pedido] Item que ao ser usado dá magic level por 60 seg.Amigo, tenta isso daqui, ja tá explicadinho no script:
local addml = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(addml, CONDITION_PARAM_TICKS, 60*1000) -- tempo em segundos multiplicado por 1000 (porque o sistema lê em milisegundos)
setConditionParam(addml, CONDITION_PARAM_STAT_MAGICLEVEL, 15) -- esse número é quanto de magic level aumenta!
setConditionParam(addml, CONDITION_PARAM_BUFF, TRUE)
function onUse(cid, item, fromPosition, itemEx, toPosition)
local premium = getPlayerPremiumDays(cid)
if getPlayerLevel(cid) >= 400 and (getPlayerVocation(cid) ~= 357 or getPlayerVocation(cid) ~= 358 or getPlayerVocation(cid) ~= 359 or getPlayerVocation(cid) ~=
360 or getPlayerVocation(cid) ~= 361 or getPlayerVocation(cid) ~= 362 or getPlayerVocation(cid) ~= 363) then
doPlayerSendCancel(cid, "Voce precisa ser da vocação Turles Reborn LvL 400+ para usar este item!")
elseif premium < 1 then
doPlayerSendCancel(cid, "Voce precisa ser premium para usar este item!")
else
doCreatureSay(cid,19, "Aaahhh! Me sinto mais poderoso!")
local pos1 = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
doSendMagicEffect(pos1, 78)
doRemoveItem(cid, item.uid, 1)
doAddCondition(cid, addml)
end
return true
end
Em:
data\actions\actions.xml
Coloque:
<action itemid="id_do_seu_item" script="nome_do_seu_script.lua"/>
Edit: Cara cometi um pequeno erro aqui na hora de coloca o parâmetro da condição, mas eu arrumei e agora o script ta funfando!
Detalhe: agora que foi resolvido eu queria saber como que faz pra remove minha postagem, pois sou novatão aki
-
Rudkiller deu reputação a xWhiteWolf em Mining Systemsim ué.. pra upar do 50 pro 51 a conta é a seguinte:
(51*51/k) - (50*50/k) que é igual a 1300 - 1250 = 50 picaretadas.
-
Rudkiller deu reputação a xWhiteWolf em Mining Systemtem sim, eu só não coloquei porque o próprio tibia ja tem um sistema de exhausted padrão de 1 segundo entre ações contendo itemEx (que é configurável pelo config.lua)
-
Rudkiller deu reputação a xWhiteWolf em Mining SystemAntes de tudo queria agradecer ao cara do suporte que me pediu pra fazer isso, achei muito legal a idéia. Fala galera do TK, vim trazer um script bem simpleszinho mas que abre um leque de opções de RPG e diversão pro seu OT.. Trata-se do Mining System, um sistema que você pode utilizar a pick normal (ou uma outra pick especial) para minerar a terra e tentar conseguir items que você pode trocar por dinheiro, items ou utilizar para craftar items. São 70 leveis de Mining que vão upando conforme vc minera.
Enfim, vamos ao script:
actions\scripts\mining.lua:
terra = {351,352,353,354,355} levels = { [-1] = 2229, ---- skull [0] = 1294, --- small stone [1] = 3976, --- worm [10] = 2149, -- Small Emerald [12] = 2146, -- Small Sapphire [15] = 2145, -- Small Diamond [17] = 2150, -- Small Amethyst [20] = 2147, -- Small Ruby [25] = 2144, -- Black Pearls [27] = 2143, -- White Pearls [30] = 2157, -- Gold Nuggets [35] = 2156, --- red gem [36] = 2158, -- blue gem [37] = 2155, -- green gem [38] = 2153, -- violet gem [39] = 2154, -- yellow gem [40] = 7761, -- small enchanted emerald [42] = 7759, -- Small Enchanted Sapphiire [45] = 7762, -- Small Enchanted Amethyst [50] = 7760, -- Small Enchanted Ruby [70] = 2177 -- Life Crystal } local config = { storage = 19333, chance = 40, --- chance de achar um item ou não k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante) experience = 19334 } function onUse(cid, item, fromPosition, itemEx, toPosition) local drops = {} function getDrops(cid) for i= -1,getPlayerStorageValue(cid, config.storage) do if levels[i] then table.insert(drops, levels[i]) end end return true end if isInArray(terra, itemEx.itemid) then getDrops(cid) doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1) local experience = getPlayerStorageValue(cid, config.experience) if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1) doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".") if getPlayerStorageValue(cid, config.storage) == 50 then doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.") doPlayerAddItem(cid, 7497, 1, true) end end if config.chance >= math.random(1,100) then if #drops >= 1 then local item = drops[math.random(1,#drops)] doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".") doPlayerAddItem(cid, item, 1, true) end doSendMagicEffect(toPosition, 3) else doSendMagicEffect(toPosition, 2) return true end elseif itemEx.itemid == item.itemid then doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".") else return false end return true end em terra vc coloca os ids dos chãos em que é possível minerar, levels é o level da skill e o ID do respectivo item que você fica capaz de conseguir após alcançar esse nível. Em outras palavras, no começo vc só consegue minerar skull, no nv 70 vc vai ter a chance de conseguir todos os items anteriores e não só life crystal. O restante das configurações está no meio do script:
local config = {
storage = 19333,
chance = 40, --- chance de achar um item ou não
k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
experience = 19334
}
o storage é onde vai salvar o seu nível
chance é a chance de pegar um item cada vez que minera.
k é a constante de level, o nivel 10 precisa de 10*10/k de experiencia para ser alcançado (com k sendo 2 dá 50 de experiencia), ou seja, com 50 picaretadas na terra vc pega nivel 10.
experience é o storage que fica salvo sua experiencia.
Bônus: Ao alcançar level 50 você ganha o Mining Helmet como prêmio, ele não faz nada de especial mas é como se fosse um troféu. No meu server tem uma série de troféus que voce pode colecionar e fica como sendo uma conquista épica para os players.
e no actions.xml:
<action itemid="2553" script="mining.lua"/> OBS: Sugiro que vcs utilizem uma outra pick pra não dar conflito mas você faz oque quiser.
PS: Uma fotinha pra vcs verem
Espero que tenham gostado!
-
Rudkiller deu reputação a Caronte em Shovel com "Digging System"Boa @Rudkiller, mas. acho que o tópico ficaria muito mais atraente com imagens e uma formatação das letras.. Usando o negrito para destacar as coisas mais importantes, por exemplo.
-
Rudkiller deu reputação a luanluciano93 em Shovel com "Digging System"Bem criativo amigo, reputado.
-
Rudkiller recebeu reputação de Caronte em Shovel com "Digging System"Olá caros membros do TibiaKing.
Hoje estou disponibilizando para vocês o script de action da shovel com digging system (sistema de escavação em inglês), ou seja você pode usar a shovel no chão para cavar buracos e desenterrar itens ou criaturas, além da funcionalidade tradicional da shovel, que é abrir buracos.
-- Pequenas observações --
<> Foi testado apenas em Alissow OTS 0.3.9 (Client 8.54)!
<> Tirei essa idéia do TibiaME onde o player usa a shovel para cavar no chão e encontrar gold e potions, mas troquei para achar itens(tipo minhocas) e criaturas pra ficar mais realista RPG!
Veja o vídeo que explica como funciona:
https://www.youtube.com/watch?v=xsmJcwBshpg
(gravei só pra esse tópico)
Se quiser adicionar esse sistema em seu OT, siga os passos do tutorial abaixo!
Primeiro Passo: "Configurando sua shovel" Em
data\actions\scripts
Abra seu shovel.lua e caso você não tenha crie e adicione o seguinte conteúdo dentro:
Lembre-se da linha, em:
data\actions\actions.xml
<action itemid="2554" script="tools/shovel.lua"/> <!--Shovel-->
<action itemid="5710" script="tools/shovel.lua"/> <!--Light Shovel-->
Segundo Passo: "Configurando os buracos" Em:
data\items\items.xml
Troque os atributos dos itens 3311, 8323, 8567.
Deixe desta maneira:
<item id="3311" article="a" name="hole">
<attribute key="decayTo" value="0"/>
<attribute key="duration" value="120"/>
</item>
---------------------------------------------------------
<item id="8323" article="a" name="hole">
<attribute key="decayTo" value="231"/>
<attribute key="duration" value="60"/>
</item>
---------------------------------------------------------
<item id="8567" article="a" name="hole">
<attribute key="decayTo" value="9059"/>
<attribute key="duration" value="60"/>
</item>
Se não quiser seguir o passo 2 (criar e configurar buracos), simplesmente remova as linhas "doCreateItem(3311, topos)" do seu script e o player apenas irá "cavar" o solo sem criar nenhum buraco.
É isso galera! Até o próximo script... -
Rudkiller recebeu reputação de luanluciano93 em Shovel com "Digging System"Olá caros membros do TibiaKing.
Hoje estou disponibilizando para vocês o script de action da shovel com digging system (sistema de escavação em inglês), ou seja você pode usar a shovel no chão para cavar buracos e desenterrar itens ou criaturas, além da funcionalidade tradicional da shovel, que é abrir buracos.
-- Pequenas observações --
<> Foi testado apenas em Alissow OTS 0.3.9 (Client 8.54)!
<> Tirei essa idéia do TibiaME onde o player usa a shovel para cavar no chão e encontrar gold e potions, mas troquei para achar itens(tipo minhocas) e criaturas pra ficar mais realista RPG!
Veja o vídeo que explica como funciona:
https://www.youtube.com/watch?v=xsmJcwBshpg
(gravei só pra esse tópico)
Se quiser adicionar esse sistema em seu OT, siga os passos do tutorial abaixo!
Primeiro Passo: "Configurando sua shovel" Em
data\actions\scripts
Abra seu shovel.lua e caso você não tenha crie e adicione o seguinte conteúdo dentro:
Lembre-se da linha, em:
data\actions\actions.xml
<action itemid="2554" script="tools/shovel.lua"/> <!--Shovel-->
<action itemid="5710" script="tools/shovel.lua"/> <!--Light Shovel-->
Segundo Passo: "Configurando os buracos" Em:
data\items\items.xml
Troque os atributos dos itens 3311, 8323, 8567.
Deixe desta maneira:
<item id="3311" article="a" name="hole">
<attribute key="decayTo" value="0"/>
<attribute key="duration" value="120"/>
</item>
---------------------------------------------------------
<item id="8323" article="a" name="hole">
<attribute key="decayTo" value="231"/>
<attribute key="duration" value="60"/>
</item>
---------------------------------------------------------
<item id="8567" article="a" name="hole">
<attribute key="decayTo" value="9059"/>
<attribute key="duration" value="60"/>
</item>
Se não quiser seguir o passo 2 (criar e configurar buracos), simplesmente remova as linhas "doCreateItem(3311, topos)" do seu script e o player apenas irá "cavar" o solo sem criar nenhum buraco.
É isso galera! Até o próximo script... -
Rudkiller deu reputação a xWhiteWolf em Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)Bom galera, tem uma coisa bem simples que nem o tibia global fez e que eu to trazendo aqui pra vocês. Trata-se de um pequeno sistema que fará você sempre virar pra direção do seu target ao atacar.
Testado em TFS 0.3.6 Cliente 8.54.
Imagem auto explicativa:
Chega de atacar de costas!
Agora pra instalar é bem tranquilo. Abra um arquivo .lua em data\creaturescripts\scripts chamado target e coloque o seguinte conteudo dentro dele:
Feito isso adicione essa linha no creaturescripts.xml:
<event type="attack" name="targetCreature" script="target.lua"/> E para finalizar adicione a seguinte tag em creaturescripts\scripts\login.lua:
registerCreatureEvent(cid, "targetCreature") Espero que vcs tenham curtido, é algo bem simples mas ninguém havia pensado nisso antes (nem o próprio Tibia), é uma coisa bem básica e que torna o jogo bem mais importante e sério.
EDIT:: Usem essa versão que está mais completa, na anterior se o target estivesse na diagonal ele não virava.