Ir para conteúdo

Legorfriddon

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Legorfriddon deu reputação a Skyforever em [TalkAction] Leilão System   
    Olá, galerinha vim trazer o sistema de leilão


    Imagens




    primeiramente vá em

    /data/talkactions/scripts crie um arquivo chamado leilao.lua e adicione isso dentro



    function onSay(cid, words, param) config = { acess = 4, time = 5, storage = {25601,25602,650213} } function getWinnerLeilao() local w = tostring(getGlobalStorageValue(config.storage[1])):gsub(':', ''):explode(',') if not getPlayerByNameWildcard(w[4]) then local item = doCreateItemEx(w[1]-1, w[2]) local x = doItemSetAttribute(item, "description", "Item comprado em leilão por "..w[3].." gps.") doPlayerSendMailByName(w[4], item) else local x = doPlayerAddItem(getPlayerByNameWildcard(w[4]), w[1], w[2]) doItemSetAttribute(x, "description", "Item comprado em leilão por "..w[3].." gps.") end doBroadcastMessage("O item ["..getItemNameById(w[1]).." : "..w[2].."] Foi vendido para o jogador "..w[4].." por "..w[3].." gps!") setGlobalStorageValue(config.storage[1],-1) setGlobalStorageValue(config.storage[2],-1) for _, pid in pairs(getPlayersOnline()) do setPlayerStorageValue(pid, config.storage[3], -1) end return db.executeQuery("DELETE FROM `player_storage` WHERE `key` = "..config.storage[3]) end if words == "/leilao" then if getPlayerAccess(cid) < config.acess then doPlayerSendTextMessage(cid, 28, "Você não pode executar essa ação.") return true end local t = string.explode(param, ",") if not tonumber(getGlobalStorageValue(config.storage[1])) then doPlayerSendTextMessage(cid, 27, "Já há um leilão ativo no momento.") return true elseif not tonumber(t[1]) or not tonumber(t[2]) or not tonumber(t[3]) then doPlayerSendTextMessage(cid, 28, "Faltou parametro.")return true elseif not isItemMovable(t[1]) then doPlayerSendTextMessage(cid, 28, "Você não pode adicionar esse item no leilão.")return true end setGlobalStorageValue(config.storage[1], ":"..t[1]..",:"..(isItemStackable(t[1]) and t[2] or 1)..",:"..t[3]..",:"..getCreatureName(cid)) setGlobalStorageValue(config.storage[2], os.time()+ config.time*60) doBroadcastMessage("[Leilão] O item ["..getItemNameById(t[1]).." : "..(isItemStackable(t[1]) and t[2] or 1).."] Está em leilão até "..os.date("%X ", getGlobalStorageValue(config.storage[2])).."\nLance Minimo: "..t[3].." gps.") addEvent(getWinnerLeilao, config.time*1000*60) elseif words == "!lance" then if tonumber(getGlobalStorageValue(config.storage[1])) then doPlayerSendTextMessage(cid, 27, "Não tem nenhum leilão ativo no momento.") return true end local s = tostring(getGlobalStorageValue(config.storage[1])):gsub(':', ''):explode(',') if param == "lista" then doShowTextDialog(cid,s[1], "Item: "..getItemNameById(s[1]).."\n\nQuantidade: "..s[2].."\n\nMaior lance atual: "..s[3].."\n\nJogador: "..s[4].."\n\nPrazo Final: "..os.date("%X ", getGlobalStorageValue(config.storage[2]))) return true elseif not tonumber(param) or tonumber(param) <= 0 or tonumber(param) > 9999999 then doPlayerSendTextMessage(cid, 28, "digite um número válido.") return true end local li = getPlayerStorageValue(cid, config.storage[3]) < 0 and 0 or getPlayerStorageValue(cid, config.storage[3]) local conta = (li + tonumber(param)) if conta <= tonumber(s[3]) then doPlayerSendTextMessage(cid, 28, "você tem que dar um lance maior que "..s[3].." gps") return true elseif not doPlayerRemoveMoney(cid, tonumber(param)) then doPlayerSendTextMessage(cid, 28, "você não tem gps suficientes para dar um lance") return true end setPlayerStorageValue(cid, config.storage[3], conta) setGlobalStorageValue(config.storage[1], ":"..s[1]..",:"..s[2]..",:"..conta..",:"..getCreatureName(cid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, agora você deu o maior lance de "..conta.." gps no item [Nome: "..getItemNameById(s[1]).."] [Count: "..s[2].."]") end return true end talkactions.xml <talkaction words="/leilao;!lance" script="leilao.lua"/>

    Como usar

    GOD fala

    /leilao item, quantidade, lançe minimo

    player fala
    !lance lançe

    player fala
    !lance lista


    para ver as info do leilão

    Créditos
    Eu
    Vodkart
  2. Gostei
    Legorfriddon deu reputação a Renato em [Action] Quest que ganha crystal coins equivalente ao level   
    Créditos: Eu (por criar o script), thalia (por me ajudar e algumas correções básicas)
    Sei que parece um script básico, mas é que eu estou aprendendo ainda, então não reclama .l.

    Explicação: Se você for level 50 vai ganhar 50 crystal coins, se for level 10 vai ganhar 10 crystal coins etc.

    • Crie um arquivo LUA com o nome cclevelquest.lua em data/actions/scripts
    E ponha:


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

    local config = {
    storage = 1579,
    itemid = 2160,
    qnt = getPlayerLevel(cid),
    }

    if getPlayerStorageValue(cid, config.storage) == 1 then
    return doPlayerSendCancel(cid, "You already make this quest.")
    else
    setPlayerStorageValue(cid, config.storage, 1)
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You received "..config.qnt.." crystal coins.")
    doPlayerAddItem(cid, config.itemid, config.qnt)
    end
    end
    [/code] Você pode trocar o itemid pra outro item que seja contável também.. mas não esquece de trocar o nome nessa linha: [code]doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You received "..config.qnt.." crystal coins.") Onde tá crystal coins. • Em actions.xml coloque <action actionid="9898" event="script" value="cclevelquest.lua"/>

    No mapeditor você vai colocar 9898 no actionid nas propriedades do chest e não em uniqueid

    Abraços.
  3. Gostei
    Legorfriddon deu reputação a Slaake em [Action] Item que da Experience e Dinheiro   
    Olá, estou eu aki mais uma vez com um novo script



    O que ele faz ? Bom, ele da Experience e Dinheiro ao player quando ele da use no item.



    Vamos lá ?




    1º Vá data/actions/actions.xml e adicione esta tag:








    2º Agora, vá em data/actions/script copie um arquivo .lua renomeio para moneyexp e apague tudo que estiver la dentro e ponha isto:








    Explicações:




    Em vermelho é o ID do item (voce pode mudar)



    Em azul a mensagem que irá aparecer quando o player de use no item



    Em verde é a quantidade de experience que o player vai ganhar



    Em laranja é o dinheiro que o player vai ganhar




    Créditos:



    Slaake (100%)

  4. Gostei
    Legorfriddon deu reputação a Skydangerous em [MOD] Criando teleporte pelo jogo   
    Crie um teleporte em qualquer lugar , em qualquer hora para qualquer lugar do mapa.

    Util para otserv com eventos !

    Modo de usar: /portal X,Y,Z, quantas pessoas podem entrar



    <?xml version="1.0" encoding="utf-8"?> <mod name="Portal" version="2.0" enabled="yes"> <description> Faz um portal no seu pe , e as pessoas podem entrar ex. /portal x,y,z,quantas pessoas ex. /portal 1000,1000,7,15 </description> <talkaction words="/portal" access="5" event="script"><![CDATA[ function onSay(cid, words, param) param = param.explode(param, ',') if param then teleport = doCreateTeleport(1387, {x=param[1], y=param[2], z=param[3]}, getPlayerPosition(cid)) doItemSetAttribute(teleport, "description", 'The portal may enter '..param[4]..' people left.') doItemSetAttribute(teleport, "aid", 100+param[4]) else doPlayerSendCancel(cid, "You must set param.") end return TRUE end ]]></talkaction> <movement type="StepIn" itemid="9740" event="script"><![CDATA[ function onStepIn(cid, item, position, fromPosition) if item.actionid > 100 then doItemSetAttribute(item.uid, "description", 'The portal may enter '..(item.actionid-101)..' people left.') doItemSetAttribute(item.uid, "aid", item.actionid-1) elseif item.actionid == 100 then doBroadcastMessage("The Portal has ran out of energy and collapsed.", MESSAGE_EVENT_ADVANCE) doSendMagicEffect(position, 2) doRemoveItem(item.uid, 1) end return true end ]]></movement> </mod> Créditos: Ao Scripter, n&#227;o lembro o nome

Informação Importante

Confirmação de Termo