
mattosknight
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
mattosknight deu reputação a quemtuacha em Porta que funciona como teleportColoque uma action na porta com a função de teleportar
-
mattosknight deu reputação a KotZletY em Porta que funciona como teleport@mattosknight do mesmo jeito que você faz um alavanca de teleporte, ambos são itens, então ambos podem ser usado da mesma maneira. Como o membro acima disse!!
-
mattosknight deu reputação a Digoshow em Porta que funciona como teleportBem simples.
Vai no seu rme, e na porta coloca o actionid 5432
Agora abra a pasta do seu otserv, data/action e em action.xml adiciona a seguinte tag:
Feito isso, agra vai até actions/scripts e cria um arquivo.lua com o nome de "porta teletransporte" e adiciona isso dentro:
Bom, está bem explicado no script mesmo, facil de configurar.
Eu testei no TFS 0.4 e está funcionando perfeitamente!
-
mattosknight recebeu reputação de Tricoder em (Resolvido)[PEDIDO] Item só pode ser EQUIPADO se tiver determinada storageAgradeço aos 2, ajudaram bastante ! Resolvi aqui com base na resposta dos 2, muito obrigado.
Só mais um dúvida.. meu script no movements do item é o seguinte:
<movevent type="Equip" itemid="9928" slot="legs" event="function" value="onEquipItem"> <vocation name="Mystical Sorcerer"/> <vocation name="Celestial Druid"/> </movevent> <movevent type="DeEquip" itemid="9928" slot="legs" event="function" value="onDeEquipItem"/> como eu registro no movements ja que o item tem vocação pra ser usado ?
@Way20
-
mattosknight deu reputação a WooX em (Resolvido)[PEDIDO] Item só pode ser EQUIPADO se tiver determinada storageEm /data/movements/scripts/
equipstor.lua
local storage = 13645 -- Storage necessaria para usar o item aqui. function onEquip(cid, item) if getPlayerStorageValue(cid, storage) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have enough power to equip this item.") else return true end end Procure pelo ID do item em /data/movements/movements.xml e altere a linha deixando-a assim.
<movevent type="Equip" itemid="XXXX" slot="legs" event="script" value="equipstor.lua"/>
Não testei!
-
mattosknight deu reputação a Tricoder em (Resolvido)[PEDIDO] Item só pode ser EQUIPADO se tiver determinada storageTópicos de referencia.
@mattosknight
-
mattosknight deu reputação a vankk em [PEDIDO] Tile que só passa com mana fullDevo estar usando a funcão errada, não lembro direito, mas enfim, testa isso
function onStepIn(cid, item, position, fromPosition) if getPlayerMaxMana(cid) then doSendMagicEffect(getCreaturePosition(cid), 12) else doTeleportThing(cid, fromPosition) doSendMagicEffect(getCreaturePosition(cid),10) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa estar com a mana full para passar aqui.") end return true end
-
mattosknight deu reputação a MaTTch em [PEDIDO] Tile que só passa com mana fullfunction onStepIn(cid, item, position, fromPosition) if(getCreatureMana(cid) >= getCreatureMaxMana(cid)) then doSendMagicEffect(getThingPos(cid), 12) else doTeleportThing(cid, fromPosition, false) doSendMagicEffect(getThingPos(cid), 10) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa estar com a mana full para passar aqui.") end return true end
-
mattosknight deu reputação a luanluciano93 em [DUVIDA] Bless apenas para premiumdoPlayerSendCancel(cid, 'Only premium players can buy blessings.' return true retorna a msg e economiza uma linha, e tbem faltou um ) no final.
return TRUE TRUE maiúsculo é gambiarra.
bless[i] Esse termo é a mesma coisa que se usar "i" apenas.
Refiz assim ...
local bless = 5 local cost = 10000 function onSay(cid, words, param) if not isPremium(cid) then return doPlayerSendCancel(cid, 'Only premium players can buy blessings.') end local x = 0 for i = 1, bless do if getPlayerBlessing(cid, i) == false then x = x + 1 if doPlayerRemoveMoney(cid, cost) then doPlayerAddBlessing(cid, i) else return doPlayerSendCancel(cid, "You don\'t have enough money.") end end end if x == 0 then return doPlayerSendCancel(cid, "You have already all blessings.") else doCreatureSay(cid, "You are now blessed!" ,19) doSendMagicEffect(getPlayerPosition(cid), 49) end return true end -
mattosknight deu reputação a Wakon em [DUVIDA] Bless apenas para premiumlocal bless = {1, 2, 3, 4, 5} local cost = 50000 function onSay(cid, words, param) if not isPremium(cid) then doPlayerSendCancel(cid, 'Only premium players can buy blessings.') return true end for i = 1, table.maxn(bless) do if(getPlayerBlessing(cid, bless[i])) then doPlayerSendCancel(cid, "You have already all blessings.") return TRUE end end if(doPlayerRemoveMoney(cid, cost) == TRUE) then for i = 1, table.maxn(bless) do doPlayerAddBlessing(cid, bless[i]) end doCreatureSay(cid, "You are now blessed!" ,19) doSendMagicEffect(getPlayerPosition(cid), 49) else doPlayerSendCancel(cid, "You don\'t have enough money.") end return true end
-
mattosknight deu reputação a thiagobji em Arrumando Erro npchandler.luaÉ o seguinte, eu já sofri com esse bug e é muito chato mesmo, creio que muitas pessoas sofrem também, eu achei esse script em um outro fórum, então venho postar aqui pros membros do TibiaKing que tem esse mesmo erro para ajudar eles a soluciona-lo.
Então você precisa ir até a pasta data\npc\lib\npcsystem
Abra o arquivo npchandler.lua e procure (control+f) por "function NpcHandler:isInRange(cid)" (sem aspas)
modifique essa linha:
function NpcHandler:isInRange(cid) local distance = getNpcDistanceTo(cid) or -1 return distance ~= -1 and distance <= self.talkRadius end Por: function NpcHandler:isInRange(cid) local distance = getDistanceBetween(getCreaturePosition(getNpcCid()), getCreaturePosition(cid)) if(distance == -1) then return false end return (distance <= self.talkRadius) end
Pronto! agora gogo deixar o servidor funcionando
Créditos:
GOD Gustavo
Pardal1406
Thiagobji