Eu queria um script que não precisava remover o player para retirar o skill adicionado, parece que não da, então esse ai ta de boa!
Item que ao dar use ganhe 10 de magic level (por tempo)
Por roriscrave, 20 de out. de 2013 em Scripts
info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei

info
Grupo: Marquês
Registrado: 16/06/07
Posts: 1.2k
Reputação: +377
Gênero: Masculino
Char no Tibia: Nenhum

N vai mano, se o kra loga e removido pela db.
Sim, o que eu quis dizer é que se ele logasse e depois voltasse daria problema, mas me expressei mal.
Eu queria um script que não precisava remover o player para retirar o skill adicionado, parece que não da, então esse ai ta de boa!
Tente esse
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerStorageValue(cid, 129381) < os.time() then
doPlayerAddMagLevel(cid, 10)
doSendMagicEffect(getThingPos(cid), 1)
addEvent(removeSkill, 2 * 60 * 1000, getCreatureName(cid), SKILL__MAGLEVEL, (getPlayerMagLevel(cid) - 10), getPlayerGUID(cid))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você recebeu +10 no skill de Magic Level durante 2 minutos.")
setPlayerStorageValue(cid, 129381, os.time() + 2 * 60)
else
doPlayerSendCancel(cid, "You must wait "..getPlayerStorageValue(cid, 129381) - os.time().." seconds before you can use this again.")
end
return true
end
function removeSkill(name, skill, amount, guid)
local cid = getCreatureByName(name)
if isCreature(cid) then
doPlayerAddMagLevel(cid, -10)
else
db.executeQuery("UPDATE `player_skills` SET `value` = "..amount.." WHERE `player_id` = "..guid.. " AND `skillid` = "..skill..";")
end
return true
end
Editado Outubro 22 por omega blueheaven
info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei

ômega, esse ai não ta adicionando 10 de magic level, ta adicionando apenas uma porcentagem ao magic level
info
Grupo: Campones
Registrado: 31/08/13
Posts: 93
Reputação: +17
Char no Tibia: Evarin Thin

local config = {
ml = 10,
interval = 12
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
local PZ = createConditionObject(CONDITION_INFIGHT)
setConditionParam(PZ, CONDITION_PARAM_TICKS, config.interval*10000)
local SKILL= createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(SKILL, CONDITION_PARAM_STAT_MAGICLEVEL, config.ml)
if getCreatureCondition(cid, CONDITION_ATTRIBUTES) then
doPlayerSendCancel(cid,"seu magic level aumentou 10!")
else
doAddCondition(cid, PZ)
doAddCondition(cid, SKILL)
addEvent(magicadd, 1000, cid, config.interval*10)
doRemoveItem(item.uid, 1)
end
return TRUE
end
function magicadd(tid, rep)
local nb = getCreaturePosition(tid)
rep = rep - 1
if rep > 0 then
addEvent(magicadd, 1000, tid, rep)
doSendMagicEffect(nb,31)
doPlayerSendCancel(tid,"Seu magic level ira descer em "..rep.." segundos." )
end
end
Peguei um script do Adriano swatt e modifiquei n sei se vai funcionar pois nao sou bom em scripts.
info
Grupo: Barão
Registrado: 17/01/12
Posts: 208
Reputação: +98
Char no Tibia: Supreme of Destroyer

caso o dele n funcione...
se der erro reporta
actions.xml
<action itemid="ITEMX" event="script" value="addml.lua"/>
addml.lua
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 60000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10)
function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, 750) < os.time() then
if(isInArray({1,5,2,6}, getPlayerVocation(cid)) == TRUE) then--vocaçoes
var = numberToVariant(cid)
doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_RED)
setPlayerStorageValue(cid, 750, os.time() + 2 * 60)
else
doPlayerSendCancel(cid, "Voce precisa esperar "..getPlayerStorageValue(cid, 750) - os.time().." segundos antes de usar isso novamente.")
end
end
return true
end
Editado Outubro 23 por alissonfgp
info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei

Alisson, o jogador da use e ganha 10 de magic, so que ao dar use novamente não aparece a mensagem negando:
doPlayerSendCancel(cid, "Voce precisa esperar "..getPlayerStorageValue(cid, 750) - os.time().." segundos antes de usar isso novamente.")
além disso a storage (750) não esta zerando, ou seja ele so pode usar 1x
info
Grupo: Barão
Registrado: 17/01/12
Posts: 208
Reputação: +98
Char no Tibia: Supreme of Destroyer

testa esse...
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 120000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10)
local config = {
exhausttime = 1200, -- time in seconds
exhaustion = 760
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(exhaustion.check(cid, 760) == false) then
if(isInArray({1,5,2,6}, getPlayerVocation(cid)) == TRUE) then--vocaçoes
var = numberToVariant(cid)
doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_RED)
doCreatureSay(cid, "Agora voce so pode usar este item apos 2 minutos.", TALKTYPE_ORANGE_1)
exhaustion.set(cid, 760, 120)
end
end
return true
end
info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei

agora quando da use não acontece nada, não da erro, não da magic level, nem aparece msg alguma
Um monte de gente tentou, tentou e não resolveu o pedido do cara.
local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_SUBID, 101) function onUse(cid, item, fromPosition, itemEx, toPosition) if getCreatureCondition(cid, CONDITION_ATTRIBUTES, 101) then return doPlayerSendCancel(cid, "Você já usou o item, aguarde o efeito acabar.") end doSendMagicEffect(fromPosition, CONST_ME_MAGIC_GREEN) return doAddCondition(cid, condition) end
Sério, hilário, um corrigindo o outro e fazendo a mesma cagada de usar querys num bagulho desse (HUE HUE) ![]()
Editado Outubro 24 por Oneshot
info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei

@Oneshot funcionou certinho, vou dar rep pra todos que ajudaram, vlw ae!
info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha

Dúvida sanada, reportado para que movam.





info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit
N vai mano, se o kra loga e removido pela db.