
Histórico de Curtidas
-
Mark Ackerman recebeu reputação de C H R O N I C L E em Naruto Black And White
-
Mark Ackerman deu reputação a Vodkart em (Resolvido)Suporte em scriptif isInArray(chek.outfits, getCreatureOutfit(cid).lookType) then doCreatureChangeOutfit(cid,{lookType = 81})
-
Mark Ackerman deu reputação a Storm em [PEDIDO] Spell Transferência de MP@bismarkzika
-- Os parâmentros do comando são : !transfer NOME DO PLAYER, QUANTIDADE DE MANA A SER DOADA -- Exemplo : !transferencia Storrm, 1 -- <talkaction words="!transferencia" event="script" value="transfer.lua"/> function onSay(cid, words, param, channel) local pos = getCreaturePosition(cid) local t = string.explode(param, ",") local a = getPlayerByNameWildcard(t[1]) if (param == '') or (not t[1]) or (not t[2]) or (not isNumber(t[2])) then doSendMagicEffect(pos, 5) doPlayerSendTextMessage(cid, 26, "Parametros incorretos") return true end if not a then doSendMagicEffect(pos, 5) doPlayerSendTextMessage(cid, 26, "Player não encontrado") return true end if tonumber(t[2]) >= 101 or tonumber(t[2]) == 0 then doSendMagicEffect(pos, 5) doPlayerSendTextMessage(cid, 26, "Somente de 1 a 100") return true end local b = getCreatureMana(cid) / 100 * t[2] doCreatureAddMana(cid, -b) doCreatureAddMana(a, b) return true end
-
Mark Ackerman deu reputação a Storm em [PEDIDO] Spell Transferência de MP@bismarkzika
-- Os parâmentros do comando são : !transfer NOME DO PLAYER, QUANTIDADE DO ITEM A SER DOADA -- Exemplo : !transferencia Storrm, 1 -- <talkaction words="!transferencia" event="script" value="transfer.lua"/> local id = 2150 -- ID da mana Potion function onSay(cid, words, param, channel) local pos = getCreaturePosition(cid) local t = string.explode(param, ",") local a = getPlayerByNameWildcard(t[1]) local item = getPlayerItemCount(cid, id) if (param == '') or (not t[1]) or (not t[2]) or (not isNumber(t[2])) then doSendMagicEffect(pos, 5) doPlayerSendTextMessage(cid, 26, "Parametros incorretos") return true end if not a then doSendMagicEffect(pos, 5) doPlayerSendTextMessage(cid, 26, "Player não encontrado") return true end if not doPlayerRemoveItem(cid, id, t[2]) then doSendMagicEffect(pos, 5) doPlayerSendTextMessage(cid, 26, "Você não tem MP suficientes") return true end doPlayerAddItem(a, id, t[2]) doPlayerRemoveItem(cid, id, t[2] - 1) doPlayerSendTextMessage(cid, 27, "Você doou ".. t[2] .." MP ao player ".. getCreatureName(a) .."") doPlayerSendTextMessage(a, 27, "Você recebeu ".. t[2] .." MP do player ".. getCreatureName(cid) .."") return true end
-
Mark Ackerman deu reputação a Vodkart em (Resolvido)[PEDIDO] effect ao passar encima do tilefunction doEffectPlayer(cid, effect, store) if not isCreature(cid) then return LUA_ERROR end if getPlayerStorageValue(cid, store) >= os.time() then doSendMagicEffect(getThingPos(cid), effect) addEvent(doEffectPlayer, 200, cid, effect, store) -- 300 é o speed do efeito pode configurar end end function onStepIn(cid, item, position, fromPosition) local efeito, seconds = 44,3 -- configure aqui o numero do efeito e tempo em segundos que vai durar o efeito local exausted, var, storage = 5, 548754, 548755 -- 5 minutos para voltar e usar o tile novamente if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, var) - os.time() <= 0 then setPlayerStorageValue(cid, storage, os.time()+seconds) doEffectPlayer(cid, efeito, storage) setPlayerStorageValue(cid, var, os.time()+exausted*60) end return true end
-
Mark Ackerman deu reputação a L3K0T em Quest DiáriaBom pessoal, eu estou aqui liberando uma quest diária com intervalo de 24 horas, como aqueles baú de jogo tipo LOL que você coleta coisas.
~~Script~~
local t = { storage = 678678, -- storage, so mude se tiver usando pra outra coisa. tempo = 24, -- Tempo em horas. qt = 5, -- quatidade. itemidxx = 2160 -- Item que ira ganhar. } function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerStorageValue(cid, t.storage) < os.time() then doPlayerSendTextMessage(cid, 25, "Voce ganhou "..t.qt.." "..t.itemidxx.." diário, espere dar 24 horas para pegar novamente.") doPlayerAddItem(cid,t.itemidxx,t.qt) setPlayerStorageValue(cid, t.storage, os.time() + t.tempo * 60 * 60) else doPlayerSendTextMessage(cid, 25, "Você precisa esperar ".. getPlayerStorageValue(cid, t.storage) - os.time() .." segundos para coletar novamente.") end return true end <action uniqueid="7865" script="teste.lua" />
7865 = é a uniqueid que vai ter que ser colocada no bau pelo RME
~~Informação~~
~Detalhes
*Se o server cair por alguma razão de bug etc... do seu servidor, a contagem ainda continua sem problemas.
~~Dicas~~
*Você pode usar para uma quest diária.
*Você pode usar para coletar pontos.
*você fazer pra ganhar storage e assim completar outras quest.
*Pode usar para roupas.
muito mais vai pela sua imaginação.
by Alexy, abração a todos vocês e obrigado por fazer parte desse fórum!
-
Mark Ackerman deu reputação a Storm em (Resolvido)[PEDIDO] Spell regeneraçãoArmei essa gambiarra aqui :
local function LoopEff(time2, time3, uid, effect, position, health) if isCreature(uid) then for i= 1, #effect do local position = {x = getCreaturePosition(uid).x, y = getCreaturePosition(uid).y, z = getCreaturePosition(uid).z } doSendMagicEffect(position, effect[i]) doCreatureAddHealth(uid, health) end end end function doLoopEffect(uid, effect, time, position, health) local time2 = 0 while (time2 ~= (time*1000)) do addEvent(LoopEff, time2, time2, time3, uid, effect, position) time2 = time2 + 300 end return true end function onCastSpell(cid, var) local effect = 200 -- Efeito local time = 30 -- em segundos local health = 200 -- Quanto ganhará de vida em aproximadamente alguns segundos quebrados if isPlayer(cid) then doLoopEffect(cid, effect, time, getCreaturePosition(cid), health) doCreatureSetNoMove(cid, true) addEvent(doCreatureSetNoMove, time * 1000, cid, false) return true end return true end
-
Mark Ackerman deu reputação a Storm em (Resolvido)[PEDIDO] Spell regeneração@bismarkzika
function repeatEff(cid, eff, tempo, health) local pos = {x = getCreaturePosition(cid).x + 0, y = getCreaturePosition(cid).y + 0, z = getCreaturePosition(cid).z} if not isCreature(cid) or tempo == 0 then return end doSendMagicEffect(pos, eff) doCreatureAddHealth(cid, health) addEvent(repeatEff, 1000, cid, eff, tempo-1, health) end function onCastSpell(cid, var) local eff = 7 -- Efeito local tempo = 30 -- em segundos local health = 200 -- Quanto ganhará de vida em aproximadamente alguns segundos quebrados if isPlayer(cid) then doCreatureSetNoMove(cid, true) repeatEff(cid, eff, tempo, health) doAddCondition(cid, CONDITION_MUTED) addEvent(doRemoveCondition, tempo * 1000, cid, CONDITION_MUTED) addEvent(doCreatureSetNoMove, tempo * 1000, cid, false) return true end return true end
-
Mark Ackerman deu reputação a Storm em (Resolvido)[PEDIDO] Spell regeneraçãoAgora vai @bismarkzika
local tempo = 30 -- em segundos local condition = createConditionObject(CONDITION_MUTED) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 1000) function repeatEff(cid, eff, tempo, health) local pos = {x = getCreaturePosition(cid).x + 0, y = getCreaturePosition(cid).y + 0, z = getCreaturePosition(cid).z} if not isCreature(cid) or tempo == 0 then return end doSendMagicEffect(pos, eff) doCreatureAddHealth(cid, health) addEvent(repeatEff, 1000, cid, eff, tempo-1, health) end function onCastSpell(cid, var) local eff = 7 -- Efeito local health = 200 -- Quanto ganhará de vida em aproximadamente alguns segundos quebrados if isPlayer(cid) then doCreatureSetNoMove(cid, true) repeatEff(cid, eff, tempo, health) doAddCondition(cid, condition) addEvent(doCreatureSetNoMove, tempo * 1000, cid, false) return true end return true end
-
Mark Ackerman deu reputação a Storm em (Resolvido)[PEDIDO] Spell regeneraçãofunction repeatEff(cid, eff, tempo, health) local pos = {x = getCreaturePosition(cid).x + 0, y = getCreaturePosition(cid).y + 0, z = getCreaturePosition(cid).z} if not isCreature(cid) or tempo == 0 then return end doSendMagicEffect(pos, eff) doCreatureAddHealth(cid, health) addEvent(repeatEff, 1000, cid, eff, tempo-1) end function onCastSpell(cid, var) local eff = 7 -- Efeito local tempo = 30 -- em segundos local health = 200 -- Quanto ganhará de vida em aproximadamente alguns segundos quebrados if isPlayer(cid) then doCreatureSetNoMove(cid, true) repeatEff(cid, eff, tempo, health) addEvent(doCreatureSetNoMove, tempo * 1000, cid, false) return true end return true end
-
Mark Ackerman recebeu reputação de C H R O N I C L E em [PEDIDO] Source 8.54 EXTENDIDA@joaopedrosilvano é porque tu tem fazer uma modificação no teu client com o tibia edit
-
Mark Ackerman deu reputação a Crypter em (Resolvido)Colocar Download no siteColoca ai o link do download cara não é pra deixar mediafire.com e tem que por nesse formato -> https://www.mediafire.com/
-
Mark Ackerman recebeu reputação de C H R O N I C L E em Erro na hora de compilar@joaopedrosilvano , @Mio já instalaram o openssl ? tem o download dele nos comentários de 1 tópico de como copilar source
-
Mark Ackerman recebeu reputação de Hokograma em (Resolvido)Erro ao deixar OT online (Hosteando pelo proprio IP)@Hokograma quando acabar deleta o ip que tu criou e faz outro com o msm nome
-
Mark Ackerman deu reputação a Storm em (Resolvido)modificação em spellCódigo editado.
-
Mark Ackerman deu reputação a Storm em (Resolvido)modificação em spellCódigo editado.
-
Mark Ackerman deu reputação a Storm em (Resolvido)modificação em spelllocal combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -415.0, 0, -425.0, 0) arr1 = { {0, 3, 0} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1 } local target = getCreatureTarget(cid) -- Coloque na XML needtarget="1" local time = 2 -- segundos em que ficará paralizado if isMonster(target) then local position = {x=getThingPosition(getCreatureTarget(cid)).x+3, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} addEvent(onCastSpell1, 0, parameters) doSendMagicEffect(position, 265) return false end local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+3, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} addEvent(onCastSpell1, 0, parameters) doCreatureSetNoMove(target, true) addEvent(doCreatureSetNoMove, time * 1000, target, false) doPlayerSendTextMessage(cid, 13, "voce paralizou o player ".. getCreatureName(target) ..".") doPlayerSendTextMessage(target, 13, "voce foi paralizado pelo player ".. getCreatureName(cid) ..".") doSendMagicEffect(position1, 265) return true end
-
Mark Ackerman deu reputação a MaTTch em (Resolvido)[PEDIDO] Spell que cria items em areaVou quebrar seu galho agora, mas quando for assim cria outro tópico.
-
Mark Ackerman deu reputação a xWhiteWolf em Magnus Task System 1.2Fala galera, pra quem não sabe eu fiz um novo task system pro meu servidor pessoal Empire e por isso decidi publicar a versão antiga dele já que não temos nenhuma intenção de usá-la mais.
ele é muito similar a um sistema que eu já havia compartilhado aqui, só que pras versões 0.X.
O que é: um npc que te dá pequenas missões de matar monstros, qnd você terminar ele te paga uma recompensa pré definida.
O que ele tem de melhor comparado com a versão 0.4: Basicamente ele permite vc definir qualquer hierarquia entre as tasks, permite que tasks deem diversas formas de recompensas (isso era bem engessado no modelo antigo) porém ele não aceita tasks de coletar itens, nem tem dificuldades diferentes com premiações multiplicadas (ao menos não explicitamente).
Aqui tá a hierarquia que ele segue atualmente. Ou seja, para fazer task de Tarantula você precisa fazer Rat, depois Spider e por fim Tarantula.
O sistema é muito completo e eu vou postá-lo da exata forma que usávamos então prestem bastante atenção nos detalhes. Já aviso de antemão que eu não darei muito suporte aqui e que não irei explicar muita coisa, o sistema funciona e foi usado por uns 2 anos sem nenhum problema com o tfs original.
crie um arquivo em data/lib chamado tasklib.lua e coloque isso dentro dele:
Aqui temos todas as tasks e storages. Se você quiser adicionar recompensas novas vc só precisa fazer um elseif na função de getRewards. Siga o exemplo dos comentários para as rewards e se quiser todas as tasks liberadas sem precisar seguir uma ordem é só colocar needed = 0 para todas.
Agora crie um arquivo em creaturescripts/scripts chamado killtasksystem.lua e coloque isso dentro dele:
Tirando as mensagens, não acho que tenha nada que você possa editar aqui. Essa tabela racetypes eu coloquei pq queria fazer task de criaturas de um mesmo tipo: fire, undead, poison. Ele puxa esse valor de dentro do race definido no xml do monstro. (Veja a undead monsters como exemplo.)
em creaturescripts.xml coloque:
<event type="kill" name="tasksystem" script="killtasksystem.lua"/> E em creaturescripts/scripts/login.lua antes do ultimo return true:
player:registerEvent("tasksystem") Agora criaremos o npc chamado tasksystem.xml na pasta data/npcs:
E o script dele em data/npcs/scripts chamado tasksystem.lua: (sim, eu não sou criativo com nomes)
Por fim insira essa talkaction aqui no seu server, ela serve para gerar um arquivo chamado orderedtask.html na pasta do seu servidor (a mesma do executavel) com o código html do sistema de task (sim, eu tenho preguiça de escrever as coisas no site)
Coloque o nome que vc quiser e depois coloque a tag em talkactions.xml:
<talkaction words="/generatehtml" script="nome que vc quiser.lua" />
Note que o arquivo pode levar um tempinho para aparecer, até pq ele tá percorrendo toda a tabela pegando todas as informações e criando um arquivo html disso, é um processo que pode levar alguns segundos.
Se você quiser ser hackudo e pegar o html direto do meu site, seja livre: https://www.empirebr.com/tasks
Bom uso, se tiver qualquer dúvida ou comentário ou sugestão diz aí.
-
Mark Ackerman deu reputação a Nogard em Nogard Graphic GalleryE aí pessoal, beleza?
Este tópico servirá como minha galeria gráfica (não apenas sprites), vou atualizando. Confere aí! (:
-
Mark Ackerman deu reputação a Storm em (Resolvido)Modificar spellSpell que o player ganhará a outfit local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_YELLOW) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -415.0, 0, -425.0, 0) arr1 = { {0, 3, 0} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end function onCastSpell(cid, var) local outfit = {lookType = 607, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0} local time = 20 -- segundos que ficará com a outfit local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+3, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z} local parameters = { cid = cid, var = var, combat1 = combat1 } addEvent(onCastSpell1, 0, parameters) doSetCreatureOutfit(cid, outfit, time) doSendMagicEffect(position1, 83) return true end Spell em que o player ficará invisível local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_YELLOW) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -415.0, 0, -425.0, 0) arr1 = { {0, 3, 0} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local tempo = 5 -- Segundos que vai ficar invisível. local invis = createConditionObject(CONDITION_INVISIBLE) setConditionParam(invis, CONDITION_PARAM_TICKS, tempo*1000) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end function onCastSpell(cid, var) local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+3, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z} local parameters = { cid = cid, var = var, combat1 = combat1 } addEvent(onCastSpell1, 0, parameters) doSendMagicEffect(position1, 83) doAddCondition(cid, invis) return true end
-
Mark Ackerman deu reputação a MaTTch em (Resolvido)[PEDIDO] Spell que cria items em area
-
Mark Ackerman deu reputação a MaTTch em (Resolvido)[PEDIDO] Spell que cria items em areaTenta:
-
Mark Ackerman deu reputação a MaTTch em (Resolvido)[PEDIDO] Spell que cria items em areanão, perceba o B maiúsculo.
-
Mark Ackerman deu reputação a Storm em (Resolvido)[PEDIDO] Spell que cria items em arealocal pos = { pos1 = {x=1010, y=725, z=8, stackpos=1}, pos2 = {x=1010, y=725, z=8, stackpos=1}, pos3 = {x=1010, y=725, z=8, stackpos=1}, pos4 = {x=1010, y=725, z=8, stackpos=1}, pos5 = {x=1010, y=725, z=8, stackpos=1} } local itens = { item1 = 2424, count1 = 1, item2 = 4325, count2 = 1, item3 = 2455, count3 = 1, item4 = 3244, count4 = 1, item5 = 1003, count5 = 1 } local time = 60 -- segundos para que os itens sejam removidos. function onCastSpell(cid, var) doCreateItem(itens.item1, itens.count1, pos.pos1) doCreateItem(itens.item1, itens.count2, pos.pos2) doCreateItem(itens.item1, itens.count3, pos.pos3) doCreateItem(itens.item1, itens.count4, pos.pos4) doCreateItem(itens.item1, itens.count5, pos.pos5) doBroadcastMessage("Uma grande area foi atingida pela magia de "..getCreatureName(cid)..".", 25) addEvent(remove, time * 1000) return true end function Remove() doRemoveItem(getThingFromPos(pos.pos1).uid, itens.count1) doRemoveItem(getThingFromPos(pos.pos2).uid, itens.count1) doRemoveItem(getThingFromPos(pos.pos3).uid, itens.count1) doRemoveItem(getThingFromPos(pos.pos4).uid, itens.count1) doRemoveItem(getThingFromPos(pos.pos5).uid, itens.count1) end