Posta também o script que você usa para dar a "permissão" para que o player use este comando.
E explique também direito que eu não entendi quase nada oque tu quer.
info
Grupo: Visconde
Registrado: 07/02/12
Posts: 427
Reputação: +112

Posta também o script que você usa para dar a "permissão" para que o player use este comando.
E explique também direito que eu não entendi quase nada oque tu quer.
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Vai em speels.xml e na tag dessa magia verifica se existe algo como learnspell isso faz com que o player só possa usar se aprender essa magia, então você pode adiciona-la pelo god.
Editado Abril 7 por Poccnn
Tipo eu quero que o player só use essa magia se o god der ela, e tou com um outro problema, quando god a usa funciona de boa, mais se um player usar da debug, o codigo original era de otserv 8.4, tou passando pra 8.6, poderiam me ajudar?
abaixo segue os demais codigos
Na pasta movemments
function onDeEquip(cid, item, slot)if isPlayer(cid) then doRemoveItem(item.uid) doSendMagicEffect(getCreaturePosition(cid), 29)end return TRUEend
movemments.xml
<movevent event="AddItem" itemid="7429" script="aura.lua"/><movevent event="AddItem" itemid="7410" script="aura.lua"/><movevent event="AddItem" itemid="8858" script="aura.lua"/><movevent event="AddItem" itemid="7881" script="aura.lua"/><movevent event="AddItem" itemid="7878" script="aura.lua"/><movevent event="AddItem" itemid="7872" script="aura.lua"/>
Na spells.xml
<instant name="ARod" words="exevo aura rod" lvl="75" mana="0" prem="0" needweapon="0" exhaustion="1000" needlearn="0" script="support/aurarod.lua"> <vocation name="Elder Druid"/> </instant>
aurarod.lua (pasta spells)
local config = { mana = 200, seconds = 60, storage = 500, semMana = "Você não têm mana suficiente.", msg = "Você precisa aguardar %d segundos para usar essa magia novamente.",}local combat1 = createCombatObject()setCombatParam(combat1, COMBAT_PARAM_EFFECT, 20)local combat2 = createCombatObject()setCombatParam(combat2, COMBAT_PARAM_EFFECT, 28)arr1 = {{0, 1, 0},{1, 3, 1},{0, 1, 0},}arr2 = {{1, 0, 1},{0, 3, 0},{1, 0, 1},}local area1 = createCombatArea(arr1)local area2 = createCombatArea(arr2)setCombatArea(combat1, area1)setCombatArea(combat2, area2)function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) == -1 then setPlayerStorageValue(cid, config.storage, os.time()-config.seconds) end if config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)) > 0 then doPlayerSendCancel(cid, string.format(config.msg, config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)))) return true end if getPlayerMana(cid) >= config.mana then setPlayerStorageValue(cid, config.storage, os.time()) if ((getPlayerSlotItem(cid, 5).itemid) <= 0) or ((getPlayerSlotItem(cid, 6).itemid) <= 0) then doPlayerAddMana(cid, -config.mana) doPlayerAddItem(cid,7410,1) addEvent(doCombat, 0, cid, combat1, var) addEvent(doCombat, 0, cid, combat2, var) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar com as mãos livres para receber a Aura Rod.") doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) doSendMagicEffect(getThingPosition(cid), CONST_ME_POFF) end elsedoPlayerSendCancel(cid, config.semMana) end return trueend
Na talcktions aura.lua
function onSay(cid, words, param)char = getPlayerByName(param)if (getPlayerGroupId(cid) == 6) then if getPlayerStorageValue(char, 10001) == 0 then setPlayerStorageValue(char,10005,1) setPlayerStorageValue(char,10002,1) setPlayerStorageValue(char,10007,1) setPlayerStorageValue(char,10001,1) doPlayerSendTextMessage(cid,22,"Você adicinou Full aura ao char " .. char ..".") doPlayerSendTextMessage(char,22,"Você recebeu Full Aura.") else setPlayerStorageValue(char,10005,0) setPlayerStorageValue(char,10002,0) setPlayerStorageValue(char,10007,0) setPlayerStorageValue(char,10001,0) doPlayerSendTextMessage(cid,22,"Você removeu a Full Aura do char " .. char ..".") endelsedoPlayerSendCancel(cid, "Somente Administradores podem usar esse comando.")endreturn TRUEend
talcktions.xml
<talkaction log="yes" words="/fullaura" access="5" script="aura.lua"/>
Muito obrigado desde já pela atençao ![]()
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

