Ir para conteúdo

fokus090

Cavaleiro
  • Total de itens

    190
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Posts postados por fokus090

  1. @SkyLigh

    Ele mencionou "Pela primeira vez". Devo concluir que a mensagem deve aparecer uma ÚNICA vez.

     

    @Topic

     

    1º - ao entrar pela primeira vez no jogo, o player irá receber uma mensagem. { Configurável }

     

    -- < Script by Frenesy > --

    function onLogin(cid)

    local Name = "Account Manager"

     

    if (getCreatureName(cid) ~= Name) then

    queststatus = getPlayerStorageValue(cid,999)

    if queststatus == -1 then

    doPlayerSendTextMessage(cid, 22, "'Sua Mensagem Aqui!")

    setPlayerStorageValue(cid, 999, 1)

    setPlayerStorageValue(cid, 10000, 1)

    end

    end

    return true

    end

     

    2º - o player nao deve passar em grounds ( mais de um, configurável), sem antes fazer oque o npc mandar, ou sem antes ter a storage "Y", não sei oque é melhor.

     

    function onStepIn(cid, item, fromPosition, toPosition)

     

    local config = {

    QuestStorage = 1000,

    MsgDeny = "Sua Mensagem Aqui."

    }

     

    if getPlayerStorageValue(cid, config.QuestStorage) <= 0 then

    doTeleportThing(cid, fromPosition)

    doPlayerSendCancel(cid, config.MsgDeny)

    end

    return true

    end

     

    3º o player não pode passar no tile "Z" sem ter um certo lvl

     

    function onStepIn(cid, item, position, fromPosition)

     

    level = 3000

     

    if getPlayerLevel(cid) < level then

    doTeleportThing(cid, fromPosition, true)

    doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

    doPlayerSendCancel(cid,"You Need level " .. level .. " or more this pass.")

    end

    return TRUE

    end

     

    4º o player não pode passar no tile "X" sem ser premium account, acho que tem no forum mas nao achei :(

     

    function onStepIn(cid, item, position, fromPosition)

    if isPremium(cid) == FALSE then

    doTeleportThing(cid, fromPosition, false)

    doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)

    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente players premium podem passar.")

    end

    return TRUE

    end

  2. local keywordHandler = KeywordHandler:new()
    local npcHandler = NpcHandler:new(keywordHandler)
    NpcSystem.parseParameters(npcHandler)
    
    function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
    function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
    function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
    function onThink() npcHandler:onThink() end
    
    npcHandler:addModule(FocusModule:new())
    
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    local time = 5
    local msg = string.lower(msg)
    
    local function Sucesso(cid, id)
       if isCreature(cid) then
       doPlayerAddItem(cid, id, 1)
       doPlayerSendTextMessage(cid, 27, "Success -> You created an ".. getItemNameById(id)..".")
       end
    end
    
    local function Falha(cid, id)
       if isCreature(cid) then
       doPlayerSendTextMessage(cid, 27, "Failed -> Trying to create your ".. getItemNameById(id).." failed.")
       end
    end
    
    -- Conversa Jogador/NPC
    
       if (msgcontains(msg, 'maker wings')) then
       selfSay('Eu posso lhe criar 3 tipos diferentes de asa . {angelical wings} , {diabolic wings} , {fairy wings} , qual asa voce deseja criar?.', cid)
    
       elseif (msgcontains(msg, 'angelical wings')) then
       selfSay(' Bom... para voce criar uma angelical wings , voce precisa de 1kk , e voce terá 50% de chance de sucesso. ainda deseja criar sua asa?', cid)
       talkState[talkUser] = 1
    
       elseif(msgcontains(msg, 'vip armor')) then
       selfSay('Voc\ê quer comprar Vip Armor por 100 moedas de ouro?', cid)
       talkState[talkUser] = 2
    
    
       elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
       if (doPlayerRemoveItem(cid,2160,100) == true) then
       if math.random(1,100) <= 50 then
       addEvent(Sucesso, time*1000, cid, 2160)
       talkState[talkUser] = 0
       return true
       else
       addEvent(Falha, time*1000, cid, 2160)
       talkState[talkUser] = 0
    return true
    end
    else
    selfSay("Você não tem dinheiro suficiente!", cid)
    talkState[talkUser] = 0
    return true
    end
    
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
    if (doPlayerRemoveItem(cid, 2157, 100) == true) then
    selfSay('Obrigado por comprar!', cid)
    doPlayerAddItem(cid, 8885, 1)
    talkState[talkUser] = 0
    return true
    else
    selfSay('Você não tem 100 moedas de ouro', cid)
    talkState[talkUser] = 0
    return true
    
    return true
    end
    
    end
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())
    

  3. meio ilogico ele ficar baixando server até achar o otb compativel com o dele!

    Na verdade não é não. Os Items.otb dele está com defeito. O que ele pode fazer? Criar outro .otb? Sabemos que não dá. Então o mais lógico é substituir o arquivo defeituoso. Pelo menos é o que eu faria. Se tiver idéia melhor...

  4. Va em data/takaction/scripts crie um arquivo .LUA apague tudo q tem dentro e cole:

     

    function onSay(cid, words, param)

    if getPlayerPremiumDays(cid) > 2 then

    doPlayerRemovePremiumDays(cid, 3)

    if getPlayerSex(cid) == 0 then

    doPlayerSetSex(cid, 1)

    else

    doPlayerSetSex(cid, 0)

    end

    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have changed your sex and lost three days of premium account.")

    else

    doPlayerSendCancel(cid, "You do not have enough premium days, changing sex costs three of your premium days.")

    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

    end

    end

     

     

    Depois va em Talkaction.XML e adicione:

     

    <talkaction words="!changesex" script="changesex.lua"/>
  5. local combat1 = createCombatObject()

    setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

    setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)

    setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -14.5, -150, -14.3, -150)

     

    local combat2 = createCombatObject()

    setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

    setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_GIANTICE)

    setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -14.5, -150, -14.5, -150)

     

    local combat3 = createCombatObject()

    setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

    setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_GIANTICE)

    setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -14.5, -150, -14.5, -150)

     

    local combat4 = createCombatObject()

    setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

    setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)

    setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -14.5, -150, -14.5, -150)

     

    local combat5 = createCombatObject()

    setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

    setCombatParam(combat5, COMBAT_PARAM_EFFECT, CONST_ME_GIANTICE)

    setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -14.5, -150, -14.5, -150)

     

     

    arr1 = {

    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},

    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},

    {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},

    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},

    {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

    }

    arr2 = {

    {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},

    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},

    {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},

    {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},

    }

    arr3 = {

    {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},

    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},

    {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},

    {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},

    }

    arr4 = {

    {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},

    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},

    {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},

    {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},

    }

    arr5 = {

    {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},

    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},

    {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

    {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},

    {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},

    }

    local area1 = createCombatArea(arr1)

    local area2 = createCombatArea(arr2)

    local area3 = createCombatArea(arr3)

    local area4 = createCombatArea(arr4)

    local area5 = createCombatArea(arr5)

    setCombatArea(combat1, area1)

    setCombatArea(combat2, area2)

    setCombatArea(combat3, area3)

    setCombatArea(combat4, area4)

    setCombatArea(combat5, area5)

     

    local function onCastSpell1(parameters)

    doCombat(parameters.cid, parameters.combat1, parameters.var)

    end

    local function onCastSpell2(parameters)

    doCombat(parameters.cid, parameters.combat2, parameters.var)

    end

    local function onCastSpell3(parameters)

    doCombat(parameters.cid, parameters.combat3, parameters.var)

    end

    local function onCastSpell4(parameters)

    doCombat(parameters.cid, parameters.combat4, parameters.var)

    end

    local function onCastSpell5(parameters)

    doCombat(parameters.cid, parameters.combat5, parameters.var)

    end

     

    function onCastSpell(cid, var)

    local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5 }

    addEvent(onCastSpell1, 100, parameters)

    addEvent(onCastSpell2, 200, parameters)

    addEvent(onCastSpell2, 300, parameters)

    addEvent(onCastSpell2, 400, parameters)

    addEvent(onCastSpell2, 500, parameters)

    end

  6. function onUse(cid, item, frompos, item2, topos)

     

     

    if item.uid == 17001 then

    if getPlayerStorageValue(cid,17001) == -1 then

    doPlayerSendTextMessage(cid,25,"Tesouro Adquirido!")

    doPlayerAddItem(cid,2160,10)

    setPlayerStorageValue(cid,17001,1)

    else

    doPlayerSendTextMessage(cid,25,"Esta Vazio!")

    end

     

    end

    return TRUE

    end

     

    Vermelho - UniqueID para colocar no Baú

     

    Tag Action.xml:

     

    <action uniqueid="17001" event="script" value="NomeDoArquivo.lua"/>
  7. Referente ao NPC de 50% de chance lá, você pode simplesmente colocar a tag random no NPC:

     

    local rand = math.random(1,100)

    if rand > 50 then

    doPlayerAddItem(cid,NumeroDoItem,1)

     

     

    O Outro eu vou no Chute msm:

     

    local text = ""

    text = "[ -- Angelical Wings -- ]\n\n" .. text

    text = text .. "Name: Angelical Wings\n

    Vocation : Mage\n

    Level : 40\n

    Price NPC: $40.000,00\n

    Weighs: 40.00 oz\n

    ####--> END <--#####"\n\n

     

    doShowTextDialog(cid, 8983, text)

    end

    return TRUE

    end

     

    Não faço idêia se irá funcionar!

     

     

    Item que muda Outfit ao Equipar

     

    Abraços !!

  8. setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -3.0, -20, -2.6, -250)

     

    O que está em vermelho você aumenta

     

    Exemplo Aumentando :

     

    -9.0, -9.0, -9.6, -250

    Isso faz a Spell HITAR mais.

     

    Exemplo Diminuindo:

     

    -1.0, -1.0, -1.6, -250

    Isso faz a Spell HITAR menos.

     

    Resumindo: Quanto maior esses numeros no combat formula maior será o ataque!

     

    Creditos by: Paodequeijobh

  9. Mas ele pode ir solo o.O Aquela parte é quantos players em party podem ir, ou seja, um grupo de quantas pessoas. Ali não tem a ver com ir solo.....

     

    Aah é? Desculpe meu erro então. happy.png

     

    -- Sim, não usei globalstorage ou storage, fiz um loop para checkar se já tinha algum player no local.

    Quando testar e se funcionar, avise no tópico que sua dúvida foi sanada para que possam mover o tópico, caso tenha alguma dúvida, poste aqui mesmo que te respondo.

     

    Testarei agora mesmo. Caso funcione logo Editarei aqui.

     

    Edit :.

    Meu amigo... Ficou Perfeita. Melhor do que eu esperava. Muito Obrigado pela ajuda.

     

    REP+

    button_ok.png

  10. else

    return doPlayerSendCancel(cid, "É necessário pelo menos "..t.party.." players na party.")

    end

     

     

    Essa parte aí não é nescessário. Para o Jogador, há duas opções :. Fazer a Quest Solo, ou fazer em Grupo.

    Não é Obrigatório ir em Grupo para realizar a Quest.

     

    PS :. Notei que você não usou em nenhum momento alguma Storage ou GlobalStorage. Você meio que mandou Scannear toda a área da Quest procurando por um jogador. Caso tenha algum lá, manda a mensagem. É bem interessante isso. Eu ainda não testei, mas se realmente funcionar, será de grande ajuda para futuros Scrips.

     

    Abraços !! wink.png

  11. posta essa quest ai que talvez eu consiga arruma !

     

    Bem meu amigo, essa é minha idéia de Quest. Mas o Ponto forte do meu pedido é apenas a Parte dos Grupos. Não sei usar as funções .lua sobre eles (getPlayerParty(cid) | getPartyMembers(lid) | getPartyLeader(cid) ... ).

     

    Não é preciso fazer a Quest inteira, sobre criar estátua, e blá, blá, blá. Gostaria apenas de uma parte do Script me ensinando a como fazer a parte dos grupos mencionado no Post Original acima.

     

    Abraços !! wink.png

  12. Olá pessoal.

    Estou 'batendo cabeça' aqui tentando resolver algo... Mas ainda não obtive sucesso. Espero que possam me ajudar.

    Segue Abaixo :.

     

    Criei uma Quest, onde é preciso Clicar em uma 'Estátua' para ser Teleportado para lá.

    Essa Quest pode ser feita tanto Solo, quanto em Grupo. A Questão é a Seguinte :.

     

    Caso o Player clique na Estátua, e esse jogador não está em Nenhum Grupo, ele é 'Teleportado para dentro da Quest' e nenhum outro jogador poderá entrar no mesmo local até ele sair de lá.

     

    Mas, caso o Player clique na Estátua, e esse jogador 'Está em um Grupo', ele é teleportado para dentro da Quest. E qualquer outro jogador 'que esteja no mesmo grupo daquele que está dentro da Quest' poderá, ao clicar na estátua, ser teleportado para dentro da Quest. Mas qualquer outro jogador que não esteja dentro do Grupo, seja Barrado de entrar.

     

     

    Espero que tenha ficado claro.

    Abraços !!

  13. Não, não, não ... Erro totalmente meu.

    O que você viu como :.

    shopModule:addBuyableItem({'Perfeito Nucleo de aprimoramento', 'nucleo'}, 8300, 100000, 'Perfeito nucleo de aprimoramento')

     

    Na Verdade era :.

    shopModule:addSellableItem

    Foi eu que mudei pra tentar arrumar de algum jeito. Mas aí eu acabei esquecendo de modificar pra colocar aqui. Sorry!

    O Script na verdade é :.

    shopModule:addSellableItem({'Perfeito Nucleo de aprimoramento', 'nucleo'}, 8300, 100000, 'Perfeito nucleo de aprimoramento')

  14. Aah, claro. o Script. Não é possível resolver o problema sem o Script.

    Ta aí :.

     

    NPC.xml

    <npc name="Jessy" script="data/npc/scripts/Jessy.lua" access="5" lookdir="1">

    <health now="1000" max="1000"/>

    <look type="136" head="63" body="71" legs="71" feet="63" addons="1"/>

    <parameters>

    <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu vendo Aprimorador!."/>

     

    <parameter key="module_shop" value="1" />

    <parameter key="shop_buyable" value="nucleo de aprimoramento,8306,5000" />

    </parameters>

    </npc>

     

    NPC.lua

    local keywordHandler = KeywordHandler:new()

    local npcHandler = NpcHandler:new(keywordHandler)

    NpcSystem.parseParameters(npcHandler)

    local talkState = {}

     

     

    function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end

    function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end

    function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end

    function onThink() npcHandler:onThink() end

     

     

    local shopModule = ShopModule:new()

    npcHandler:addModule(shopModule)

     

    shopModule:addSellableItem({'perfeito nucleo de aprimoramento', 'nucleo'}, 8300, 100000, 'perfeito nucleo de aprimoramento')

     

    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

    npcHandler:addModule(FocusModule:new())

  15. Meus NPCs de compra estão com um problema. ...

     

    Sempre que eu compro 1 Item. O NPC me vende 2. É como se eu tivesse clicado duas vezes para comprar o item.

    Alguem me da um Help aí. Preciso terminar meu OT.

     

     

    Abraços !!

  16. Eu quero que as "Mensagens Amarelas" Apareça no Tile, sem o Player estar lá!

    E eu não quero usar a função ::

     

    doSendAnimatedText(pos,"Teste",random)

     

    Porque eu quero fazer tipo um Dialógo. E esse AnimatedText são serviria. Sâo mostrados apenas mensagens curtas que somem em instantes.

  17. Eu acharia que nao ia funcionar porque isso e uma fala de player seila nao pode ser esse animated text aki?

     

    AnimatedText não encaixa na minha idêia!!

     

    Nao sei se esse /\ ira funcionar

     

    Não deu !!

     

    -----------------------

     

    Não achei que seria algo tão difícil, tentei de tudo aqui em Casa mas não consegui. Por isso vim aqui no Fórum. Me pareceu algo tão simples de fazer no início. Preciso muito disso. Vou tentar algumas opções aqui em casa. Se Alguem tiver alguma solução ...

     

    Abraços !!

  18. Olha, eu vou testar aqui, mas dando uma olhada rápida aí no Script, se eu tirar a Parte onde verifica a Storage alí, ficaria bem parecido com o meu alí do exemplo.

     

    function onStepIn(cid, item, position, fromPosition)
    local pos = {x=47, y=39, z=7}
    
    doCreatureSay(pos, teste, 1)
    return TRUE
    end
    
    end

     

    Foi só uma Observação !! ;D

     

    @Edit

     

    [14/03/2012 08:55:05] [Error - MoveEvents Interface]
    [14/03/2012 08:55:05] data/movements/scripts/Teste.lua:onStepIn
    [14/03/2012 08:55:05] Description:
    [14/03/2012 08:55:05] (luaDoCreatureSay) Creature not found

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...