Ir para conteúdo
  • 0

Erro free rune alguem ajuda ?


MrKirito

Pergunta

tipo no meu servidor tem free rune que tu pega em um bau no templo se eu for sorc eu pego a runa e uso normal se eu for druid e pally tbm posso usa a runa normal mas se eu so kina quando eu do use na runa aparece you connot use this object.

id das vocaçoes que podem usar a runa:

id: 1

id: 2

Id: 3

id: 4

essas eram pra ser as vocaçoes que iriam poder usar a runa as vocaçoes de id 1 2 e 3 pode usar normalmente mas a 4 que no caso é kina nao pode.

script da free rune:

 

 

local exhaust = createConditionObject(CONDITION_EXHAUST)

setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local cfg = {

["paladin"] = {

MIN_HEALTH = 4000,

MAX_HEALTH = 8000,

MIN_MANA = 2000,

MAX_MANA = 4000

},

["mage"] = {

MIN_MANA = getPlayerLevel(cid) + getPlayerMagLevel(cid) * 4 * 0 + 6000,

MAX_MANA = getPlayerLevel(cid) + getPlayerMagLevel(cid) * 4 * 0 + 11000

},

["kina"] = {

MIN_HEALTH = getPlayerLevel(cid) + getPlayerMagLevel(cid) * 4 * 0 + 1000,

MAX_HEALTH = getPlayerLevel(cid) + getPlayerMagLevel(cid) * 4 * 0 + 2000,

MIN_MANA = 2000,

MAX_MANA = 2500

}

}

 

if isPlayer(itemEx.uid) == FALSE or cid ~= itemEx.uid then

return FALSE

end

 

 

if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then

doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)

return TRUE

end

 

if(getPlayerLevel(itemEx.uid) < 80) and (getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then

doCreatureSay(itemEx.uid, "Você Precisa obter o level 80 para ultilizar esta runa.", TALKTYPE_ORANGE_1)

return TRUE

end

 

if isPaladin(itemEx.uid) then

if doCreatureAddHealth(itemEx.uid, math.random(cfg["paladin"].MIN_HEALTH + getPlayerLevel(cid), cfg["paladin"].MAX_HEALTH + getPlayerLevel(cid))) == LUA_ERROR or doPlayerAddMana(itemEx.uid, math.random(cfg["paladin"].MIN_MANA + getPlayerLevel(cid), cfg["paladin"].MAX_MANA + getPlayerLevel(cid))) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Pally Rune", TALKTYPE_ORANGE_1)

end

 

if isDruid(itemEx.uid) or isSorcerer(itemEx.uid) then

if doPlayerAddMana(itemEx.uid, math.random(cfg["mage"].MIN_MANA, cfg["mage"].MAX_MANA)) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Mage Rune", TALKTYPE_ORANGE_1)

end

 

if isKnight(itemEx.uid) then

if doCreatureAddHealth(itemEx.uid, math.random(cfg["kina"].MIN_HEALTH + getPlayerLevel(cid), cfg["kina"].MAX_HEALTH + getPlayerLevel(cid))) == LUA_ERROR or doPlayerAddMana(itemEx.uid, math.random(cfg["kina"].MIN_MANA + getPlayerLevel(cid), cfg["kina"].MAX_MANA + getPlayerLevel(cid))) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Kina Rune", TALKTYPE_ORANGE_1)

end

 

doAddCondition(cid, exhaust)

doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)

return TRUE

end

 

entao se alguem me ajudar rep+!

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Área Incorreta, reported!

@

Tenta substituir por:

 

 

local exhaust = createConditionObject(CONDITION_EXHAUST)

setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local cfg = {

["paladin"] = {

MIN_HEALTH = 4000,

MAX_HEALTH = 8000,

MIN_MANA = 2000,

MAX_MANA = 4000

},

["mage"] = {

MIN_MANA = getPlayerLevel(cid) + getPlayerMagLevel(cid) * 4 * 0 + 6000,

MAX_MANA = getPlayerLevel(cid) + getPlayerMagLevel(cid) * 4 * 0 + 11000

},

["kina"] = {

MIN_HEALTH = 5000

MAX_HEALTH = 9000

MIN_MANA = 2000,

MAX_MANA = 2500

}

}

 

if isPlayer(itemEx.uid) == FALSE or cid ~= itemEx.uid then

return FALSE

end

 

 

if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then

doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)

return TRUE

end

 

