Ir para conteúdo

HidekiKty

Campones
  • Total de itens

    68
  • Registro em

  • Última visita

Tudo que HidekiKty postou

  1. Por nada..reportado para ser movido (De boa Ratatouille).
  2. Utilize a opção manager (bool, C++), com ela compilada nas sources você poderá fazer com que certas vocações possam não ser selecionadas pelo Account Manager. Clique aqui para visualizar o tópico do Oneshot.
  3. NPC Teleport pela storage (40911). Subistitua pelo seu 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) local pos = {x=1039, y=1072, z=7} -- Local da hunt local posreturn = {x=1039, y=1072, z=7} -- Posiçao onde o player sera teleportado quando acabar o tempo local money = 400000 --- Quanto de dinheiro sera removido config = { time = 1 ---Tempo que ele vai ficar na hunt sabendo que cada numeral equivale a um minuto----- } function doReturnPos() doTeleportThing(cid, posreturn) setGlobalStorageValue(cid, 24688, 0) setGlobalStorageValue(cid, 24686, none) setPlayerStorageValue(cid, 28680, 0) end if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'chuunin') then if getGlobalStorageValue(cid, 24688) == 1 then doPlayerSendTextMessage(cid,22,"O player "..getGlobalStorageValue(24686).." esta fazendo o teste") return true end if not doPlayerRemoveMoney(cid, money) then doPlayerSendTextMessage(cid,22,""..getPlayerName(cid).." precisa de "..money.." para fazer o chuunin teste") return true end if getPlayerStorageValue(cid, 40911) >= 1 then doPlayerRemoveMoney(cid, money) doPlayerSendTextMessage(cid,22,"Obrigado "..getPlayerName(cid).." foi teleportado.") doTeleportThing(cid, pos) setGlobalStorageValue(cid, 24688, 1) setGlobalStorageValue(cid, 24686, getPlayerName(cid)) setPlayerStorageValue(cid, 28680, 1) addEvent(doReturnPos, config.time*60*1000) else selfSay('Você não fez a missão necessária para fazer o teste.', cid) end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Abra a pasta data/npc/scripts e crie um arquivo chamado rankmission.lua Adicione 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 items = { [1] = {id = 1111, count = 50}, [2] = {id = 2222, count = 40}, [3] = {id = 3333, count = 30}, [4] = {id = 4444, count = 20} } if(msgcontains(msg, 'hi')) then selfSay('Hello Little Ninja. Want to do the {mission}?', cid) end if(msgcontains(msg, 'mission')) then selfSay('Tell {yes} to accept.', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, 40911) >= 1 then selfSay('You have done this mission.', cid) return true end elseif getPlayerStorageValue(cid, 40911) <= 0 then selfSay('Okay, bring me 50 blabla, 40 blabla, 30 blabla e 20 blablabla.', cid) elseif getPlayerItemCount(cid, items[1].id) == items[1].count or getPlayerItemCount(cid, items[2].id) == items[2].count or getPlayerItemCount(cid, items[3].id) == items[3].count or getPlayerItemCount(cid, items[4].id) == items[4].count then setPlayerStorageValue(cid, 40911, 1) selfSay('Sure, you went to the next mission. Good Luck.', cid) else selfSay('You do not have the items.', cid) end return true end Edite o id e quantidade dos items que o player terá que entregar ao NPC em local items (id, count). Edite também a parte: Pela mensagem informativa dos items que o player precisará entregar ao NPC. Agora na pasta data/npc crie um arquivo chamado Rank Missions.xml Adicione o script: <!--?xml version="1.0" encoding="UTF-8"?--> <npc name="Rank Mission" script="data/npc/scripts/rankmission.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"> <look type="253" head="50" body="78" legs="0" feet="33" addons="3"> </look></health></npc> Para fazer outros NPC's, apenas mude a StorageID que o player receberá e os itens/quantidades.
  4. ~Edited Desculpe, obrigado Smix.
  5. Quando você digitar a palavra chave transform, o player receberá o outfit e o efeito constante mesmo se relogar, o efeito voltara constante.
  6. Não sei se isto pode resolver seu problema. Use esse script em fishing.lua (data\actions\scripts\tools): Isto não tem haver com a configuração dos pokemons passivos em configuration.lua, mas veja se isto pode te ajudar.
  7. \o/ Amigo, abra a pasta data/movements e abra o arquivo movements.xml Procure (CTRL+F) a tag que possui o actionid da storage (13540) e subistitua por esta: <movevent type="StepIn" actionid="13540" event="script" value="nickdoseuarquivo.lua"/> No Map Editor, adicione o ActionID 13540 no piso que você quer que seja o tile. Em value="nickdoseuarquivo.lua"/> coloque o nick do arquivo.lua que está o script do tile.
  8. Amigo, você não pode remover attackspeed="550" da vocations.xml, você tem que configurar como queira que a velocidade do attack seja. Quanto menos, mais rapido e quanto mais, mais devagar.
  9. ~Edited Tente agora, fiz com outfit e efeito permanentemente constantes. Apenas configure e use.
  10. ~Edited Outfit e efeito permanentemente constantes. Abra a pasta data/talkactions/scripts e crie um arquivo chamado transformation.lua Adicione o script: local config = { voc = 10, effect = 30, outfit = 100, stor = 8580 } local function constantEffect(cid) if getPlayerVocation(cid) == config.voc then doSetCreatureOutfit(cid, {lookType = config.outfit}, -1) end doSendMagicEffect(getCreaturePos(cid), config.effect) addEvent(constantEffect, 2*1000, cid) setPlayerStorageValue(cid, config.stor) end function onSay(cid, words, param) constantEffect(cid) end Na pasta data/talkactions abra o arquivo talkactions.xml Adicione a tag: <talkaction words="transform;Transform" event="script" value="transformation.lua"/> Agora na pasta data/creaturescripts/scripts e crie um arquivo chamado transformation.lua Adicione o script: local config = { effect = 50, outfit = 100, stor = 8580 } local function doSendEffect(cid) doSendMagicEffect(getThingPos(cid), config.effect) addEvent(doSendEffect, 2000, cid) end function onLogin(cid) if getPlayerStorageValue(cid, config.stor) >= 1 then doSetCreatureOutfit(cid, {lookType = config.outfit}, -1) doSendEffect(cid) end end Na mesma pasta (data/creaturescripts/scripts), abra o arquivo login.lua Adicione o registro: registerCreatureEvent(cid, "Transformation") Agora na pasta data/creaturescripts e abra o arquivo creaturescripts.xml Adicione a tag: <event type="login" name="Transformation" event="script" value="transformation.lua"/>
  11. Arrume a tag em movements.xml (data/movements): <movevent type="StepIn" actionid="13540" event="script" value="nickdoseuarquivo.lua"/> PS: Não esqueça de colocar o nick do seu arquivo em value=".lua"/>
  12. Use este script: function onStepIn(cid, item, frompos, position) if getPlayerStorageValue(cid, 13540) >= 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seja Bem Vindo a Area Vip.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não é vip, fale com o Administrador do Server.") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end end
  13. Não há de que, amigo. Reportado para ser movido.
  14. Desculpe não ter notado isso, Slicer. Reportado para ser movido.
  15. Tente subistituir: function onKill(cid, target, lastHit) if(getPlayerStorageValue(cid,configs.storage_monster) == configs.quant) then por: function onKill(cid, target, lastHitKiller) if getCreatureName(lastHitKiller) == monster or getCreatureName(lastHitKiller) == monster2 or getCreatureName(lastHitKiller) == monster3 and getPlayerStorageValue(cid,configs.storage_monster) == configs.quant then
  16. tonynamoral Script incorreto: Vermelho: Incorreto. Script correto: Azul: Correto.
  17. tonynamoral Alguns erros ortográficos e de configurações, use esse script: local configs = { storage_start = 87812, storage_monster = 81251, storage_finish = 90125, quant = 100, quant2 = 99, msg = 'You are kiling "..getPlayerStorageValue(cid, configs.storage_monster).." of "..configs.quant.."' } local monster = "Dragon" local monster2 = "Dragon Lord" local monster3 = "Dragon Lord Hatchling" local function onTeleportar(cid) doTeleportThing(cid, pos) end local function onContar(cid) addEvent(doSendAnimatedText,5*1000,getThingPos(cid),1,28) addEvent(doSendAnimatedText,4*1000,getThingPos(cid),2,28) addEvent(doSendAnimatedText,3*1000,getThingPos(cid),3,28) addEvent(doSendAnimatedText,2*1000,getThingPos(cid),4,28) addEvent(doSendAnimatedText,1*1000,getThingPos(cid),5,28) end function onKill(cid, target, lastHit) if(getPlayerStorageValue(cid,configs.storage_monster) == configs.quant) then onContar(cid) addEvent(function() onTeleportar(cid) end,6*1000) end if getPlayerStorageValue(cid, configs.storage_start) >= 1 then if getCreatureName(target) == monster or getCreatureName(target) == monster2 or getCreatureName(target) == monster3 then setPlayerStorageValue(cid, configs.storage_monster, getPlayerStorageValue(cid, configs.storage_monster)+1) doPlayerSendTextMessage(cid, 27,configs.msg) return true end end end iunix Seu script correto seria: local configs = { storage_start = 87812, storage_monster = 81251, storage_finish = 90125, quant = 100, quant2 = 99, monsters = {"Dragon", "Dragon Lord", "Dragon Lord Hatchling"}, pos = {x=1111,y=1111,z=1} } function onKill(cid, target, lastHit) if(getPlayerStorageValue(cid,configs.storage_monster) == configs.quant) then for i = 1, 5 do addEvent(doSendAnimatedText,i *1000,getThingPos(cid),i,28) end addEvent(doTeleportThing, 6*1000, cid, config.pos) elseif getPlayerStorageValue(cid,configs.storage_Start) >= 1 then if isInArray(config.monsters, getCreatureName(target)) then setPlayerStorageValue(cid,configs.storage_monster,getPlayerStorageValue(cid,configs.storage_monster)+1) doPlayerSendTextMessage(cid,27,"You killed "..getPlayerStorageValue(cid,storage_monster).." of "..configs.quant..".") return true end end return true end
  18. Sem level system, pois há mais jogabilidade enquanto a questão de com level system, poderem haver 2 pokémons identicos com boost, etc, só que status diferentes e também por valorizar o uso de stones.
  19. Use este script, está correto: local stor = 4040 local corpseid = 5966 local pos1 = {x=111, y=222, z=333} local pos2 = {x=112, y=223, z=334} local pos3 = {x=113, y=224, z=335} function onStepIn(cid, item, frompos, moveitem, tileitem, position) if isCorpse(getTileItemById(corpseid, pos1).uid) and isCorpse(getTileItemById(corpseid, pos2).uid) and isCorpse(getTileItemById(corpseid, pos3).uid) then setPlayerStorageValue(cid, stor, 1) else doPlayerSendCancel(cid, "Você não pode entrar no teleport.") return false end return true end function onStepOut(cid, item, frompos) if getPlayerStorageValue(cid, stor) >= 1 then setPlayerStorageValue(cid, stor, 0) end return true end
  20. Essa enciclopédia sobre LUA e XML pode servir de grande ajuda a quem quer se expecializar nas linguagens de scripting: Clique aqui.
  21. Não há como diminuir a velocidade do attack target de um Bot, porém você pode diminuir o fastattack das vocations em data/XML no arquivo vocations.xml, fazendo então com que a velocidade do attack target do Bot não tenha efeito ou ao menos diminua-a dependendo de como você configurá-lo. A parte em vocations.xml que você deve modificar o valor, ou seja, a velocidade do attack target: attackspeed="550"
  22. addEvent(doSendDistanceShoot,100,fromPosition, a4, 1) Mude o 1 no fim do script, pelo effect number que você pode observar em seu servidor pelo comando /x 1 (1 é o do bolt).
  • Quem Está Navegando   0 membros estão online

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