em spell.xml nessa tag da magia, mude o valor de learnspell para 1.
Adicione no script de talkactions/aura.lua, dentro do escopo para God essa função:
CitarplayerLearnInstantSpell(cid, "ARod")
Somente a quem o God favorecer, poderá dispor dessa magia.
1 minuto atrás, Poccnn disse:em spell.xml nessa tag da magia, mude o valor de learnspell para 1.
Adicione no script de talkactions/aura.lua, dentro do escopo para God essa função:
Somente a quem o God favorecer, poderá dispor dessa magia.
e mano, tipo quando um player usa a aura o serve buga, trava, da pra saber onde ta errado no codigo?
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Descreva o ocorrido.
Tipo, o god usa o item gerado por essa magia de boa, mais o Player não, quando clico em atacar qualquer bixo trava a tela.
Adicionei assim:
function onSay(cid, words, param)char = getPlayerByName(param)playerLearnInstantSpell(cid, "ARod") if (getPlayerGroupId(cid) == 6) then if getPlayerStorageValue(char, 10001) == 0 then setPlayerStorageValue(char,10005,1) setPlayerStorageValue(char,10002,1) setPlayerStorageValue(char,10007,1) setPlayerStorageValue(char,10001,1) doPlayerSendTextMessage(cid,22,"Você adicinou Full aura ao char " .. char ..".") doPlayerSendTextMessage(char,22,"Você recebeu Full Aura.") else setPlayerStorageValue(char,10005,0) setPlayerStorageValue(char,10002,0) setPlayerStorageValue(char,10007,0) setPlayerStorageValue(char,10001,0) doPlayerSendTextMessage(cid,22,"Você removeu a Full Aura do char " .. char ..".") endelsedoPlayerSendCancel(cid, "Somente Administradores podem usar esse comando.")endreturn TRUEend
Certo?
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Na função playerlearninstantspell muda o cid por char que no caso seria o player em questão.
Descreve melhor o ocorrido, se gera error no console, derruba o servidor, apenas laga mas funciona etc.
Qual servidor você usa?
Olha no momento baixei o TFS 0.4 que achei aqui no Forum, teria como me add skype brow? imarlonjr
Assim te mando a pasta você analisa melhor, se tiver como claro.
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Não tenho skype.
Desculpa demora ao responder brow, tive um transtorno com minha internet, tou upando os arquivos!
http://fansubanimesforever.eu.org/TFS.rar
Se tiver como você dar uma olhada por favor, estou com dificuldade nos 2 sistemas q disse esse da aura, e o da gema.
Testei o que você disse brow, funcionou em partes, tipo o usuario não consegue usar mais, mais não consigo dar a aura pro user.
info
Grupo: Campones
Registrado: 22/09/13
Posts: 27
Reputação: 0
Boa noite amigos, gostaria de saber como faço pro player só poder usar uma determinada "magia"*, no caso o (exevo aura rod), se ele tiver ela, ela só é adicionada pelo GOD. Tipo tenho um aq, mais qualquer pessoa lvl 200+ pode usar
gostaria de saber como coloco pra um usuario poder usar uma magia se ele tiver ela, tipo na database na tabela players eu add mais uma linha, a linha aura.
se essa linha linha = 1 o usuario pode usar, se não não!
Sò que no momento todos podem usar, alguem me ajuda pf?
local config = { mana = 200, seconds = 60, storage = 500, semMana = "Você não têm mana suficiente.", msg = "Você precisa aguardar %d segundos para usar essa magia novamente.",}local combat1 = createCombatObject()setCombatParam(combat1, COMBAT_PARAM_EFFECT, 20)local combat2 = createCombatObject()setCombatParam(combat2, COMBAT_PARAM_EFFECT, 28)arr1 = {{0, 1, 0},{1, 3, 1},{0, 1, 0},}arr2 = {{1, 0, 1},{0, 3, 0},{1, 0, 1},}local area1 = createCombatArea(arr1)local area2 = createCombatArea(arr2)setCombatArea(combat1, area1)setCombatArea(combat2, area2)function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) == -1 then setPlayerStorageValue(cid, config.storage, os.time()-config.seconds) end if config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)) > 0 then doPlayerSendCancel(cid, string.format(config.msg, config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)))) return true end if getPlayerMana(cid) >= config.mana then setPlayerStorageValue(cid, config.storage, os.time()) if ((getPlayerSlotItem(cid, 5).itemid) <= 0) or ((getPlayerSlotItem(cid, 6).itemid) <= 0) then doPlayerAddMana(cid, -config.mana) doPlayerAddItem(cid,7410,1) addEvent(doCombat, 0, cid, combat1, var) addEvent(doCombat, 0, cid, combat2, var) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar com as mãos livres para receber a Aura Rod.") doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) doSendMagicEffect(getThingPosition(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, config.semMana) end return trueend