if(getPlayerLevel(itemEx.uid) < 80) and (getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then

doCreatureSay(itemEx.uid, "Você Precisa obter o level 80 para ultilizar esta runa.", TALKTYPE_ORANGE_1)

return TRUE

end

 

if isPaladin(itemEx.uid) then

if doCreatureAddHealth(itemEx.uid, math.random(cfg["paladin"].MIN_HEALTH + getPlayerLevel(cid), cfg["paladin"].MAX_HEALTH + getPlayerLevel(cid))) == LUA_ERROR or doPlayerAddMana(itemEx.uid, math.random(cfg["paladin"].MIN_MANA + getPlayerLevel(cid), cfg["paladin"].MAX_MANA + getPlayerLevel(cid))) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Pally Rune", TALKTYPE_ORANGE_1)

end

 

if isDruid(itemEx.uid) or isSorcerer(itemEx.uid) then

if doCreatureAddMana(itemEx.uid, math.random(cfg["mage"].MIN_MANA, cfg["mage"].MAX_MANA)) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Mage Rune", TALKTYPE_ORANGE_1)

end

 

if isKnight(itemEx.uid) then

if doCreatureAddHealth(itemEx.uid, math.random(cfg["kina"].MIN_HEALTH + getPlayerLevel(cid), cfg["kina"].MAX_HEALTH + getPlayerLevel(cid))) == LUA_ERROR or doPlayerAddMana(itemEx.uid, math.random(cfg["kina"].MIN_MANA + getPlayerLevel(cid), cfg["kina"].MAX_MANA + getPlayerLevel(cid))) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Kina Rune", TALKTYPE_ORANGE_1)

end

 

doAddCondition(cid, exhaust)

doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)

return TRUE

end

 

 

 

 

Espero q funcione!

Editado por Roksas
Link para o comentário
Compartilhar em outros sites

  • 0

agr até um certo lvl aparece que eu nao tenho lvl pra usa a runa depois aparece que eu nao tenho vocaçao, ta dando um erro no executavel nao sei se tem ave com isso mas vo manda mesmo assim olha ae:

 

[Error - LuaScriptInterface::loadFile] data/actions/scripts/FREE-Rune.lua:18: '}' expected (to close '{' at line 16) near 'MAX_HEALTH'

[28/02/2013 06:53:52] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/FREE-Rune.lua)

[28/02/2013 06:53:53] data/actions/scripts/FREE-Rune.lua:18: '}' expected (to close '{' at line 16) near 'MAX_HEALTH'

Link para o comentário
Compartilhar em outros sites

  • 0

Mals, errei numas coisinhas, tenta:

 

 

local exhaust = createConditionObject(CONDITION_EXHAUST)

setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local cfg = {

["paladin"] = {

MIN_HEALTH = 4000,

MAX_HEALTH = 8000,

MIN_MANA = 2000,

MAX_MANA = 4000

},

["mage"] = {

MIN_MANA = getPlayerLevel(cid) + getPlayerMagLevel(cid) * 4 * 0 + 6000,

MAX_MANA = getPlayerLevel(cid) + getPlayerMagLevel(cid) * 4 * 0 + 11000

},

["kina"] = {

MIN_HEALTH = 5000,

MAX_HEALTH = 9000,

MIN_MANA = 2000,

MAX_MANA = 2500

}

}

 

if isPlayer(itemEx.uid) == FALSE or cid ~= itemEx.uid then

return FALSE

end

 

 

if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then

doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)

return TRUE

end

 

if(getPlayerLevel(itemEx.uid) < 80) and (getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then

doCreatureSay(itemEx.uid, "Você Precisa obter o level 80 para ultilizar esta runa.", TALKTYPE_ORANGE_1)

return TRUE

end

 

if isPaladin(itemEx.uid) then

if doCreatureAddHealth(itemEx.uid, math.random(cfg["paladin"].MIN_HEALTH + getPlayerLevel(cid), cfg["paladin"].MAX_HEALTH + getPlayerLevel(cid))) == LUA_ERROR or doPlayerAddMana(itemEx.uid, math.random(cfg["paladin"].MIN_MANA + getPlayerLevel(cid), cfg["paladin"].MAX_MANA + getPlayerLevel(cid))) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Pally Rune", TALKTYPE_ORANGE_1)

end

 

if isDruid(itemEx.uid) or isSorcerer(itemEx.uid) then

if doCreatureAddMana(itemEx.uid, math.random(cfg["mage"].MIN_MANA, cfg["mage"].MAX_MANA)) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Mage Rune", TALKTYPE_ORANGE_1)

end

 

if isKnight(itemEx.uid) then

if doCreatureAddHealth(itemEx.uid, math.random(cfg["kina"].MIN_HEALTH + getPlayerLevel(cid), cfg["kina"].MAX_HEALTH + getPlayerLevel(cid))) == LUA_ERROR or doPlayerAddMana(itemEx.uid, math.random(cfg["kina"].MIN_MANA + getPlayerLevel(cid), cfg["kina"].MAX_MANA + getPlayerLevel(cid))) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Kina Rune", TALKTYPE_ORANGE_1)

end

 

doAddCondition(cid, exhaust)

doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)

