LU
pedido

Fábrica de Scripts

Por LuckOake, 28 de set. de 2013 em Scripts

resolvido
script
166
20.7k
28 de setembro de 2013 às 20:47

Faz um proprio então rsrsrs

LuckOakeL
28 de setembro de 2013 às 20:49

Faz um proprio então rsrsrs

 

Vou fazer e postar num tópico depois. Esse sistema vai demorar um pouquinho mais pra ficar pronto.

Editado Setembro 28 por LuckOake

28 de setembro de 2013 às 20:51

Ok aguardo,rep+ dados :)

2121212
28 de setembro de 2013 às 20:53

Funcionando perfeitamente! REP+ 4ever

 

Abç

28 de setembro de 2013 às 20:55

Luck,teria como colocar para não puder usar na arena?

AlphaLoveA
28 de setembro de 2013 às 21:00

Luck, continua não puxando a ultima alavanca amigo, creio que seja por que no script não contém a action id 19014 que tu mandou eu por na ultima alavanca.. Não sei se é isso, é somente um palpite, pois não entendo nada de script.

 

 

Nas levers erradas, coloque action id como 19010, e nas certas como 19012. Na lever que abre a porta, 19014.

 

Script que tu me mandou pot ultimo:

 

 

 

function onUse(cid, item)
    local door_pos = {x = 93, y = 125, z = 7, stackpos = 1} -- Posição da porta
    local global_storage = 13891 -- Global Storage da lever que remove a porta
    local lever_istorage = 13892 -- Global Storage das levers erradas
    local lever_cstorage = 13893 -- Global Storage das levers corretas
    local door_id = 1111 -- ID da porta
    local back_time = 15 -- Tempo, em segundos, para a porta reaparecer
    local lever_pulled = 1945 -- ID da lever não puxada
    local lever_normal = 1946 -- ID da lever puxada
    local levers = {
        [19010] = {gstorage = lever_istorage, add = 1, n_aid = 19011},
        [19011] = {gstorage = lever_istorage, add = -1, n_aid = 19010},
        [19012] = {gstorage = lever_cstorage, add = 1, n_aid = 19013},
        [19013] = {gstorage = lever_cstorage, add = -1, n_aid = 19012},
        [19014] = door_pos,
    }
    
    if not levers[item.actionid].gstorage then
        if getGlobalStorageValue(global_storage) == 1 or getGlobalStorageValue(lever_istorage) ~= -1 or getGlobalStorageValue(lever_cstorage) < 1 then return true end
        
        doRemoveItem(getThingFromPos(door_pos).uid, 1)
        setGlobalStorageValue(global_storage, 1)
        addEvent(function()
                    setGlobalStorageValue(global_storage, -1)
                    doCreateItem(door_id, 1, door_pos)
                end, back_time*1000)
    else
        setGlobalStorageValue(levers[item.actionid].gstorage, getGlobalStorageValue(levers[item.actionid].gstorage)+levers[item.actionid].add)
        doItemSetAttribute(item.uid, "aid", levers[item.actionid].n_aid)
        doTransformItem(item.uid, item.itemid == lever_pulled and lever_normal or lever_pulled)
    end
return true
end

