Ir para conteúdo

beto06

Visconde
  • Total de itens

    488
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Tudo que beto06 postou

  1. Tente ler este tópico: http://www.xtibia.com/forum/topic/153659-pot-agrupavel-sem-bug/ Talvez resolva os dois problemas.
  2. Precisava de uma função que removesse todos os Wolfs (monstros normais e summons) de uma área e que depois realizasse o buff do script abaixo (caso não tiver criatura, não executar a spell): local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 10) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition2 = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition2, CONDITION_PARAM_SUBID, 2) setConditionParam(condition2, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition2, CONDITION_PARAM_TICKS, 1 * 60 * 1000) setConditionParam(condition2, CONDITION_PARAM_HEALTHGAIN, 10) setConditionParam(condition2, CONDITION_PARAM_HEALTHTICKS, 4000) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat3, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition3 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition3, CONDITION_PARAM_SUBID, 3) setConditionParam(condition3, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition3, CONDITION_PARAM_TICKS, 1 * 60 * 1000) setConditionParam(condition3, CONDITION_PARAM_STAT_MAGICLEVEL, -10) function onCastSpell(cid, var, param) if doPlayerRemoveItem(cid, 10926, 1) == TRUE then doPlayerAddItem(cid, 7488, 1) pot_count = getPlayerItemCount(cid, 7488) doPlayerRemoveItem(cid, 7488, pot_count) doPlayerAddItem(cid, 7488, pot_count) doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Sorry, you need a flask of mind control.") return FALSE end doSetCreatureOutfit(cid,{lookType = 308, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = getCreatureOutfit(cid).lookAddons},1 * 60 * 1000) doAddCondition(cid, condition) doAddCondition(cid, condition2) doAddCondition(cid, condition3) return TRUE end Agradeço com um REP+
  3. Área errada, meio confuso, você tentou juntar mais de 3 scripts... :rimbuk: function onSay(cid, words, param) local voce1 = 206 local voce2 = 369 local voce3 = 370 local voce4 = 371 local lvl1 = 400 local lvl2 = 50 local lvl3 = 100 local lvl4 = 150 local voc1 = 343 local voc2 = 370 local voc3 = 371 local voc4 = 372 local outfit1 = {lookType=277,lookHead=20,lookAddons=0,lookLegs=40,lookBody=30,lookFeet=50} local outfit2 = {lookType=280,lookHead=20,lookAddons=0,lookLegs=40,lookBody=30,lookFeet=50} local outfit3 = {lookType=120,lookHead=20,lookAddons=0,lookLegs=40,lookBody=30,lookFeet=50} local outfit4 = {lookType=110,lookHead=20,lookAddons=0,lookLegs=40,lookBody=30,lookFeet=50} local outfitTime = 10999999 local napis1 = "Aaaaah" local napis2 = "Transformação" local effekt1 = 32 local effekt2 = 234 local effekt3 = 243 if getPlayerVocation(cid) == voce1 and getPlayerLevel(cid) >= lvl1 then doPlayerSetVocation(cid,voc1) doSetCreatureOutfit(cid, outfit1, outfitTime) doPlayerSay(cid,napis1,16) local pos = getPlayerPosition(cid) doSendMagicEffect(pos,effekt1) else doPlayerSendCancel(cid,"Você Não tem level suficiente") if getPlayerVocation(cid) == voce2 and getPlayerLevel(cid) >= lvl2 then doPlayerSetVocation(cid,voc2) doSetCreatureOutfit(cid, outfit2, outfitTime) doPlayerSay(cid,napis2,16) local pos = getPlayerPosition(cid) doSendMagicEffect(pos,effekt1) else doPlayerSendCancel(cid,"Você Não tem level suficiente") if getPlayerVocation(cid) == voce3 and getPlayerLevel(cid) >= lvl3 then doPlayerSetVocation(cid,voc3) doSetCreatureOutfit(cid, outfit3, outfitTime) doPlayerSay(cid,napis2,16) local pos = getPlayerPosition(cid) doSendMagicEffect(pos,effekt2) else doPlayerSendCancel(cid,"Você Não tem level suficiente") if getPlayerVocation(cid) == voce4 and getPlayerLevel(cid) >= lvl4 then doPlayerSetVocation(cid,voc4) doSetCreatureOutfit(cid, outfit4, outfitTime) doPlayerSay(cid,napis2,16) local pos = getPlayerPosition(cid) doSendMagicEffect(pos,effekt3) else doPlayerSendCancel(cid,"Você Não tem level suficiente") end return true end end end end Veja assim.
  4. É possível deixá-lo "stackable", por exemplo? REP+
  5. Bom, consegui jogar, porém achei um bug. Cada vez que hito com sword, spell ou qualquer outra coisa, não aparece o dano, apenas suga o health de todos os monstros. Como poderia resolver? =/
  6. Mandei PM! Coordenadas: x=73 y=43 -----------
  7. Funcionou perfeitamente, belo script. Rep++ -- Como fazer pra criar item em quantidade? [2544, 100] = { -- o item que será feito recipe = {{5901, 50}}, -- a receita do item Não deu certo assim. =/ -- Ahh, e o DoItemSetAttribute da erro também, como o do amigo acima.
  8. beto06

    Randomization

    Resolvido-
  9. Bom, se for quanto as empty potions após o uso, veja esse tópico (talvez funcione com o Slayer 8.57): http://www.xtibia.com/forum/topic/153659-pot-agrupavel-sem-bug/page__p__1014806#entry1014806 Dat Editor é um programa onde mexemos com o cliente do Tibia, podendo adicionar novos itens, novos efeitos, novos montros, enfim, para fazer um server com cliente próprio.
  10. Olá, olá! É possível adicionar um outfit como recompensa em alguma task? Script ótimo. REP++
  11. beto06

    Cooldown 8.60

    Resolvido-
  12. beto06

    Exp Potion

    data/actions/scripts/exppotion.lua function getTime(s) local n = math.floor(s / 60) s = s - (60 * n) return n, s end CreatureEventChecker = function(event, ...) -- Colex if isCreature(arg[1]) then event(unpack(arg)) end end creatureEvent = function(event, delay, ...) -- Colex addEvent(CreatureEventChecker, delay, event, unpack(arg)) end function onUse(cid,item,frompos,item2,topos) ------ CONFIGURE SEU SCRIPT ------ TRUE ou FALSE configs = { time = 1, ---- TIME IN MINUTES needpa = FALSE, needlvl = {FALSE, level = 50}, costmana = {FALSE, mana = 300}, removeonuse = TRUE } ---------------------------------- --------- Nao Mude -------------- if getPlayerStorageValue(cid, 62165) >= 1 then return doPlayerSendCancel(cid, "You are already taking effect from this item.") end if configs.needpa and not isPremium(cid) then return doPlayerSendCancel(cid, "You need to be a premmium account to use this item.") end if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then return doPlayerSendCancel(cid, "You need to be level " .. configs.needlvl.level .. " to use this item.") end if configs.costmana[1] then if getCreatureMana(cid) < configs.costmana.mana then return doPlayerSendCancel(cid, "You need " .. configs.costmana.mana .. " mana to use this item.") else doCreatureAddMana(cid, -configs.costmana.mana) end end if configs.removeonuse then doRemoveItem(item.uid, 1) end for i = configs.time*60, 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == configs.time*60 then creatureEvent(doPlayerSendCancel, configs.time*60*1000, cid, "The effect of the double experience potion ended.") end creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "The effect of the double experience will end in "..a..".") end doPlayerSetExperienceRate(cid, 2) creatureEvent(doPlayerSetExperienceRate, configs.time *60*1000, cid, 1) doPlayerSendTextMessage(cid, 22, "Now you will receive double experience from killing monsters.") setPlayerStorageValue(cid, 62163, os.time()) creatureEvent(setPlayerStorageValue, configs.time *60*1000, cid, 62163, 0) return TRUE end ------------------------------------- data/actions/actions.xml <action itemid="7443" event="script" value="exppotion.lua"/> data/creaturescripts/scripts/potionevent.lua CreatureEventChecker = function(event, ...) -- Colex if isCreature(arg[1]) then event(unpack(arg)) end end creatureEvent = function(event, delay, ...) -- Colex addEvent(CreatureEventChecker, delay, event, unpack(arg)) end function onLogin(cid) time = 1 ------ TIME IN MINUTES if os.time()-getPlayerStorageValue(cid, 62164) < time *60 then doPlayerSetExperienceRate(cid, 2) creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000, cid, 1) creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000 , cid, 62164, 0) for i = (time*60-(os.time()-getPlayerStorageValue(cid, 62164))), 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) then creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 62164)))*1000, cid, "The effect of the double experience potion ended.") end creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "The effect of the double experience will end in "..a..".") end end return TRUE end data/creaturescripts/creaturescripts.xml <event type="login" name="ExpPotion" event="script" value="potionevent.lua"/> Créditos: MatheusMkalo REP+?
  13. Olha, dá um pequeno trabalho. Vá em data/actions/liquids/, lá vai ter todas as potions e teremos que editar uma por uma. Comece por qualquer uma. Se seu server for o Styller 8.60, provavelmente terá no fim de todos os arquivos das potions o seguinte: doAddCondition(cid, exhaust) doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, EMPTY_POTION) return TRUE end Ok, se estiver assim, embaixo de doCreatureSay..., adicione o seguinte: doRemoveItem(item.uid, 1) doPlayerAddItem(cid, EMPTY_POTION, 1) pot_count = getPlayerItemCount(cid, EMPTY_POTION) doPlayerRemoveItem(cid, EMPTY_POTION, pot_count) doPlayerAddItem(cid, EMPTY_POTION, pot_count) return TRUE end Ficando por exemplo, o health_potion.lua: Faça em todas. Caso funcionar REP+? Não lembro de onde retirei, portanto se aparecer tal pessoa colocarei os devidos créditos. Obs: Aqui funciona legal.
  14. http://www.xtibia.com/forum/topic/148926-script-que-premium-ganha-20-a-de-xp/ Apenas editei para ganhar 200% de Exp.
  15. Em data/creaturescripts/scripts, crie um exp.lua e adicione isso: function onLogin(cid) registerCreatureEvent(cid, "PremiumExp") local rate = 2.0 -- 200% if isPremium(cid) ~= FALSE then doPlayerSetExperienceRate(cid, rate) end return TRUE end Em data/creaturescripts/creaturescripts.xml, adicione o seguinte: <event type="login" name="PremiumExp" event="script" value="exp.lua"/> Obs: Não testei. Créditos ao Vodkart pelo script. REP?
  16. Olha melhor não mexer no default.lua, só mude lá para algum outro nome, por exemplo troca.lua! <?xml version="1.0"?> <npc name="Marina" script="data/npc/scripts/troca.lua" access="5" lookdir="2" walkinterval="0"> <health now="200" max="200" /> <look typeex="5811" head="0" body="0" legs="0" feet="0" addons="0" /> <parameters> <parameter key="message_greet" value="Oh, hello |PLAYERNAME|. A visitor, how nice!" /> </parameters> </npc> Daí, vá para PastaDoSeuOt/data/npc/scripts/ e crie esse troca.lua! (Copie um arquivo qualquer, renomeie e apague tudo que estiver dentro) Dentro do arquivo já em branco coloque: 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 function GSS(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if getPlayerItemCount(cid,5879) >= 1 then if doPlayerRemoveItem(cid,5879,1) then npcHandler:say('Here is your spool of yarn!', cid) doPlayerAddItem(cid,5886,1) end else npcHandler:say('Sorry, you don\'t have the giant spider silk!', cid) end end keywordHandler:addKeyword({'giant spider silk'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you wanna exchange a giant spider silk into a {spool of yarn}?.'}) local node1 = keywordHandler:addKeyword({'spool of yarn'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Are you sure?'}) node1:addChildKeyword({'yes'}, GSS, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Come back when you want.', reset = true}) npcHandler:addModule(FocusModule:new()) Obs: Não testei, mas veja se é isso... Caso for REP++! Créditos ao Vodkart pelo script, apenas editei para a GSS. Ahh, funciona da seguinte forma: você fala 'hi', depois 'giant spider silk' ou 'spool of yarn', 'yes'. Obs: Não sei se tem como fazer isso pelo arquivo .xml, '
  17. SS plx? Mas pelo visto ele só muda a outfit, sendo precisado criar as sprites?
  18. Já tinha tentando fazer algo, mas não tenho muita noção sobre movements =/
  19. Olá, queria pedir uma action ou até talkaction que fosse no estilo de largada, bom para eventos ou até wars. Explicando: os players ficariam em um lugar, porém não poderiam atravessar uma "linha", somente poderão quando eu (GOD) ativar ou puxar uma alavanca, iniciando assim um evento, war, etc... e liberando a "linha" para a passagem. Espero que alguém tenha entendido... Darei REP++ se alguém me ajudar!
  20. Tire o setCombatParam(meteor, COMBAT_PARAM_CREATEITEM, 1492).
  • Quem Está Navegando   0 membros estão online

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