KE
pedido

Magia que Faz o player ficar de GHOST por 3 segundos.

Por KennyConrad, 08 de ago. de 2015 em Scripts

13
3.1k
KennyConradK
08 de agosto de 2015 às 03:45

Preciso de uma magia que faz o player ficar de Ghost por 3 Segundos, só pode usar essa magia a cada 60 segundos.

RigByR
08 de agosto de 2015 às 09:23
Melhor resposta

Aqui a spell

local time = 3 -- quanto tempo a magia vai dura?
local spelltime = 60 -- em quanto tempo podera solta a magia denovo?
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE)
local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false)
 
function onCastSpell(cid, var)
    if getPlayerStorageValue(cid, 2132312) < os.time () then
        doAddCondition(cid, invisible)
        doAddCondition(cid, outfit)
        setPlayerStorageValue(cid, 2132313, 1)
        setPlayerStorageValue(cid, 2132312, os.time () + spelltime)
        addEvent(function()
            if isPlayer(cid) then
                doRemoveCondition(cid, CONDITION_INVISIBLE)
                setPlayerStorageValue(cid, 2132313, -1)
                doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE)
            end
        end, time * 1000)
    else
        doPlayerSendCancel(cid, "Voce so pode usar esse magia daqui a "..getPlayerStorageValue(cid, 2132312) - os.time ().." segundos.")
        return false
    end
    return true
end
e para que quando o player deslogue não fique invisível para sempre, adicione isso em creaturescript/script/Login.lua
if getPlayerStorageValue(cid, 2132313) == 1 then
    doRemoveCondition(cid, CONDITION_INVISIBLE)
    doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE)
    setPlayerStorageValue(cid, 2132313, -1)
end
KennyConradK
09 de agosto de 2015 às 00:44

@Edit Funcinou perfeitamente, más seria possivel ficar invisivel para os Players Também ???

Só está ficando invisivel para criaturas.

Editado Agosto 9 por KennyxD

mrlhslM
09 de agosto de 2015 às 00:48

Bom pedido também gostaria do mesmo se alguem ae puder ajudar

RigByR
09 de agosto de 2015 às 10:11

tem certeza?

que eu saiba ele ta ficando invisível para player

apenas cargos maiores que gm pode ver.

GAMEMASTER_INVISIBLE

 

você testo com mc, pra ver?

KennyConradK
09 de agosto de 2015 às 16:54

sim testei até com outros players, eles estão conseguindo me ver, meu servidor é versão 10.35 oque acho estranho é que pode ser algo relacionado aos GROUPS pois GM PODE VER GM porem GM Não pode Ver Coordenador e Coordenador não pode ver ADM ou seja somente cargos iguais podem se ver e o ADM Obvio pode ver todos do cargo abaixo de GHOST.

gabriel28G
09 de agosto de 2015 às 17:13

Pra funcionar, vai ter que arrumar um jeito de por o player no group id de Tutor.

RigByR
09 de agosto de 2015 às 17:25

eu fiz ela com base no TFS 0.4 para baixo

que TFS você ta usando?

KennyConradK
09 de agosto de 2015 às 18:15

TFS 3.8 da OTXServer.

 

Acho que ja sei o que posso fazer, teria como você colocar pra setar Group ID 2, vou criar uma especie de group tutor sem comandos tipo aqueles tutores de ot 8.50 que continua sendo player más é tutor kkkk

Editado Agosto 9 por KennyxD

XScupionX
09 de agosto de 2015 às 19:20

Ele ficaria o group 2 ou sairia em tal tempo?

local time = 3 -- quanto tempo a magia vai dura?
local spelltime = 60 -- em quanto tempo podera solta a magia denovo?
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE)
local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false)
 
function onCastSpell(cid, var)
    if getPlayerStorageValue(cid, 2132312) < os.time () then
        doAddCondition(cid, invisible)
        doAddCondition(cid, outfit)
        setPlayerGroupId(cid, 2)
        setPlayerStorageValue(cid, 2132313, 1)
        setPlayerStorageValue(cid, 2132312, os.time () + spelltime)
        addEvent(function()
            if isPlayer(cid) then
                doRemoveCondition(cid, CONDITION_INVISIBLE)
                setPlayerStorageValue(cid, 2132313, -1)
                doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE)
            end
        end, time * 1000)
    else
        doPlayerSendCancel(cid, "Voce so pode usar esse magia daqui a "..getPlayerStorageValue(cid, 2132312) - os.time ().." segundos.")
        return false
    end
    return true
end
KennyConradK
09 de agosto de 2015 às 19:53

é pra sair o group 2 também junto com a magia.

XScupionX
09 de agosto de 2015 às 20:07
local time = 3 -- quanto tempo a magia vai dura?
local spelltime = 60 -- em quanto tempo podera solta a magia denovo?
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE)
local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false)


function onCastSpell(cid, var)
    if getPlayerStorageValue(cid, 2132312) < os.time () then
        doAddCondition(cid, invisible)
        doAddCondition(cid, outfit)
        setPlayerGroupId(cid, 2)
        setPlayerStorageValue(cid, 2132313, 1)
        setPlayerStorageValue(cid, 2132312, os.time () + spelltime)
        addEvent(function()
            if isPlayer(cid) then
                doRemoveCondition(cid, CONDITION_INVISIBLE)
                setPlayerStorageValue(cid, 2132313, -1)
                setPlayerGroupId(cid, 1)
                doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE)
            end
        end, time * 1000)
    else
        doPlayerSendCancel(cid, "Voce so pode usar esse magia daqui a "..getPlayerStorageValue(cid, 2132312) - os.time ().." segundos.")
        return false
    end
    return true
end

Ele voltara o player group 1 quando a magia acabar.

KennyConradK
10 de agosto de 2015 às 10:26

Resolvido, muito obrigado The JV

E Obrigado XScupion