Ir para conteúdo

Frenesy

Membro
  • Registro em

  • Última visita

Solutions

  1. Frenesy's post in (Resolvido)[Ajuda] Recompensas was marked as the answer   
    Que tal assim? Não tentei, hein. Estou no trabalho. kkkk
     
    local dias = 1 function onLogin(cid) -- Monday = Segunda -- Tuesday = Terça -- Wednesday = Quarta -- Thursday = Quinta -- Friday = Sexta -- Saturday = Sabado -- Sunday = Domingo DoubleXP = {"Friday", "Saturday", "Sunday", "Thursday"} storage = 2883123 storage_loot = 289991 items = { item_ID = 11505, stamina_potion = 11644, critical_stone = 11752, } qtdes = { qtde = 1, qtde_stone = 2, } if isInArray(DoubleXP, os.date("%A")) then if getStorageAccount(cid, storage_loot, 2) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "--[Double XP ]--\n --[Double Loot ]--\nHoje Estamos em evento Double XP e Loot aproveite!!") return doPlayerSendCancel(cid, "voce ja recebeu a skin box.") end setPlayerStorageValue(cid, storage_loot, 1) if getPlayerStorageValue(cid, storage_loot) == 1 then doPlayerSendTextMessage(cid,22,"Voce logou no periodo em que o Evento de Fim de Semana estava ativo, voce recebeu 1 Critical Stone, 1 Stamina Potion, 1 Dia Premium, Parabens") doPlayerAddItem(cid, items.item_ID, qtdes.qtde) doPlayerAddItem(cid, items.stamina_potion, qtdes.qtde) doPlayerAddItem(cid, items.critical_stone, qtdes.qtde_stone) doPlayerAddPremiumDays(cid, dias) setPlayerStorageValue(cid, storage_loot, 2) doPlayerSendMailByName(getCreatureName(cid), doCreateItemEx(items.item_ID, qtde), getPlayerTown(cid)) doSendMagicEffect(getThingPos(cid), effectChest) end setPlayerStorageValue(cid, storage, 1) doPlayerSetRate(cid, SKILL__LEVEL, 2.0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "--[Double XP ]--\n --[Double Loot ]--\nHoje Estamos em evento Double XP e Loot aproveite!!") else doSendMagicEffect(getCreaturePosition(cid), 358) setPlayerStorageValue(cid, storage, 2) setPlayerStorageValue(cid, storage_loot, 3) end return true end function getStorageAccount(cid, key, value) local chars = {} local query = db.getResult("SELECT `id` FROM `players` WHERE `account_id` = '"..getPlayerAccountId(cid).."';") if query:getID() == -1 then return true end repeat local player = query:getDataString("id") table.insert(chars, player) until not query:next() query:free() for i = 1, #chars do local check = db.getResult("SELECT * FROM `player_storage` WHERE `player_id` = '"..chars[i].."' and `key` = '"..key.."' and `value` = '"..value.."';") if check:getID() == 0 then return true end end return false end  
  2. Frenesy's post in (Resolvido)NPC Focus was marked as the answer   
    Obrigado pela resposta @Dragon Ball Hiper.
    Seu script não deu muito certo, mas pesquisei uma base diferente para o NPC.
    Me parece que funcionou, nos primeiros testes. Vou testar por mais alguns dias pra ter certeza.
     
     
  3. Frenesy's post in (Resolvido)Venda de comandos por NPC, tem como? was marked as the answer   
    kkkk Pois é, cara. A função "get" verificaria se ele já tem ou não a bless.
    Cara, eu vou fazer o seguinte. Eu vou DEDUZIR que essa benção que você quer seja a 6. Eu não tenho certeza, mas olhando o script da Ceremonial Ankh, aparece essa Bless 6. Deve ser elam já que as 5 primeiras são as bless normais. Sendo assim, teste esse:
     
    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 function doCreatureSayWithDelay(cid,text,type,delay,e) if delay<=0 then doCreatureSay(cid,text,type) else local func=function(pars) doCreatureSay(pars.cid,pars.text,pars.type) pars.e.done=TRUE end e.done=FALSE e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e}) end end function cancelNPCTalk(events) local ret=1 for aux=1,table.getn(events) do if events[aux].done==FALSE then stopEvent(events[aux].event) else ret=ret+1 end end events=nil return(ret) end function doNPCTalkALot(msgs,interval) local e={} local ret={} if interval==nil then interval=3000 end --3 seconds is default time between messages for aux=1,table.getn(msgs) do e[aux]={} doCreatureSayWithDelay(getNpcCid(),msgs[aux],TALKTYPE_PRIVATE_NP,(aux-1)*interval,e[aux]) table.insert(ret,e[aux]) end return(ret) end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'Blessing') or msgcontains(msg, 'blessing')) then selfSay('Vejamos, posso vender pra você {Bless} e também {Bless PvP}, o que deseja?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'Comando') or msgcontains(msg, 'comando') or msgcontains(msg, 'Comando Bless') or msgcontains(msg, 'comando bless')) then selfSay('Eu posso vender para você o comando "!bless full". No entanto, ele custa {120.000 gold coin}. Deseja comprar?', cid) talkState[talkUser] = 2 elseif((msgcontains(msg, 'Yes') or msgcontains(msg, 'yes')) and talkState[talkUser] == 2) then if getPlayerStorageValue(cid,834005) == 1 then selfSay('Você já comprou esse comando.', cid) talkState[talkUser] = 0 else if doPlayerRemoveMoney(cid, 120000) == TRUE then selfSay('Pronto! Agora você pode usar o comando {!bless}', cid) doSendMagicEffect(getPlayerPosition(cid), 49) setPlayerStorageValue(cid, 834005, 1) talkState[talkUser] = 0 else selfSay('Você não tem o dinheiro necessário.', cid) talkState[talkUser] = 0 end end elseif((msgcontains(msg, 'No') or msgcontains(msg, 'no')) and talkState[talkUser] == 2) then selfSay('Sem problemas.', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'Bless') or msgcontains(msg, 'bless')) then selfSay('Eu posso lhe conceder todas as benções por {50.000 gold coin}. Deseja comprar? - [{Yes} | {No}]', cid) talkState[talkUser] = 3 elseif((msgcontains(msg, 'Yes') or msgcontains(msg, 'yes')) and talkState[talkUser] == 3) then if getPlayerBlessing(cid, 1) or getPlayerBlessing(cid, 2) or getPlayerBlessing(cid, 3) or getPlayerBlessing(cid, 4) or getPlayerBlessing(cid, 5) then selfSay('Você já tem todas as benções.', cid) talkState[talkUser] = 0 else if doPlayerRemoveMoney(cid, 50000) == TRUE then selfSay('Você agora está protegido!', cid) doSendMagicEffect(getPlayerPosition(cid), 49) doPlayerAddBlessing(cid, 1) doPlayerAddBlessing(cid, 2) doPlayerAddBlessing(cid, 3) doPlayerAddBlessing(cid, 4) doPlayerAddBlessing(cid, 5) talkState[talkUser] = 0 else selfSay('Você não tem o dinheiro necessário.', cid) end end elseif((msgcontains(msg, 'No') or msgcontains(msg, 'no')) and talkState[talkUser] == 3) then selfSay('Tudo bem, mas tenho novas coisas para vender.', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'Bless PvP') or msgcontains(msg, 'bless pvp')) then selfSay('Eu posso lhe conceder a Bless PvP por {50.000 gold coin}. Deseja comprar? - [{Yes} | {No}]', cid) talkState[talkUser] = 4 elseif((msgcontains(msg, 'Yes') or msgcontains(msg, 'yes')) and talkState[talkUser] == 4) then if getPlayerBlessing(cid, 6) then selfSay('Você já tem todas as benções.', cid) talkState[talkUser] = 0 else if doPlayerRemoveMoney(cid, 50000) == TRUE then selfSay('Você agora está protegido!', cid) doSendMagicEffect(getPlayerPosition(cid), 49) -- doPlayerSetPVPBlessing(cid) doPlayerAddBlessing(cid, 6) talkState[talkUser] = 0 else selfSay('Você não tem o dinheiro necessário.', cid) end end elseif((msgcontains(msg, 'No') or msgcontains(msg, 'no')) and talkState[talkUser] == 4) then selfSay('Volte quando tiver interesse.', cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
  4. Frenesy's post in (Resolvido)Quest Log was marked as the answer   
    g_game.requestQuestLine(1)  
  5. Frenesy's post in (Resolvido)[PEDIDO] Casino system was marked as the answer   
    Cassino.lua function onUse(cid, item, frompos, item2, topos) --== Configurações local config = { items = {0000, 0000, 0000, 0000, 0000}, -- Itens que ele pode ganhar vp = 0000, -- ID do Vip Coin } --== Fim das Configurações local rand = math.random(1, #config.items) if (item.actionid == 1140) and item.itemid == 1945 then if getPlayerItemCount(cid, config.vp) >= 6 then doPlayerRemoveItem(cid, config.vp, 6) doPlayerAddItem(cid, config.items[rand], 1) doBroadcastMessage("O Jogador "..getCreatureName(cid).." Ganhou um "..getItemNameById(config.items[rand])..".") else doPlayerSendCancel(cid,"Você precisa de 6 ou mais vip coins") doSendMagicEffect(getPlayerPosition(cid), 2) end elseif item.itemid == 1946 then doTransformItem(item.uid,item.itemid-1) end return TRUE end Action.xml
    <action actionid="1140" event="script" value="Cassino.lua" /> Na alavanca, coloque ActionID: 1140.
  6. Frenesy's post in (Resolvido)[URGENTE] Wrath emperor script please was marked as the answer   
    -- < Script by Frenesy > -- 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 function doCreatureSayWithDelay(cid,text,type,delay,e)    if delay<=0 then       doCreatureSay(cid,text,type)    else       local func=function(pars)                     doCreatureSay(pars.cid,pars.text,pars.type)                     pars.e.done=TRUE                  end       e.done=FALSE       e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e})    end end function cancelNPCTalk(events)   local ret=1   for aux=1,table.getn(events) do      if events[aux].done==FALSE then         stopEvent(events[aux].event)      else         ret=ret+1      end   end   events=nil   return(ret) end function doNPCTalkALot(msgs,interval)   local e={}   local ret={}   if interval==nil then interval=3000 end --3 seconds is default time between messages   for aux=1,table.getn(msgs) do       e[aux]={}       doCreatureSayWithDelay(getNpcCid(),msgs[aux],TALKTYPE_PRIVATE_NP,(aux-1)*interval,e[aux])       table.insert(ret,e[aux])   end   return(ret) end function creatureSayCallback(cid, type, msg)     if(not npcHandler:isFocused(cid)) then         return false     end     local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'Quest') or msgcontains(msg, 'Mission')) then selfSay('Quer fazer a mission?', cid) talkState[talkUser] = 1     elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, 2050) == 1 and getPlayerStorageValue(cid, 2051) == 1 and getPlayerStorageValue(cid, 2052) == 1 and getPlayerStorageValue(cid, 2053) == 1 then selfSay('Ok, voce pode fazer a quest agora.', cid) doSendMagicEffect(getPlayerPosition(cid), 10) doTeleportThing(cid, {x= 99, y= 189, z= 7}) setPlayerStorageValue(cid, 2050, -1) -- Remover Missão setPlayerStorageValue(cid, 2051, -1) -- Remover Missão setPlayerStorageValue(cid, 2052, -1) -- Remover Missão setPlayerStorageValue(cid, 2053, -1) -- Remover Missão talkState[talkUser] = 0 else selfSay('Voce nao tem o que e necessario para essa mission.', cid) end elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then selfSay('Volte quando estiver pronto.', cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) 
  7. Frenesy's post in (Resolvido)[Actions] Bau que da mana e hp was marked as the answer   
    function onUse(cid, item, frompos, item2, topos) queststatus = getPlayerStorageValue(cid,50100) if item.uid == 50020 then if queststatus == -1 then         setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+1000000)         setCreatureMaxMana(cid, getCreatureMaxMana(cid)+1000000)         doPlayerSendTextMessage(cid,22,"Você ganhou 1kk de mana/hp.")         setPlayerStorageValue(cid,50100,1)   else   doPlayerSendTextMessage(cid,22,"It is empty.") end else return 0 end return 1 end
  8. Frenesy's post in (Resolvido)Script de Use Teleport was marked as the answer   
    function onUse(cid, item, position, fromPosition, itemEx, toPosition) local PlayPosUm = {x=496, y=501, z=5} -- Posição 1 do Jogar local PlayPosDois = {x=501, y=501, z=5} -- Posição 2 do Jogar local PlayUm = getTopCreature(PlayPosUm).uid local PlayDois = getTopCreature(PlayPosDois).uid if isPlayer(PlayUm) then doTeleportThing(cid, PlayPosDois) doSendMagicEffect(getPlayerPosition(cid), 10) elseif isPlayer(PlayDois) then doTeleportThing(cid, PlayPosUm) doSendMagicEffect(getPlayerPosition(cid), 10) else doPlayerSendCancel(cid,"Voce precisa estar em determinada lugar.") doSendMagicEffect(getPlayerPosition(cid), 2) end return TRUE end 

     
    function onUse(cid, item, position, fromPosition, itemEx, toPosition) local Pos = {x=496, y=501, z=5} -- Posição para onde o jogador vai if getPlayerLevel(cid) >= 500 then doTeleportThing(cid, Pos) doSendMagicEffect(getPlayerPosition(cid), 10) else doPlayerSendCancel(cid,"Voce precisa de Nv. 500 para usar este Item.") doSendMagicEffect(getPlayerPosition(cid), 2) end return TRUE end 
  9. Frenesy's post in (Resolvido)Setar Storage em Player Offline was marked as the answer   
    db.executeQuery("INSERT `player_storage` SET `key` = 0000, 'value' = 1, WHERE `player_id` = " .. getPlayerGUID(cid) .. ";"
  10. Frenesy's post in (Resolvido)Quest Log: Dúvida Rápida was marked as the answer   
    Entendi o que vocês querem dizer.
    Analisem, por favor, para ver se meu raciocínio está certo:
     
    O Player termina a Missão do Nível "10" e recebe a Storage: 4001, 1 (que é a Storage de checagem da Missão do Nível "20"). Ao alcançar o Nível "20", eu uso script abaixo para fazer com que o Jogador receba a Storage: 4001, 2 (que é a verdadeira Storage da Missão Nível "20"). function onAdvance(cid, skill, oldLevel, newLevel)     level = 20 -- newLevel     stor = {4001, 1, 2} -- {storage, oldValue, newValue}          if skill == SKILL__LEVEL and newLevel == level and getPlayerStorageValue(cid, stor[1]) == stor[2] then         doPlayerSetStorageValue(cid, stor[1], stor[3])     end          return true end Caso o jogador já tiver Nível superior ao 20, depois de realizar a missão Nível "10" eu coloco um "if" verificando se o jogador tem nível superior ao 20. Se ele tiver eu adiciono de cara a Storage: 4001, 2.  
    E então, é assim? 
  11. Frenesy's post in (Resolvido)Summon was marked as the answer   
    Meu Brother @Suicide, eu consegui fazer um aqui. Usei como base o seu Script e o do @Orochi Elf. juntei os dois e deu no que deu. 
    Pra quem quiser, vou disponibilizar logo abaixo. Valeu realmente pela ajuda.
    REP+  pra quem deu atenção ao meu problema.
    function onTarget(cid, target) if(attacker and isMonster(target) and isSummon(attacker) and (type == STATSCHANGE_HEALTHLOSS)) then return false end return true end function onStatsChange(cid, attacker, type, combat, value) if(attacker and isMonster(target) and isSummon(attacker) and (type == STATSCHANGE_HEALTHLOSS)) then if combat ~= COMBAT_HEALING then return false end  end return true end function onCast(cid, target) if(attacker and isMonster(target) and isSummon(attacker) and (type == STATSCHANGE_HEALTHLOSS)) then if combat ~= COMBAT_HEALING then return false end  end return true end
  12. Frenesy's post in (Resolvido)(luaGetThingPosition) Thing not found was marked as the answer   
    Aquele isPlayer(cid) eu coloquei depois que percebi o erro. E aquele MagicEffect era apenas pra verificar se o Script reconhecia o Player e o Summon. Mas testei seu Script e deu a mesma coisa.
     
    Só pra avisa. Reparei que quando eu não tenho a Storage (1508) e passo pelo Tile, tambem aparece o mesmo erro.
    Será que o erro aparece porque o Summon não tem a Storage?
     
     
    #Edit
     
    O Problema é essa parte aqui:
    local Summ = getCreaturePosition(getCreatureSummons(cid)[1]) local NPC = getTopCreature(Summ).uid Quando a tirei, o erro sumiu. No entanto, como posso usar o:
    addEvent(doCreatureSay, 6000, NPC, "Teste.") Sem essas funções?
     
    #Edit[2]
     
    Resolvi:
    addEvent(doCreatureSay, 6000, getTopCreature(getCreaturePosition(getCreatureSummons(cid)[1])).uid, "Teste.")
  13. Frenesy's post in (Resolvido)[Duvida] Map Editor e Dat Editor was marked as the answer   
    Na pasta do seu OTserv. fica em data/items.
    Copie o Item.otb dessa pasta e leva para a pasta do seu Remeres Map Editor. Que fica em:
    C:\Program Files\Remere's Map Editor\data\VersãoDoSeuOT
  14. Frenesy's post in (Resolvido)[Pedido] Spell Paralyze was marked as the answer   
    Nessas parte do Script:
    local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_STUN) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_SLEEP) Fica os Efeitos. Veja, no "combat1" tem essa linha:
    setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_STUN) Para mudar o efeito, você deve apagar o "CONST_ME_STUN" e colocar o número do efeito desejado:
    setCombatParam(combat1, COMBAT_PARAM_EFFECT, 25) Em "combat2" a mesma coisa. Na linha:
    setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_SLEEP) Apague "CONST_ME_SLEEP" e adicione o número do efeito desejado.
    setCombatParam(combat2, COMBAT_PARAM_EFFECT, 13) ~~
     
    Lista de Efeitos. Cada efeito tem um número. Modifique seu Script ao seu Gosto.
     

  15. Frenesy's post in (Resolvido)Ao matar criatura aparece teleport (help) was marked as the answer   
    Creaturescripts/Scripts:
     
    local tpId = 1387 local tps = {         ["NomeDoMonstro"] = {pos = {x=221, y=82, z=15}, toPos = {x=200, y=73, z=15}, time = 30}, -- Onde o Teleport irá aparecer e onde ele levará o Player. Em 'Time', configurar tempo em segundos para o TP desapecer. } function removeTp(tp)         local t = getTileItemById(tp.pos, tpId)         if t then                 doRemoveItem(t.uid, 1)                 doSendMagicEffect(tp.pos, CONST_ME_POFF)         end end function onDeath(cid)         local tp = tps[getCreatureName(cid)]         if tp then                 doCreateTeleport(tpId, tp.toPos, tp.pos)                 doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)                 addEvent(removeTp, tp.time*1000, tp)         end         return TRUE end Creaturescripts.xml
    <event type="death" name="tp" event="script" value="NomeDoArquivo.lua"/> Monster:
     
    No monstro que você quer que abra o  portal ao morrer, adicione essa tag nele:
    <script> <event name="tp"/> </script>
  16. Frenesy's post in (Resolvido)[NPC] Pede item, e da prêmio was marked as the answer   
    <?xml version="1.0"?> <npc name="NomeDoNPC" script="data/npc/scripts/NomeDoArquivo.lua" walkinterval="2000">   <health now="200" max="200" /> <look type="131" head="38" body="38" legs="38" feet="38" addons="3"/>   <parameters>   </parameters> </npc> NPC/Script:
     -- < Script by Frenesy > -- 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 function doCreatureSayWithDelay(cid,text,type,delay,e)    if delay<=0 then       doCreatureSay(cid,text,type)    else       local func=function(pars)                     doCreatureSay(pars.cid,pars.text,pars.type)                     pars.e.done=TRUE                  end       e.done=FALSE       e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e})    end end function cancelNPCTalk(events)   local ret=1   for aux=1,table.getn(events) do      if events[aux].done==FALSE then         stopEvent(events[aux].event)      else         ret=ret+1      end   end   events=nil   return(ret) end function doNPCTalkALot(msgs,interval)   local e={}   local ret={}   if interval==nil then interval=3000 end --3 seconds is default time between messages   for aux=1,table.getn(msgs) do       e[aux]={}       doCreatureSayWithDelay(getNpcCid(),msgs[aux],TALKTYPE_PRIVATE_NP,(aux-1)*interval,e[aux])       table.insert(ret,e[aux])   end   return(ret) end function creatureSayCallback(cid, type, msg)     if(not npcHandler:isFocused(cid)) then         return false     end     local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid     if(msgcontains(msg, 'Hi') or msgcontains(msg, 'oi')) and getPlayerStorageValue(cid,1001) == -1 then     selfSay('Ola, poderia me ajudar recolhendo alguns itens pra minha lojinha?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'Hi') or msgcontains(msg, 'oi')) and getPlayerStorageValue(cid,1003) == 1 then     selfSay('Ola, Em que posso ajudar?', cid) elseif((msgcontains(msg, 'No') or msgcontains(msg, 'nao')) and talkState[talkUser] == 1) then     selfSay('Ok entao. Bye!', cid) talkState[talkUser] = 0 elseif((msgcontains(msg, 'Yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1) then selfSay('Ok, recolha para mim {13 pair of leaves} que pode ser encontrada com {snivys} e {13 Sandbags} que pode ser encontradas com {Krokoroks}. Boa Sorte!', cid) talkState[talkUser] = 0 doSendMagicEffect(getPlayerPosition(cid), 13) setPlayerStorageValue(cid, 1001, 1) setPlayerStorageValue(cid, 1002, 1) elseif(msgcontains(msg, 'Hi') or msgcontains(msg, 'oi')) and getPlayerStorageValue(cid,1002) == 1 then selfSay('Conseguiu recolher os itens?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'Yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 2 and getPlayerItemCount(cid, 12155) < 13 and getPlayerItemCount(cid, 12177) < 13 then selfSay('Voce ainda nao tem todos os itens necessarios.', cid) talkState[talkUser] = 0 elseif((msgcontains(msg, 'No') or msgcontains(msg, 'nao')) and talkState[talkUser] == 2) then selfSay('Entao vai la buscar.', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'Yes') or msgcontains(msg, 'sim')) and getPlayerStorageValue(cid,1002) == 1 and talkState[talkUser] == 2 and getPlayerItemCount(cid, 12155) == 13 and getPlayerItemCount(cid, 12177) == 13 then selfSay('Muito obrigado, aqui está seu premio!', cid) doSendMagicEffect(getPlayerPosition(cid), 49) doPlayerAddItem(cid,11441, 1) doPlayerAddItem(cid,11451, 1) doPlayerRemoveItem(cid, 12155, 13) doPlayerRemoveItem(cid, 12177, 13) setPlayerStorageValue(cid, 1002, -1) setPlayerStorageValue(cid, 1003, 1) end  return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) 
  17. Frenesy's post in (Resolvido)pedido spells de paralizar was marked as the answer   
    local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_STUN) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_SLEEP) local condition1 = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition1, CONDITION_PARAM_TICKS, 15000) setConditionParam(condition1, CONDITION_PARAM_SPEED, -650) setConditionFormula(condition1, -0.9, 0, -0.9, 0) setCombatCondition(combat1, condition1) arr1 = { {0, 3, 0} } arr2 = { {0, 3, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 } addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 200, parameters) return true end
  18. Frenesy's post in (Resolvido)Pedido! Item Q Invoca Tal Monstro Para Ajuda O Play was marked as the answer   
    Pegue garotinho  
    --==-- by Frenesy --==-- function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 0000 then -- ID do Item aqui. if #getCreatureSummons(cid) == 0 then doConvinceCreature(cid, doSummonCreature("Dragon", getPlayerPosition(cid))) -- Configurar monstro aqui. doSendMagicEffect(getPlayerPosition(cid),13) else for _, pid in ipairs(getCreatureSummons(cid)) do doRemoveCreature(pid) doSendMagicEffect(getPlayerPosition(cid),13) end end end end Action.xml
    <action itemid="0000" event="script" value="NomeDoArquivo.lua"/>
  19. Frenesy's post in (Resolvido)[PEDIDO] Script Quest was marked as the answer   
    function onUse(cid, item, frompos, item2, topos) item1pos = {x=71, y=234, z=15, stackpos=255} --item1pos item2pos = {x=76, y=237, z=15, stackpos=255} --item2pos item3pos = {x=76, y=237, z=15, stackpos=255} --item3pos item4pos = {x=76, y=237, z=15, stackpos=255} --item4pos item5pos = {x=66, y=236, z=15, stackpos=255} --item5pos item6pos = {x=66, y=236, z=15, stackpos=255} --item6pos item7pos = {x=66, y=236, z=15, stackpos=255} --item7pos item8pos = {x=66, y=236, z=15, stackpos=255} -- Local onde o helmet irá aparecer item1 = getThingfromPos(item1pos) item2 = getThingfromPos(item2pos) item3 = getThingfromPos(item3pos) item4 = getThingfromPos(item4pos) item5 = getThingfromPos(item5pos) item6 = getThingfromPos(item6pos) item7 = getThingfromPos(item7pos) item8 = getThingfromPos(item8pos) if item.itemid == 1945 and item1.itemid == 0000 and item2.itemid == 0000 and item3.itemid == 0000 and item4.itemid == 0000 and item5.itemid == 0000 and item6.itemid == 0000 and item7.itemid == 0000 then -- Substitua os 0000 pelos IDs dos items doRemoveItem(item1.uid,1) doSendMagicEffect(item1pos,13) doRemoveItem(item2.uid,1) doSendMagicEffect(item2pos,13) doRemoveItem(item3.uid,1) doSendMagicEffect(item3pos,13) doRemoveItem(item4.uid,1) doSendMagicEffect(item4pos,13) doRemoveItem(item5.uid,1) doSendMagicEffect(item5pos,13) doRemoveItem(item6.uid,1) doSendMagicEffect(item6pos,13) doRemoveItem(item7.uid,1) doSendMagicEffect(item7pos,13) doTransformItem(item.uid,item.itemid+1) doCreateItem(0000,1, item8pos) -- Colocar ID do Helmet Aqui doPlayerSendTextMessage(cid,22,'Sacrifio realizado com sucesso!') elseif item.uid == 9011 and item.itemid == 1946 then doTransformItem(item.uid,item.itemid-1) else return 0 end return 1 end   Action.xml
    <action uniqueid="9011" script="NomeDoArquivo.lua"/> Coloque UniqueID 9011 na Alavanca pelo Map Editor.
     
    #MaXwEllDeN
    Antes que pergunte, NÂO, eu não sei por tudo bem organizadinho meus script iguais ao seu. Eu faço tudo 'brabo' mesmo.
    Ainda preciso aprender tabelas e essas coisas, pra fazer scripts iguais ao seu.
     
    To só me adiantando
  20. Frenesy's post in (Resolvido)[pedido] Npc que troca um item por outro.. was marked as the answer   
    -- < Script by Frenesy > -- 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 function doCreatureSayWithDelay(cid,text,type,delay,e)    if delay<=0 then       doCreatureSay(cid,text,type)    else       local func=function(pars)                     doCreatureSay(pars.cid,pars.text,pars.type)                     pars.e.done=TRUE                  end       e.done=FALSE       e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e})    end end function cancelNPCTalk(events)   local ret=1   for aux=1,table.getn(events) do      if events[aux].done==FALSE then         stopEvent(events[aux].event)      else         ret=ret+1      end   end   events=nil   return(ret) end function doNPCTalkALot(msgs,interval)   local e={}   local ret={}   if interval==nil then interval=3000 end --3 seconds is default time between messages   for aux=1,table.getn(msgs) do       e[aux]={}       doCreatureSayWithDelay(getNpcCid(),msgs[aux],TALKTYPE_PRIVATE_NP,(aux-1)*interval,e[aux])       table.insert(ret,e[aux])   end   return(ret) end function creatureSayCallback(cid, type, msg)     if(not npcHandler:isFocused(cid)) then         return false     end     local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid     if(msgcontains(msg, 'trocar') or msgcontains(msg, 'changer')) and getPlayerStorageValue(cid,1000) == -1 then -- Configura Storage Aqui selfSay('Deseja trocar uma {Boots of Haster} por uma {Soft Boots}?', cid) talkState[talkUser] = 1 elseif((msgcontains(msg, 'no') or msgcontains(msg, 'nao')) and talkState[talkUser] == 1) then selfSay('Tudo bem entao. Adeus!.', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 and getPlayerStorageValue(cid,1000) == -1 and getPlayerItemCount(cid, BootIfHasterID) >= 1 then selfSay('Aqui esta!', cid) doSendMagicEffect(getPlayerPosition(cid), 13) setPlayerStorageValue(cid, 1000, 1) doPlayerAddItem(cid,BootOfHasterID, -1) doPlayerAddItem(cid,SoftBootsID, 1) talkState[talkUser] = 0 elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 and getPlayerStorageValue(cid,1000) == -1 and getPlayerItemCount(cid, BootIfHasterID) < 1 then selfSay('Voce nao possui o item.', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'trocar') or msgcontains(msg, 'changer')) and getPlayerStorageValue(cid,1000) == 1 then -- Configura Storage Aqui selfSay('Voce so pode realiazar esta troca apenas uma vez.', cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) 
  21. Frenesy's post in (Resolvido)como fazer essa quest dar item e teleportar was marked as the answer   
    function onUse(cid, item, frompos, item2, topos) local konoha = {x=1026, y=910, z=7} -- Posição para onde o player será teleportado. local bag = doPlayerAddItem(cid, 7343, 1) -- Configure a BAG que vc quer doAddContainerItem(bag, 2457, 1) -- Configure o Item que vai pra dentro da bag doAddContainerItem(bag, 2457, 1) -- Configure o Item que vai pra dentro da bag doTeleportThing(cid, konoha) doPlayerSendTextMessage(cid,20,"VOCÊ PEGOU SEU PREMIO E FOI TELEPORTADO PARA KONOHA.") return TRUE end

Informação Importante

Confirmação de Termo