-
Total de itens
3406 -
Registro em
-
Última visita
-
Dias Ganhos
113
Tudo que Vodkart postou
-
vc deletou o buypremium_command.xml na pasta mods e deu /reload mods e /reload talkactions?
-
especifique melhor seu pedido, serão quais leveis por exemplo? serão items? ou só exp? detalhes.
-
pqp velho, que script chato de fazer, ele não é difícil, só é bem chatinho msm ¬¬ Mods: <?xml version="1.0" encoding="UTF-8"?> <mod name="Kung Task" version="1.0" author="Vodkart" contact="xtibia.com" enabled="yes"> <config name="kung_func"><![CDATA[ kungtask = { ["dragon"] = {storages = {620001,630001}, count = 1500,exp = 1000}, ["dragon lord"] = {storages = {620002,630002}, count = 600, exp = 2000}, ["hydra"] = {storages = {620003,630003}, count = 240, exp = 3000}, ["frost dragon"] = {storages = {620004,630004} ,count = 600, exp = 4000}, ["dragon guardian"] = {storages = {620005,630005} ,count = 1000, exp = 5000}, ["demondras"] = {storages = {620006,630006} ,count = 600, exp = 6000}, ["thunder dragon"] = {storages = {620007,630007} ,count = 1000, exp = 7000} } function ZerarTask(cid) for var, ret in pairs(kungtask) do if getPlayerStorageValue(cid, ret.storages[2]) ~= -1 and getPlayerStorageValue(cid,ret.storages[1]) <= os.time() then setPlayerStorageValue(cid, ret.storages[2], -1) setPlayerStorageValue(cid, ret.storages[1], -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You not have completed the task of "..var.." in the request time and it was zeroed") end end end ]]></config> <event type="login" name="KungRegister" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "KillingKung") return true end]]></event> <event type="kill" name="KillingKung" event="script"><![CDATA[ domodlib('kung_func') function onKill(cid, target) if(isMonster(target) == TRUE) then local n = getCreatureName(target) local name_monster = kungtask[string.lower(n)] if(name_monster and getPlayerStorageValue(cid,name_monster.storages[1]) >= os.time()) then local contagem = getPlayerStorageValue(cid, name_monster.storages[2]) if contagem > name_monster.count then return true end setPlayerStorageValue(cid, name_monster.storages[2], contagem+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, ""..((contagem+1) < name_monster.count and "["..n.." Task] "..(contagem+1).."/"..name_monster.count or "["..n.." Task] Finaliza")..".") end end return true end]]></event> <globalevent name="ZerarTask" interval="60" event="script"><![CDATA[ domodlib('kung_func') function onThink(interval, lastExecution) local on = getPlayersOnline() if #on > 0 then for i = 1, #on do ZerarTask(on[i]) end end return true end]]></globalevent> </mod> Npc: domodlib('kung_func') 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 msg = string.lower(msg) local days = 7 if isInArray({"task","mission", "missão"}, msg) then npcHandler:say("Me diga o nome do monstro que você deseja fazer a task!", cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if kungtask[msg] then if getPlayerStorageValue(cid, kungtask[msg].storages[1]) == -1 then stor,name,count,stor2 = kungtask[msg].storages[1],msg,kungtask[msg].count,kungtask[msg].storages[2] npcHandler:say("Ótimo! Você precisa matar pelo menos "..count.." "..name.." em um prazo de "..days.." dias para te dar recompensa. Aceita? {yes}", cid) talkState[talkUser] = 2 else npcHandler:say("Você já está participando desta task.", cid) talkState[talkUser] = 1 end else npcHandler:say("digite o nome certo do monstro.", cid) talkState[talkUser] = 1 end elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then setPlayerStorageValue(cid, stor, os.time()+days*86400) setPlayerStorageValue(cid, stor2, 0) npcHandler:say("Você já pode começar a matar "..name..". Volte aqui quando matar "..count.." "..name.." para ser recompensado. O prazo é até "..os.date("%d %B %Y %X", getPlayerStorageValue(cid,stor))..".", cid) talkState[talkUser] = 0 elseif isInArray({"entregar","receber", "recompensa"}, msg) then for var, ret in pairs(kungtask) do if getPlayerStorageValue(cid,ret.storages[1]) >= os.time() and getPlayerStorageValue(cid,ret.storages[2]) >= ret.count then doPlayerAddExp(cid, ret.exp) setPlayerStorageValue(cid, ret.storages[2], -1) setPlayerStorageValue(cid, ret.storages[1], -1) return npcHandler:say("Obrigado! você recebeu "..ret.exp.." de experience por ter terminado a task do "..var, cid) else return npcHandler:say("Desculpe, mas você não terminou nenhuma missão.", cid) end end elseif isInArray({"no","nao"}, msg) then selfSay("tudo bem então.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) no npc vc fala: hi task NOME DA TASK e pra receber a recompensa vc fala hi entregar e o npc vai entregar a recompensa da task que ele TERMINOU para o player
-
então diz qual é o seu servidor, baiak, alissow, real server?
-
[Encerrado] Ajuda Com Esse Erro Aqui ;s;s
tópico respondeu ao exorcist de Vodkart em Tópicos Sem Resposta
<?xml version="1.0" encoding="UTF-8"?> <creaturescripts> <!-- XTibia.com --> <event type="login" name="Save" event="script" value="save.lua"/> <!--event type="advance" name="PlayerAdvance" event="script" value="playeradvance.lua"/--> <event type="login" name="PlayerLogin" event="script" value="login.lua"/> <event type="joinchannel" name="GuildMotd" event="script" value="guildmotd.lua"/> <event type="receivemail" name="Mail" event="script" value="mail.lua"/> <event type="reportbug" name="SaveReportBug" script="reportbug.lua"/> <event type="advance" name="AdvanceSave" event="script" value="advancesave.lua"/> <event type="think" name="Idle" event="script" value="idle.lua"/> <event type="think" name="SkullCheck" event="script" value="skullcheck.lua"/> <event type="death" name="PythiusDead" script="pythius_the_rotten.lua" /> <event type="death" name="monster2" event="script" value="monster2.lua"/> <event type="death" name="inquisitionPortals" script="teleports_inquisition.lua"/> <event type="death" name="ASGARD_DIE" script="asgard_die.lua"/> <event type="login" name="300" event="script" value="300.lua"/> <event type="statschange" name="zombieevent" event="script" value="zombie event.lua"/> <event type="death" name="Reward" event="script" value="hearts.lua"/> <event type="statschange" name="ExpStats" event="script" value="exphit.lua"/> <event type="combat" name="ExpGain" event="script" value="exphit.lua"/> <event type="statschange" name="HitMessage" event="script" value="hitmsg.lua"/> <event type="combat" name="Hitmsg" event="script" value="hitmsg.lua"/> <!-- Custom systems --> <event type="login" name="FirstItems" event="script" value="firstitems.lua"/> <event type="kill" name="PlayerKill" event="script" value="arenakill.lua"/> <event type="death" name="inquisitionPortals" event="script" value="inquisitionPortals.lua"/> <event type="death" name="bluelegs" event="script" value="bluelegs.lua"/> <event type="death" name="PlayerDeath" event="script" value="playerdeath.lua"/> <event type="attack" name="AttackGuild" script="attackguild.lua"/> <event type="login" name="FimVip" event="script" value="vip.lua"/> <event type="logout" name="demonOakLogout" event="script" value="demonOakLogout.lua"/> <event type="death" name="demonOakDeath" event="script" value="demonOakDeath.lua"/> <event type="death" name="Azerus" event="script" value="azerus.lua"/> <event type="kill" name="KillingInTheNameOf" event="script" value="killinginthenameof.lua"/> </creaturescripts> -
sanado, reportado.
-
Você não tem nenhum tile que só vip passa? ou porta? tanto faz... se vc tiver coloca o script dele aqui
-
e qual seu sistema vip cara? outra coisa, posta em lugar certo pelo amor de deus...
-
creaturescript/script nome do seu script.lua rateExp = 50 -- 0 a 20 rateExp1 = 20 -- 21 a 50 rateExp2 = 15 -- 51 a 100 rateExp3 = 10 -- 101 a 200 rateExp4 = 5 -- 201 a 300 rateExp5 = 4 -- 301 a 350 rateExp6 = 3 -- 351 em diante bonus = 1 -- Bonus por estar com exp ring expringid = 1000 -- Id do exp ring ------------------------------ function CalculeExp(monsterhp, exptotal, hit) local x = hit <= monsterhp and math.ceil(exptotal * hit / monsterhp) or 0 local x2 = x - 20 + math.random(20) return x2 > 0 and x2 or 0 end function isSummon(uid) return uid ~= getCreatureMaster(uid) or false end function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS then if isMonster(cid) then if isCreature(attacker) then local sid = isSummon(attacker) == true and getCreatureMaster(attacker) or attacker if isPlayer(sid) and getPlayerLevel(sid) <= 20 then local expg = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp, value) doPlayerSendTextMessage(sid, 23, "You gain "..expg.." exp.") doPlayerAddExp(sid, expg) elseif isPlayer(sid) and getPlayerLevel(sid) > 21 and getPlayerLevel(sid) <= 50 then local expg1 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp1, value) doPlayerSendTextMessage(sid, 23, "You gain "..expg1.." exp.") doPlayerAddExp(sid, expg1) elseif isPlayer(sid) and getPlayerLevel(sid) > 51 and getPlayerLevel(sid) <= 100 then local expg2 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp2, value) doPlayerSendTextMessage(sid, 23, "You gain "..expg2.." exp.") doPlayerAddExp(sid, expg2) elseif isPlayer(sid) and getPlayerLevel(sid) > 101 and getPlayerLevel(sid) <= 200 then local expg3 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp3, value) doPlayerSendTextMessage(sid, 23, "You gain "..expg3.." exp.") doPlayerAddExp(sid, expg3) elseif isPlayer(sid) and getPlayerLevel(sid) > 201 and getPlayerLevel(sid) <= 300 then local expg4 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp4, value) doPlayerSendTextMessage(sid, 23, "You gain "..expg4.." exp.") doPlayerAddExp(sid, expg4) elseif isPlayer(sid) and getPlayerLevel(sid) > 301 and getPlayerLevel(sid) <= 350 then local expg5 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp5, value) doPlayerSendTextMessage(sid, 23, "You gain "..expg5.." exp.") doPlayerAddExp(sid, expg5) elseif isPlayer(sid) and getPlayerLevel(sid) > 351 then local expg6 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp6, value) doPlayerSendTextMessage(sid, 23, "You gain "..expg6.." exp.") doPlayerAddExp(sid, expg6) elseif isPlayer(sid) and item.itemid == expringid then local expbonus = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * bonus, value) doPlayerSendTextMessage(sid, 23, "You gain "..expbonus.." bonus exp.") doPlayerAddExp(sid, expbonus) end end end elseif type == STATSCHANGE_HEALTHGAIN then return false end return true end function onCombat(cid, target) if isMonster(target) and not isSummon(target) and not isPlayer(target) then registerCreatureEvent(target, "ExpGain") end return true end creaturescript.xml <event type="statschange" name="ExpStats" event="script" value="nome do seu script.lua"/> <event type="combat" name="ExpGain" event="script" value="nome do seu script.lua"> login.lua adc: registerCreatureEvent(cid, "ExpStats") registerCreatureEvent(cid, "ExpGain")
-
acho que assim funciona: ExpVipTable = { [{1, 8}] = 5, [{9, 19}] = 4, [{20, 39}] = 3, [{40, 59}] = 2, [{60, 79}] = 1.5, [{80, 99}] = 1, [{100, 9999}] = 0.5 } for var, ret in pairs(ExpVipTable) do if getPlayerLevel(cid) >= var[1] and getPlayerLevel(cid) <= var[2] then setPlayerStorageValue(cid, 8567, ret) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You status of rate this changed for "..ret.."%.") end end
-
porque no meu serve não tem essa função! aproveita que você entende da função e posta como ficaria usando getSpectators. @leo Não entendi seu script, está muito confuso, no caso teria que clicar na alavanca novamente para checar se tem os monstro na área, é isso? Mas se o jogador puxasse a alavanca iria criar mais monstros, ou sejá, ele ficaria infinitamente na sala! teria que fazer de outro jeito, me explica oque a alavanca tem que fazer...
-
[Creaturescripts] Walking Effect On Outfit
tópico respondeu ao AnneMotta de Vodkart em Globalevents e Spells
ai tem que aumentar o tempo do evento: events[getPlayerGUID(cid)] = addEvent(WalkEffect, 100, cid, c, frompos) o 100 é o tempo, tenta colocar 500, e vai vendo qual fica melhor pra vc -
deve ser para alguma quest, não sei....
-
blz, posta como ficou o seu script pra mim ver o erro.
-
function onStepIn(cid, item, position, fromPosition) local tiles = { [18001] = {{x=159, y=52, z=7},{x=160, y=52, z=7},{x=161, y=52, z=7}}, [18002] = {{x=190, y=54, z=7},{x=191, y=54, z=7}}, [18003] = {{x=180, y=54, z=7}}, [18004] = {{x=200, y=54, z=7}} } return doTeleportThing(cid, tiles[item.actionid][math.random(#tiles[item.actionid])]) end
-
[Creaturescripts] Walking Effect On Outfit
tópico respondeu ao AnneMotta de Vodkart em Globalevents e Spells
custa ler o tópico? local effect = { [136] = 3, [128] = 3, -- citizen [270] = 27,[273] = 27, -- jester [156] = 61,[152] = 61, -- assassin [147] = 44,[143] = 44, -- barbarian [148] = 45,[144] = 45, -- druid [157] = 68,[153] = 68, -- beggar [149] = 36,[145] = 36, -- wizard [279] = 17,[278] = 17, -- brotherwood [137] = 39,[129] = 39, -- hunter [141] = 66,[133] = 66, -- summoner [142] = 34,[134] = 34, -- warrior [155] = 31,[151] = 31, -- pirate [158] = 46,[154] = 46, -- shaman [288] = 6,[289] = 6 -- demonhunter } [iD DA OUTFIT] = N° DO EFEITO exemplo citizen: [136] = 3, [128] = 3, -- citizen 3 é o número do efeito, alterar ali -
cara, não que eu vá fazer seu pedido mas você tem que explicar melhor seus pedidos, com o máximo de detalhes possível, porque imagina alguém te entrega um pedido e depois ter que ficar fazendo alterações? vai ficar chato tanto para quem teve o trabalho de atender quanto para quem pede, os dois irão perder tempo. Exemplo, depois de terminar a task ele vai poder voltar a fazer de novo? se ele não conseguir fazer a task naquele prazo a sua contagem é zerada? entendeu zé.
-
http://www.xtibia.com/forum/topic/152827-vocation-oufit/
-
http://www.xtibia.com/forum/topic/153446-death-cast/
-
então, me manda o que vc alterou ai pra eu ver como ficou
-
você trocou as pos e a storage no script que eu te mandei? posta aqui o script que vc alterou
-
tenta assim: storage,x = 875487, true local toPosition,fromPosition = {x = 33, y = 98, z = 8},{x = 46, y = 107, z = 8} -- começo e final da area for x = toPosition.x, fromPosition.x do for y = toPosition.y, fromPosition.y do local m = getTopCreature({x=x, y=y, z=fromPosition.z}).uid if m ~= 0 and isMonster(m) then x = false end if x == true and m ~= 0 and isPlayer(m) then setPlayerStorageValue(m,storage,1) end end end
-
acho que teria que fazer um loop na área
-
ai é só fazer o script... DropBless.lua function onDeath(cid, corpse, deathList) function HaveBless(cid) for i = 1,5 do if getPlayerBlessing(cid, i) then return true end end return false end if isPlayer(cid) and HaveBless(cid) and getPlayerSkullType(cid) < SKULL_RED then doCreatureSetDropLoot(cid, false) end return true end creaturescript.xml <event type="death" name="BlessDrop" event="script" value="DropBless.lua"/> creaturescript/script/login.lua registerCreatureEvent(cid, "BlessDrop")
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.