return TRUE

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

é ta dando a mesma coisa mas dexa vo tenta por otro runa mesmo assim rep+ pra ti por ta tantando me ajuda.

aproveitando o tópico no meu servidor tem um castle war no caso o woe que é um castelo cheio de alavanca quem puxar a alavanca certa ganha mas eu nao sei configura o woe entao tem como me ajuda ?

script woe.lua

 

 

 

dofile("./_woe.lua")

 

local config = woe_config

 

local reward = 2000000 -- 200k

 

local function EndWoe()

Woe.getInfo()

 

setGlobalStorageValue(stor.Started, 0)

setGlobalStorageValue(stor.WoeTime, 0)

 

Woe.expulsar(infoLua[2], Castle.salas.a.fromx, Castle.salas.a.tox, Castle.salas.a.fromy, Castle.salas.a.toy, Castle.salas.a.z, Castle._exit)

Woe.expulsar(infoLua[2], Castle.salas.b.fromx, Castle.salas.b.tox, Castle.salas.b.fromy, Castle.salas.b.toy, Castle.salas.b.z, Castle._exit)

Woe.expulsar(infoLua[2], Castle.salas.c.fromx, Castle.salas.c.tox, Castle.salas.c.fromy, Castle.salas.c.toy, Castle.salas.c.z, Castle._exit)

 

doBroadcastMessage("War of Emperium terminada", config.bcType)

doBroadcastMessage("O castelo " .. Castle.name .. " foi conquistado por ".. Woe.guildName() ..".", config.bcType)

 

if isCreature(getThingFromPos(Castle.empePos).uid) then

doRemoveCreature(getThingFromPos(Castle.empePos).uid)

end

 

Woe.removePre()

Woe.removePortals()

 

doRemoveItem(getThingFromPos(Castle.desde).uid)

 

Woe.save()

 

for _, cid in ipairs(getPlayersOnline()) do

if infoLua[2] == getPlayerGuildId(cid) then

doPlayerAddMoney(cid, reward)

end

end

 

Woe.remove()

setGlobalStorageValue(24503, -1)

 

end

 

function onThink(interval, lastExecution)

Woe.getInfo()

if Woe.isTime() then

if not Woe.isStarted() then

doSummonCreature("empe", Castle.empePos)

doSummonCreature("pre1", Castle.PreEmpes[1])

doSummonCreature("pre2", Castle.PreEmpes[2])

doBroadcastMessage("War of Emperium começou...", config.bcType)

setGlobalStorageValue(stor.Started, 1)

Woe.updateInfo({os.time(), infoLua[2], infoLua[3], infoLua[4]})

doCreateTeleport(1387, Castle.pos, Castle.desde)

addEvent(EndWoe, config.timeToEnd * 60 * 1000)

end

end

return true

end

 

 

era pra ele acontecer todos domingos entre as 20:00 e 21:00 horas e eu queria sabe se é setGlobalStorageValue(stor.Started, 0)

setGlobalStorageValue(stor.WoeTime, 0) nessa parte que eu configuro o tempo e se for como configuro ?

 

agr o arquivo start_woe.lua

 

 

 

dofile("./_woe.lua")

 

local config = woe_config

 

function isInTable(t, val)

if (type(t) == "table") then

for k, v in ipairs(t) do

if v == val then

return true

end

end

end

return false

end

 

local lastDay = false

 

function onThink(interval, lastExecution)

local day = string.lower(os.date("%A", os.time()))

if isInTable(config.dias, day) == true and lastday ~= day then

local Hora = tonumber(os.date("%H", os.time()))

if Hora == config.horaPartida then

if not Woe.isTime() then

doBroadcastMessage("War of Emperium vai começar nos próximos 30 minutos...", config.bcType)

