Ir para conteúdo

Kuro o Shiniga

Colaborador
  • Total de itens

    271
  • Registro em

  • Última visita

  • Dias Ganhos

    12

Tudo que Kuro o Shiniga postou

  1. Substitui o action da sua alavanca que você postou ai em cima por esse : ----------------------------------- ---------SCRIPT por PC98------------ NAO REMOVA OS CREDITOS ----------------------------------- function onUse(cid, item, frompos, item2, topos) ------------------ Inicio das Config ------------ local castle_one_name = "castelo" -- Nome do castelo 1 local storages = {154154,54321,123123} -- Storages ( se vc eh iniciante, deixe como está...) -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 1 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 5956 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 1 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO local expe = 2 -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local hora = tonumber(os.date("%H")) if hora < 04 or hora > 05 then doPlayerSendTextMessage(cid,18,"A Guild House só pode ser invadida entre as 22 e 23 horas.") return true end local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if item.itemid == 9826 then doTransformItem(item.uid,item.itemid-1) doPlayerSendCancel(cid,"A Guild House ja foi invadida hoje.") return false end if item.itemid == 9825 then for posx = 1254,1256 do -- checar posição X, começo e final da sala for posy = 690,690 do -- checar posicao Y, começo e final da sala local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253) local creature = getThingfromPos(pos) -- pega informações da creature da posição if isMonster(creature.uid) then -- verifica se é um monster doTransformItem(item.uid,item.itemid+1) doPlayerSendTextMessage(cid,18,"Para dominar a guild house é necessario matar os guardas.") return false end end end end if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) if getPlayerStorageValue(cid,storages[1]) == -1 then setPlayerStorageValue(cid,storages[1],0) end sto_vezes = getPlayerStorageValue(cid,storages[1]) setGlobalStorageValue(storages[3],getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], sto_vezes + 1) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o Castelo") doPlayerSetExperienceRate(cid, expe) doSendMagicEffect(getThingPos(cid), 12) for _, player in pairs(getPlayersOnline()) do if getPlayerStorageValue(player, guild_sto) < 1 then doPlayerSetExperienceRate(player, 1) doSendMagicEffect(getPlayerPosition(cid), 2) break end end if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doPlayerSendCancel(cid,"Sua guild já está dominando a guild house.") doTransformItem(item.uid,item.itemid+1) end else doPlayerSendCancel(cid,"O sistema está desativado") end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar a guild house.") doTransformItem(item.uid,item.itemid+1) end end ------------------------- por pc98 ------------------------- por pc98 function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end ATENÇÃO : Domina o castle com um char e veja se ele ganhou double exp, se estiver tudo OK e ele ganhar a exp, você domina o castle com outro char de guild diferente e veja se o novo char ganhou double e se o primeiro dominante perdeu a double
  2. Como que faz para dominar o castle e ganhar a storage?
  3. procura o actionid no actions.xml, copia e da control f
  4. function onStepIn(cid, item, position, fromPosition) idspike = 2383 -- spike sword id -- posspike = {x=32101, y=32085, z=7, stackpos=1} -- sqm que a spike fica -- spike = getThingfromPos(posspike) fire = 1487 -- Id do fire -- if spike.itemid == idspike then doRemoveItem(spike.uid, 1) doSendMagicEffect(posspike, 12) doCreateItem(fire, 1, posspike) end end <movevent type="StepIn" actionid="20658" event="script" value="arquivo.lua"/> Adiciona esse action id "20658" nos 2 sqm que os player vai pisar
  5. o player vai ganha o outfit e os skills para sempre ou por um tempo ?
  6. XRPSERV.COM Cliente : 7.2 Características : Este servidor segue todas as características do Tibia antigo. Sem zona de proteção em barcos e carpetes. Frags diários. Sem hotkleys, knights usando UH e mages dominando. Dinheiro não importa : Todos os items na loja podem ser adquiridos pelo jogo, assim como também premium points através de quests, tasks, e muitas outras formas. Estágios de Experiência : Level 1 até 20 100xLevel 21 até 30 75xLevel 31 até 40 50xLevel 41 até 50 34xLevel 51 até 60 21xLevel 61 até 70 17xLevel 71 até 80 15xLevel 81 até 90 13xLevel 91 até 100 7xLevel 101 até 110 3xLevel 111 até 120 2xLevel 121 até 140 1.5xLevel 141+ 1x Sistema de Transmissão : Sistema de transmissão esta disponível para todos os jogadores. Missões : Existem mais de 40 missões disponíveis. Tarefas recompensam pontos de experiência, dinheiro e premium points; alguns delas lhe dão acesso aos chefes. Sistema de Guerra : Frags tratados na guerra, não são considerados injuriados. Dividir experiência em Party : Você pode compartilhar experiências com os membros da sua party se a diferença de nível não for superior a 2/3. Os membros de uma party receberão 25% de experiência de bônus da experiência total dos monstros. Servidor : 100% de uptime, 24 horas online, 7 dias da semana.
  7. Opa, foi mal tive que sair xd function onSay(cid, words, param) local out = { ["251"] = {lookType=251,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0}, ["134"] = {lookType=134,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0}, ["110"] = {lookType=110,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0}, ["115"] = {lookType=115,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0}, } local cd = { str = 55151, --- não mexa ! tempo = 10 --- tempo em segundo que fica bloqueado de usar o comando ! } if(param ~= "" and out[param]) then if getPlayerStorageValue(cid, cd.str) < os.time () then setPlayerStorageValue(cid, cd.str, os.time() + cd.tempo) doSetCreatureOutfit(cid, out[param],cd.tempo*1000) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Outfit Changer!") else doPlayerSendTextMessage(cid, 22, "Voce so podera usar esse comando depois de 24 horas!") doSendMagicEffect(getThingPos(cid), 2) end return true end end Aqui em: local out = { ["251"] = {lookType=251 ["251"] é a palavra que o player vai falar tipo > "!outfit 251", e em lookType o id da outfit que vai transformar <talkaction words="/outfit" event="script" value="changeout.lua"/>
  8. achei que era só uma '-', vou fazer e posto aqui
  9. function onSay(cid, words, param) local cd = { str = 55151, --- não mexa ! tempo = 30 --- tempo em segundo que fica bloqueado de usar o comando ! } local outf = {430} --- aqui voce coloca o id da outfit ! if getPlayerStorageValue(cid, cd.str) < os.time () then doCreatureChangeOutfit(cid, outf) setPlayerStorageValue(cid, cd.str, os.time() + cd.tempo) doSendMagicEffect(getThingPos(cid), 12) else doPlayerSendTextMessage(cid, 22, "Voce so podera usar esse comando depois de 24 horas!") doSendMagicEffect(getThingPos(cid), 2) end return true end <talkaction words="/outfit450" event="script" value="changeout.lua"/> Tem que mudar o tempo, ta 30 segundos, coloca o tanto que tu quiser ai
  10. Não tem com surgir do nada rs, você mexeu em algum sistema no globalevents ?
  11. Substitui por esse : local HORN = 2079 local BIRD_CAGE = 2095 local WOODEN_WHISTLE = 5786 local DIDGERIDOO = 3952 local CORNUCOPIA = 2369 local PARTY_TRUMPET = 6572 local USED_PARTY_TRUMPET = 6573 local cd = { tempo = 30, --- tempo em segundo que fica sem usar o item storage = 97854, } local GREEN_NOTES = {2070, 2071, 2073, 2075, 2076, 2078, 2367, 2374} function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, cd.storage) < os.time() then setPlayerStorageValue(cid, cd.storage, os.time() + cd.tempo) local random = math.random(1, 5) if(item.itemid == BIRD_CAGE) then doSendMagicEffect(fromPosition, CONST_ME_SOUND_YELLOW) elseif(item.itemid == DIDGERIDOO) then if(random == 1) then doSendMagicEffect(fromPosition, CONST_ME_SOUND_BLUE) return true end elseif(item.itemid == PARTY_TRUMPET) then doTransformItem(item.uid, USED_PARTY_TRUMPET) doCreatureSay(cid, "TOOOOOOT!", TALKTYPE_ORANGE_1) doSendMagicEffect(fromPosition, CONST_ME_SOUND_BLUE) doDecayItem(item.uid) elseif(item.itemid == CORNUCOPIA) then for i = 1, 11 do doPlayerAddItem(cid, 2681) end doRemoveItem(item.uid, 1) doSendMagicEffect(fromPosition, CONST_ME_SOUND_YELLOW) elseif(item.itemid == WOODEN_WHISTLE) then if(random == 2) then doSendMagicEffect(fromPosition, CONST_ME_SOUND_RED) doRemoveItem(item.uid, 1) return true end local position = getPlayerPosition(cid) position.x = position.x + 1 doSendMagicEffect(fromPosition, CONST_ME_SOUND_PURPLE) doSummonCreature("Wolf", pos) else local effect = CONST_ME_SOUND_BLUE if(item.itemid == HORN) then effect = CONST_ME_SOUND_PURPLE elseif(isInArray(GREEN_NOTES, item.itemid)) then effect = CONST_ME_SOUND_GREEN end doSendMagicEffect(fromPosition, effect) end return true end end
  12. Da pra evitar o logout do player para ele nao perder as skill, mas fica estranho, e se o player acabar morrendo vai perder do mesmo jeito, acredito que a melhor forma é fazer o script editar direto no banco de dados
  13. tem que fazer um script que adiciona e remove direto do banco de dados, não conheço nenhuma função que remove skill in game
  14. tenta assim, por condition : local tempo = 3600 --- em segundo local quantskill = 10 -- quantidade de skill local cd = { str = 102511, temp = 3600 } local cond = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(cond, CONDITION_PARAM_SKILL_DISTANCE, quantskill) setConditionParam(cond, CONDITION_PARAM_TICKS, tempo * 1000) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, cd.str) < os.time() then setPlayerStorageValue(cid, cd.str, os.time() + cd.temp) doAddCondition(cid, cond) addEvent(doAddCondition, tempo * 1000, cid) else doPlayerSendCancel(cid, "espere para usar novamente") return true end end Mas assim se o player logar ele perde as skills =\
  15. local bag = doPlayerAddItem(cid, 10518, 1) Esse numero "10518" é o id da backpack, parece que o seu servidor não tem essa backpack com esse ID, troca esse ID por outro
  16. é so mudar o id do item que ele quer que apareça dentro do script, mas da para fazer também com todos os itens se for isso que ele deseja.
  17. Tenta assim : function onSay(cid, words, param, channel) local poss = {{x=82, y=296, z=7}, {x=82, y=297, z=7}, {x=82, y=298, z=7}, {x=82, y=299, z=7}, {x=82, y=300, z=7}, {x=82, y=301, z=7}} -- poss que vai nascer o item local item = {id=2160, count =10} --- id = id do item, count = quantidade de iten que vai aparecer for i, pos in ipairs(poss) do doCreateItem(item.id, item.count, pos) doSendMagicEffect(pos, 10) end return true end <talkaction log="yes" words="/teste" access="5" event="script" value="itempos.lua"/>
  18. Desculpa, erro bobo, segue o script : 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local itenscoleta = {{id =5878 , count =100}, {id =5876 , count =100}, {id =5880 , count =100}} --- ITEMS QUE O NPC VAI PEDIR E A QUANTIDADE local str = { {mission1 = 58321, recompensa = 2160}, {mission2 = 58322, recompensa = 5922}, {mission3 = 58323, recompensa = 2400} } -- STORAGE QUE VAI GANHAR DEPOIS DE COMPLETAR A QUEST E A RECOMPENSA EM ITEM name = getCreatureName(cid) strstart = 988223 if msgcontains(msg, "mission") and getPlayerStorageValue(cid, strstart) < 1 then selfSay("Ola" ..name.. ", tenho algumas missoes interessantes para voce, deseja saber quais sao?", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "mission") and getPlayerStorageValue(cid, strstart) == 1 then selfSay("Voce esta em missao, ou falta entregar os itens para mim!", cid) elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then selfSay("Tenho 3 missoes, voce tem que coletar a quatidade de 100 itens em cada missao, digite (primeira missao, segunda missao ou terceira missao) e escolha qual deseja!", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "primeira missao") and talkState[talkUser] == 2 and getPlayerStorageValue(cid, strstart) < 1 and getPlayerStorageValue(cid, str[1].mission1) < 1 then selfSay("Colete 100 minotaur leather!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Start!") setPlayerStorageValue(cid, strstart, 1) elseif msgcontains(msg, "segunda missao") and talkState[talkUser] == 2 and getPlayerStorageValue(cid, strstart) < 1 and getPlayerStorageValue(cid, str[2].mission2) < 1 then selfSay("Colete 100 lizard leather!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Start!") setPlayerStorageValue(cid, strstart, 1) elseif msgcontains(msg, "terceira missao") and talkState[talkUser] == 2 and getPlayerStorageValue(cid, strstart) < 1 and getPlayerStorageValue(cid, str[3].mission3) < 1 then selfSay("Colete 100 iron ore!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Start!") setPlayerStorageValue(cid, strstart, 1) elseif msgcontains(msg, "primeira missao") and getPlayerStorageValue(cid, strstart) == 1 and getPlayerItemCount(cid, itenscoleta[1].id) >= itenscoleta[1].count and getPlayerStorageValue(cid, str[1].mission1) < 1 then setPlayerStorageValue(cid, str[1].mission1, 1) doPlayerRemoveItem(cid, itenscoleta[1].id, itenscoleta[1].count) selfSay("Que assim seja!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Completed!") setPlayerStorageValue(cid, strstart, -1) doPlayerAddItem(cid, str[1].recompensa, 100) --- O VALOR 100 E O TANTO DE ITEM QUE VAI GANHAR NA RECOMPENSA talkstate[talkUser] = 0 elseif msgcontains(msg, "segunda missao") and getPlayerStorageValue(cid, strstart) == 1 and getPlayerItemCount(cid, itenscoleta[2].id) >= itenscoleta[2].count and getPlayerStorageValue(cid, str[2].mission2) < 1 then doPlayerRemoveItem(cid, itenscoleta[2].id, itenscoleta[2].count) selfSay("Que assim seja!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Completed!") setPlayerStorageValue(cid, strstart, -1) setPlayerStorageValue(cid, str[2].mission2, 1) doPlayerAddItem(cid, str[2].recompensa, 100) --- O VALOR 100 E O TANTO DE ITEM QUE VAI GANHAR NA RECOMPENSA talkstate[talkUser] = 0 elseif msgcontains(msg, "terceira missao") and getPlayerStorageValue(cid, strstart) == 1 and getPlayerItemCount(cid, itenscoleta[3].id) >= itenscoleta[3].count and getPlayerStorageValue(cid, str[3].mission3) < 1 then doPlayerRemoveItem(cid, itenscoleta[3].id, itenscoleta[3].count) selfSay("Que assim seja!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Completed!") setPlayerStorageValue(cid, strstart, -1) setPlayerStorageValue(cid, str[3].mission3, 1) doPlayerAddItem(cid, str[3].recompensa, 1) --- O VALOR 1 E O TANTO DE ITEM QUE VAI GANHAR NA RECOMPENSA talkstate[talkUser] = 0 else selfSay("voce ja completou essa missao!", cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  19. Npc 2 : 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local itenscoleta = {{id =5878 , count =100}, {id =5876 , count =100}, {id =5880 , count =100}} --- ITEMS QUE O NPC VAI PEDIR E A QUANTIDADE local str = { {mission1 = 58321, recompensa = 2160}, {mission2 = 58322, recompensa = 5922}, {mission3 = 58323, recompensa = 2400} } -- STORAGE QUE VAI GANHAR DEPOIS DE COMPLETAR A QUEST E A RECOMPENSA EM ITEM name = getCreatureName(cid) strstart = 998292 if msgcontains(msg, "mission") and getPlayerStorageValue(cid, strstart) < 1 then selfSay("Ola" ..name.. ", tenho algumas missoes interessantes para voce, deseja saber quais sao?", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "mission") and getPlayerStorageValue(cid, strstart) == 1 then selfSay("Voce esta em missao, ou falta entregar os itens para mim!", cid) elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then selfSay("Tenho 5 missoes, voce tem que coletar a quatidade de 100 itens em cada missao, digite (primeira missao, segunda missao ou terceira missao) e escolha qual deseja!", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "primeira missao") and talkState[talkUser] == 2 and getPlayerStorageValue(cid, strstart) < 1 and getPlayerStorageValue(cid, str[1].mission1) < 1 then selfSay("Colete 100 minotaur leather!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Start!") setPlayerStorageValue(cid, strstart, 1) elseif msgcontains(msg, "segunda missao") and talkState[talkUser] == 2 and getPlayerStorageValue(cid, strstart) < 1 and getPlayerStorageValue(cid, str[2].mission2) < 1 then selfSay("Colete 100 lizard leather!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Start!") setPlayerStorageValue(cid, strstart, 1) elseif msgcontains(msg, "terceira missao") and talkState[talkUser] == 2 and getPlayerStorageValue(cid, strstart) < 1 and getPlayerStorageValue(cid, str[3].mission3) < 1 then selfSay("Colete 100 iron ore!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Start!") setPlayerStorageValue(cid, strstart, 1) end if msgcontains(msg, "primeira missao") and getPlayerStorageValue(cid, strstart) == 1 and getPlayerItemCount(cid, itenscoleta[1].id) >= itenscoleta[1].count then doPlayerRemoveItem(cid, itenscoleta[1].id, itenscoleta[1].count) selfSay("Que assim seja!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Completed!") setPlayerStorageValue(cid, strstart, -1) setPlayerStorageValue(cid, str.misson1, 1) doPlayerAddItem(cid, str[1].recompensa, 100) --- O VALOR 100 E O TANTO DE ITEM QUE VAI GANHAR NA RECOMPENSA talkstate[talkUser] = 0 elseif msgcontains(msg, "segunda missao") and getPlayerStorageValue(cid, strstart) == 1 and getPlayerItemCount(cid, itenscoleta[2].id) >= itenscoleta[2].count then doPlayerRemoveItem(cid, itenscoleta[2].id, itenscoleta[2].count) selfSay("Que assim seja!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Completed!") setPlayerStorageValue(cid, strstart, -1) setPlayerStorageValue(cid, str.misson2, 1) doPlayerAddItem(cid, str[2].recompensa, 100) --- O VALOR 100 E O TANTO DE ITEM QUE VAI GANHAR NA RECOMPENSA talkstate[talkUser] = 0 elseif msgcontains(msg, "terceira missao") and getPlayerStorageValue(cid, strstart) == 1 and getPlayerItemCount(cid, itenscoleta[3].id) >= itenscoleta[3].count then doPlayerRemoveItem(cid, itenscoleta[3].id, itenscoleta[3].count) selfSay("Que assim seja!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Mission Completed!") setPlayerStorageValue(cid, strstart, -1) setPlayerStorageValue(cid, str.misson3, 1) doPlayerAddItem(cid, str[3].recompensa, 1) --- O VALOR 1 E O TANTO DE ITEM QUE VAI GANHAR NA RECOMPENSA talkstate[talkUser] = 0 end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) O script esta todo comentado, leia os comentarios que você vai entender como configurar ! Não esqueça de marcar melhor resposta, para o post ser fechado! abraço
  20. Desculpa a demora brother, tava ocupado, aqui o script : 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid str = 192537 --- STORAGE QUE VAI GANHAR local temitens = {{id = 2160, count = 100}, {id = 8306, count = 3}, {id = 2400, count = 2}, {id = 5878, count = 100}, {id = 2494, count = 2}, {id = 2486, count = 2}, {id = 2491, count = 2}} --- ID DOS ITENS QUE PRECISA PRA TROCAR PELA STORAGE! function onItemPlayer(cid, itemid) for i = 1, #temitens do if getPlayerItemCount(cid, temitens[i].id) < temitens[i].count then return false end end return true end function removeItem(cid) for i in ipairs (temitens) do doPlayerRemoveItem(cid, temitens[i].id, temitens[i].count) end end if msgcontains(msg, "trocar") and onItemPlayer(cid, temitens) and getPlayerStorageValue(cid, str) < 1 then removeItem(cid) setPlayerStorageValue(cid, str, 1) doSendMagicEffect(getThingPos(cid), 12) selfSay("Storage Adicionada !", cid) else selfSay("Voce nao tem os itens necessarios ou ja tem a storage!", cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Aqui você muda a quantidade e o item que vai ser entregue ao NPC : local temitens = {{id = 2160, count = 100} Em "ID" é o id do item e em "COUNT" a quantidade !
  21. Primeiro NPC: Você adiciona aqui os IDS dos itens que deseja, mas antes apaga os que tem dentro dos {}, e sempre que adicionar um ID coloca a ",", igual ta aqui \/ Segundo NPC: me fala como você quer a missão do npc que eu faço pra você! Terceiro NPC: pra adicionar mais de uma cidade vai ter que fazer algumas alterações, esse ai só manda pra uma, deixa as posições de cada cidade que você quer e o nome de cada uma que faço pra você.
  22. Primeiro NPC : 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid str = 98144 --- STORAGE QUE VAI GANHAR local temitens = {2160, 8306, 2400, 5878, 2494, 2486, 2491} --- ID DOS ITENS QUE PRECISA PRA TROCAR PELA STORAGE! function onItemPlayer(cid, itemid) for i = 1, #temitens do if getPlayerItemCount(cid, temitens[i]) < 1 then return false end end return true end function removeItem(cid) for i in ipairs (temitens) do doPlayerRemoveItem(cid, temitens[i], 1) end end if msgcontains(msg, "trocar") and onItemPlayer(cid, temitens) and getPlayerStorageValue(cid, str) < 1 then removeItem(cid) setPlayerStorageValue(cid, str, 1) doSendMagicEffect(getThingPos(cid), 12) selfSay("Storage Adicionada !", cid) else selfSay("Voce nao tem os itens necessarios ou ja tem a storage!", cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Terceiro NPC: 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid postemplo = {x=80, y=348, z=7} --- POSIÇÃO DO TEMPLO QUE O PLAYER VAI SER TELEPORTADO premium = true --- se precisar de premium mude para TRUE se não precisar deixe FALSE if msgcontains(msg, "viajar") then selfSay("digite (templo)", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "templo") and talkState[talkUser] == 1 and isPremium(cid) == premium and isPlayerPzLocked(cid) == false then selfSay("que assim seja", cid) doTeleportThing(cid, postemplo) doSendMagicEffect(getThingPos(cid), 10) talkState[talkUser] = 0 end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) O segundo npc eu não entendi nada do que você quer, explica melhor
  • Quem Está Navegando   0 membros estão online

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