[/spoiler

Editado Setembro 28 por N4K4MUR4

LuckOakeL
28 de setembro de 2013 às 21:02

 

Luck, continua não puxando a ultima alavanca amigo, creio que seja por que no script não contém a action id 19014 que tu mandou eu por na ultima alavanca.. Não sei se é isso, é somente um palpite, pois não entendo nada de script.

 

 

Nas levers erradas, coloque action id como 19010, e nas certas como 19012. Na lever que abre a porta, 19014.

 

 

Rapaz, mas o último fix que postei estava funcionando normalmente. Você deve ter colocado algo errado.

AlphaLoveA
28 de setembro de 2013 às 21:11

 

 

Luck, continua não puxando a ultima alavanca amigo, creio que seja por que no script não contém a action id 19014 que tu mandou eu por na ultima alavanca.. Não sei se é isso, é somente um palpite, pois não entendo nada de script.

 

 

Nas levers erradas, coloque action id como 19010, e nas certas como 19012. Na lever que abre a porta, 19014.

 

 

Rapaz, mas o último fix que postei estava funcionando normalmente. Você deve ter colocado algo errado.

 

 

Simplesmente fiz o que tu mandou amigo.

LuckOakeL
28 de setembro de 2013 às 21:14

 

 

Simplesmente fiz o que tu mandou amigo.

 

 

Na verdade, o último script que te mandei foi esse:

 

function onUse(cid, item)
    local door_pos = {x = 93, y = 125, z = 7, stackpos = 1} -- Posição da porta
    local global_storage = 13895 -- Global Storage da lever que remove a porta
    local lever_istorage = 13896 -- Global Storage das levers erradas
    local lever_cstorage = 13897 -- Global Storage das levers corretas
    local door_id = 1111 -- ID da porta
    local back_time = 15 -- Tempo, em segundos, para a porta reaparecer
    local lever_pulled = 1945 -- ID da lever não puxada
    local lever_normal = 1946 -- ID da lever puxada
    local levers = {
        [19010] = {gstorage = lever_istorage, add = 1, n_aid = 19011},
        [19011] = {gstorage = lever_istorage, add = -1, n_aid = 19010},
        [19012] = {gstorage = lever_cstorage, add = 1, n_aid = 19013},
        [19013] = {gstorage = lever_cstorage, add = -1, n_aid = 19012},
        [19014] = door_pos,
    }
    
    if not levers[item.actionid].gstorage then
        if getGlobalStorageValue(global_storage) == 1 or getGlobalStorageValue(lever_istorage) ~= -1 or getGlobalStorageValue(lever_cstorage) < 1 then return true end
        
        doRemoveItem(getTileItemById(door_pos, door_id).uid, 1)
        setGlobalStorageValue(global_storage, 1)
        addEvent(function()
                    setGlobalStorageValue(global_storage, -1)
                    doCreateItem(door_id, 1, door_pos)
                end, back_time*1000)
    else
        setGlobalStorageValue(levers[item.actionid].gstorage, getGlobalStorageValue(levers[item.actionid].gstorage)+levers[item.actionid].add)
        doItemSetAttribute(item.uid, "aid", levers[item.actionid].n_aid)
    end
    doTransformItem(item.uid, item.itemid == lever_pulled and lever_normal or lever_pulled)
return true
end

 

 

 

Substitua seu atual por esse.

Editado Setembro 28 por LuckOake

AlphaLoveA
28 de setembro de 2013 às 21:21

 

 

 

Simplesmente fiz o que tu mandou amigo.

 

 

Na verdade, o último script que te mandei foi esse:

 

function onUse(cid, item)
    local door_pos = {x = 93, y = 125, z = 7, stackpos = 1} -- Posição da porta
    local global_storage = 13895 -- Global Storage da lever que remove a porta
    local lever_istorage = 13896 -- Global Storage das levers erradas
    local lever_cstorage = 13897 -- Global Storage das levers corretas
    local door_id = 1111 -- ID da porta
    local back_time = 15 -- Tempo, em segundos, para a porta reaparecer
    local lever_pulled = 1945 -- ID da lever não puxada
    local lever_normal = 1946 -- ID da lever puxada
    local levers = {
        [19010] = {gstorage = lever_istorage, add = 1, n_aid = 19011},
        [19011] = {gstorage = lever_istorage, add = -1, n_aid = 19010},
        [19012] = {gstorage = lever_cstorage, add = 1, n_aid = 19013},
        [19013] = {gstorage = lever_cstorage, add = -1, n_aid = 19012},
        [19014] = door_pos,
    }
    
    if not levers[item.actionid].gstorage then
        if getGlobalStorageValue(global_storage) == 1 or getGlobalStorageValue(lever_istorage) ~= -1 or getGlobalStorageValue(lever_cstorage) < 1 then return true end
        
        doRemoveItem(getTileItemById(door_pos, door_id).uid, 1)
        setGlobalStorageValue(global_storage, 1)
        addEvent(function()
                    setGlobalStorageValue(global_storage, -1)
                    doCreateItem(door_id, 1, door_pos)
                end, back_time*1000)
    else
        setGlobalStorageValue(levers[item.actionid].gstorage, getGlobalStorageValue(levers[item.actionid].gstorage)+levers[item.actionid].add)
        doItemSetAttribute(item.uid, "aid", levers[item.actionid].n_aid)
    end
    doTransformItem(item.uid, item.itemid == lever_pulled and lever_normal or lever_pulled)
return true
end

 

 

 

Substitua seu atual por esse.

 

 

Amigo, de qualquer forma, a terceira alavanca não está puxando ;s

LuckOakeL
28 de setembro de 2013 às 21:22

 

 

Amigo, de qualquer forma, a terceira alavanca não está puxando ;s

 

 

Verifica se configurou tudo certim aqui:

local door_pos = {x = 93, y = 125, z = 7, stackpos = 1} -- Posição da porta
local global_storage = 13895 -- Global Storage da lever que remove a porta
local lever_istorage = 13896 -- Global Storage das levers erradas
local lever_cstorage = 13897 -- Global Storage das levers corretas
local door_id = 1111 -- ID da porta
local back_time = 15 -- Tempo, em segundos, para a porta reaparecer
local lever_pulled = 1945 -- ID da lever não puxada
local lever_normal = 1946 -- ID da lever puxada

 

Se não funcionar, qual versão é seu server?

28 de setembro de 2013 às 21:23

Luck tem como colocar para não usar em arenas?

 

Outra coisa um SCRIPT que blokeia o alvo de usar Qualquer tipo de magia

AlphaLoveA
28 de setembro de 2013 às 21:28

 

 

 

Amigo, de qualquer forma, a terceira alavanca não está puxando ;s

 

 

Verifica se configurou tudo certim aqui:

local door_pos = {x = 93, y = 125, z = 7, stackpos = 1} -- Posição da porta
local global_storage = 13895 -- Global Storage da lever que remove a porta
local lever_istorage = 13896 -- Global Storage das levers erradas
local lever_cstorage = 13897 -- Global Storage das levers corretas
local door_id = 1111 -- ID da porta
local back_time = 15 -- Tempo, em segundos, para a porta reaparecer
local lever_pulled = 1945 -- ID da lever não puxada
local lever_normal = 1946 -- ID da lever puxada

Se não funcionar, qual versão é seu server?

 

 

tentei assim, do jeito que tu disse acima /\, e tentei assim:

 

 

function onUse(cid, item)
    local door_pos = {x = 677, y = 1079, z = 7, stackpos = 1} -- Posição da porta
    local global_storage = 13895 -- Global Storage da lever que remove a porta
    local lever_istorage = 13896 -- Global Storage das levers erradas
    local lever_cstorage = 13897 -- Global Storage das levers corretas
    local door_id = 9118 -- ID da porta
    local back_time = 15 -- Tempo, em segundos, para a porta reaparecer
    local lever_pulled = 1945 -- ID da lever não puxada
    local lever_normal = 1946 -- ID da lever puxada
    local levers = {
        [19010] = {gstorage = lever_istorage, add = 1, n_aid = 19011},
        [19011] = {gstorage = lever_istorage, add = -1, n_aid = 19010},
        [19012] = {gstorage = lever_cstorage, add = 1, n_aid = 19013},
        [19013] = {gstorage = lever_cstorage, add = -1, n_aid = 19012},
        [19014] = door_pos,
    }
    
    if not levers[item.actionid].gstorage then
        if getGlobalStorageValue(global_storage) == 1 or getGlobalStorageValue(lever_istorage) ~= -1 or getGlobalStorageValue(lever_cstorage) < 1 then return true end
        
        doRemoveItem(getTileItemById(door_pos, door_id).uid, 1)
        setGlobalStorageValue(global_storage, 1)
        addEvent(function()
                    setGlobalStorageValue(global_storage, -1)
                    doCreateItem(door_id, 1, door_pos)
                end, back_time*1000)
    else
        setGlobalStorageValue(levers[item.actionid].gstorage, getGlobalStorageValue(levers[item.actionid].gstorage)+levers[item.actionid].add)
        doItemSetAttribute(item.uid, "aid", levers[item.actionid].n_aid)
    end
    doTransformItem(item.uid, item.itemid == lever_pulled and lever_normal or lever_pulled)
return true
end

 

 

 

Ambas as opções, não mechem a ultima alavanca, na qual tu mandou eu por ActionID: 19014

Editado Setembro 28 por N4K4MUR4

LuckOakeL
28 de setembro de 2013 às 21:29

Luck tem como colocar para não usar em arenas?

 

Outra coisa um SCRIPT que blokeia o alvo de usar Qualquer tipo de magia

 

Pra não permitir usar em arenas:

 

 

 

function onCastSpell(cid, var)
    local tp_pos = {x = 100, y = 100, z = 7} -- Posição que o target será levado
    local effect_player = 10 -- Efeito que sairá no player
    local effect_target = 15 -- Efeito que sairá no target
    local exhaustion_time = 2 -- Exhaustion (em segundos)
    local exhaust = 18501 -- Storage da exhaustion
    
    if getTileInfo(getCreaturePosition(cid)).hardcore then
        doPlayerSendCancel(cid, "Você não pode usar essa magia em arenas.")
        return false
    if getCreatureTarget(cid) <= 0 then
        doPlayerSendCancel(cid, "Você precisa selecionar um alvo.")
        return false
    elseif exhaustion.check(cid, exhaust) then
        doSendMagicEffect(getCreaturePosition(cid), 2)
        doPlayerSendCancel(cid, "Aguarde "..(exhaustion.get(cid, exhaust)).." segundos para usar a magia novamente.")
        return false
    end
    
    local target = getCreatureTarget(cid)
    doSendMagicEffect(getCreaturePosition(cid), effect_player)
    doSendMagicEffect(getCreaturePosition(target), effect_target)
    setPlayerStorageValue(target, 18500, "x = "..(getCreaturePosition(target).x)..",y = "..(getCreaturePosition(target).y)..",z = "..(getCreaturePosition(target).z)..",")
    doTeleportThing(target, tp_pos)
    exhaustion.set(cid, exhaust, exhaustion_time)
return true
end
 
function onStepIn(cid, item)
    local storage = getPlayerStorageValue(cid, 18500)
    local pos = {x = string.match(storage, "x = (.-),"), y = string.match(storage, "y = (.-),"), z = string.match(storage, "z = (.-),")}
    doTeleportThing(cid, pos)
return true
end

 

Já o segundo pedido, é impossível sem sources.

2121212
28 de setembro de 2013 às 21:32

Luck, sobre o sistema, seria possível adicionar experiencia como premio também na tabela? Obs: tentei adicionar expgain =

No aguardo, obrigado denovo.