doBroadcastMessage("Terá uma duração de " .. config.timeToEnd .. " minutos.", config.bcType)

setGlobalStorageValue(stor.WoeTime, 1)

lastDay = day

end

end

end

return true

end

 

 

 

tem como tu me ajuda ?

Link para o comentário
Compartilhar em outros sites

  • 0

Você só configura aqui:

 

local reward = 2000000 -- 200k

 

Troque o 200000 pelo valor da recompensa!

E se quiser ajustar o tempo dos eventos, poste as tags deles no .xml

E enquanto ao tópico , está a mesma coisa em q sentido?ql erro

Link para o comentário
Compartilhar em outros sites

  • 0

quando eu uso a runa aparece you connot use this object

tags .xml:

<globalevent name="WoE" interval="30" event="script" value="woe.lua"/>

<globalevent name="start_woe" interval="1700" event="script" value="start_woe.lua"/>

Link para o comentário
Compartilhar em outros sites

  • 0

Troca as tags por:

 

<globalevent name="WoE" time="22:00" event="script" value="woe.lua"/>
<globalevent name="start_woe" time="17:00" event="script" value="start_woe.lua"/>

 

Só mudar o time, para o horário, no formato 00:00

Exemplo 17:00 = 5 horas

14:30 = 2 e meia

 

@Veja se funciona a rune:

 

 

local exhaust = createConditionObject(CONDITION_EXHAUST)

setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local cfg = {

["paladin"] = {

MIN_HEALTH = 4000,

MAX_HEALTH = 8000,

MIN_MANA = 2000,

MAX_MANA = 4000

},

["mage"] = {

MIN_MANA = getPlayerLevel(cid) + getPlayerMagLevel(cid) * 4 * 0 + 6000,

MAX_MANA = getPlayerLevel(cid) + getPlayerMagLevel(cid) * 4 * 0 + 11000

},

["kina"] = {

MIN_HEALTH = 5000,

MAX_HEALTH = 9000,

MIN_MANA = 2000,

MAX_MANA = 2500

}

}

 

if isPlayer(itemEx.uid) == FALSE or cid ~= itemEx.uid then

return FALSE

end

 

 

if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then

doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)

return TRUE

end

 

if(getPlayerLevel(itemEx.uid) < 80) and (getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then

doCreatureSay(itemEx.uid, "Você Precisa obter o level 80 para ultilizar esta runa.", TALKTYPE_ORANGE_1)

return TRUE

end

 

if isPaladin(itemEx.uid) then

if doCreatureAddHealth(itemEx.uid, math.random(cfg["paladin"].MIN_HEALTH + getPlayerLevel(cid), cfg["paladin"].MAX_HEALTH + getPlayerLevel(cid))) == LUA_ERROR or doPlayerAddMana(itemEx.uid, math.random(cfg["paladin"].MIN_MANA + getPlayerLevel(cid), cfg["paladin"].MAX_MANA + getPlayerLevel(cid))) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Pally Rune", TALKTYPE_ORANGE_1)

end

 

if isDruid(itemEx.uid) or isSorcerer(itemEx.uid) then

if doCreatureAddMana(itemEx.uid, math.random(cfg["mage"].MIN_MANA, cfg["mage"].MAX_MANA)) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Mage Rune", TALKTYPE_ORANGE_1)

end

 

if isKnight(itemEx.uid) then

if doCreatureAddHealth(itemEx.uid, math.random(cfg["kina"].MIN_HEALTH + getPlayerLevel(cid), cfg["kina"].MAX_HEALTH + getPlayerLevel(cid))) == LUA_ERROR or doPlayerAddMana(itemEx.uid, math.random(cfg["kina"].MIN_MANA + getPlayerLevel(cid), cfg["kina"].MAX_MANA + getPlayerLevel(cid))) == LUA_ERROR then

return FALSE

end

doCreatureSay(itemEx.uid, "Kina Rune", TALKTYPE_ORANGE_1)

return true

end

 

doAddCondition(cid, exhaust)

doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)

return TRUE

end

 

Editado por Roksas
Link para o comentário
Compartilhar em outros sites

  • 0

ty agr funciono o problema era no chest que tava dando a runa trocada só fui ve agrwtf.gif , vlw mesmo amanha tedo REP+ denovo.

 

quanto ae woe, onde configuro a data que sera o evento ? tipo eu quero que aconteça todos domingos

Editado por MrKirito
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...