Tudo que Lyu postou
-
Death System 2016 versão frag consecutivo!
Fala rapaziada, quanto tempo sem publicar algo aqui! Bom, hoje eu venho trazer um sisteminha que é bem utilizado atualmente. Estou falando o Death System! Porém, com algumas coisinhas a mais. Testado em OTX Server 8.60.. Como funciona? O Death System em alguns servidores possui um channel chamado "Mortes" ou "Death Channel", mas há alguns servidores que preferem que seja anunciado no default mesmo e a função é informar quem matou quem, ou quem foi morto por certo monstro. O que há de novo? Bom, agora quem matar x jogadores(configurável) e essa quantia for uma consecutiva, será anunciado isso : E se algum jogador derrotá-lo dentro a consecutiva, será anunciado isso : Vamos ao sistema : em data/XML/channels.xml, adicione isso : <channel id="15" name="Death Channel"/> em data/creaturescripts/creaturescripts.xml : <event type="death" name="deathchannel" event="script" value="deathchannel.lua"/> em data/creaturescripts/login.lua, adicione isso antes do último return true : registerCreatureEvent(cid, "deathchannel") em data/creaturescripts/scripts, crie um arquivo deathchannel.lua e cole isso dentro : -- Coded by Zoom.. local info, win, lose = "%s [Level: %s] foi mort%s pelo %s %s%s", "%s obteve %s frags seguidos após derrotar %s.", "%s acabou de impedir que %s fizesse uma sequência de %s frags seguidos." local frags, storage = {10, 15, 20, 25, 30, 35, 40, 45, 50}, 30045 function onDeath(cid, corpse, deathList) if(not isPlayer(cid)) then return true end local target = deathList[1] doCreatureSetStorage(target, storage, getCreatureStorage(target, storage) + (getCreatureStorage(target, storage) == -1 and 2 or 1)) for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', info:format(getCreatureName(cid), getPlayerLevel(cid), getPlayerSex(cid) == 1 and "o" or "a", isPlayer(target) and "player" or "monstro", getCreatureName(target), isPlayer(target) and " [Level: "..getPlayerLevel(target).."]." or "."), TALKTYPE_CHANNEL_ORANGE, 0xF) for _, frag in ipairs(frags) do if(getCreatureStorage(target, storage) == frag) then doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_MANAGEMENT, 0xF) end if(getCreatureStorage(cid, storage) >= frag) then doPlayerSendChannelMessage(pid, '', lose:format(getCreatureName(target), getCreatureName(cid), getCreatureStorage(cid, storage)+1), TALKTYPE_GAMEMASTER_CHANNEL, 0xF) end end end doCreatureSetStorage(cid, storage, 0) return true end Há uma única configuração, que é as consecutivas : local frags = {10, 15, 20, 25, 30, 35, 40, 45, 50} completou 10 frags? anuncia! e assim sucessivamente.. Créditos : EU
-
Erro ')' expected near 'Nasceu'
local i = { ["01:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["02:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["04:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["06:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["08:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["10:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["12:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["14:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["16:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["18:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["20:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, ["22:00"] = {nome = "The Massive Dragon Invasion", pos = {x=90, y=189, z=7}, monster = {"1 Demon"}}, ["00:00"] = {nome = "Wolf", pos = {x = 33, y = 214, z = 7}, monster = {"1 Wolf", "1 Vegeta"}}, } function onTime() hours = tostring(os.date("%X")):sub(1, 5) local nMin = 1 -- tempo em minuto o monstro sumir. tb = i[hours] if tb then doBroadcastMessage("".. hours .. " - Nasceu um " .. tb.nome .. " em algum lugar do mapa ! Encontre-o !.") for _,x in pairs(tb.monster) do for s = 1, tonumber(x:match("%d+")) do doSummonCreature(x:match("%s(.+)"), tb.pos) addEvent(doRemoveCreature, nMin*60*1000, Monster) end end end return true end
-
Conheça a atendente do McDonald's mais bonita do mundo
eu só estou tentando entender, como é que uma asiática foi parar nesse emprego [...]
-
Eu voltei, eu acho!
Fala pessoal, acho que poucos lembram de mim, mas só queria avisá-los que eu estou de volta à ativa. Sempre que der, irei ajudar os membros na Suporte de Scripts e também irei voltar a publicar alguns scripts feitos por mim. Ah, também não soube onde anunciar isto, então estou anunciando aqui mesmo na Playground. Obrigado e que eu seja bem vindo novamente!
-
(Resolvido)como eu fasso para criar um iten portal?
data/actions/actions.xml <action itemid="2352" event="script" value="itemteleport.lua"/> data/actions/scripts/itemteleport.lua local position = {x = 1000, y = 1000, z = 7} function onUse(cid, item) if(doTeleportThing(cid, position)) then doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doRemoveItem(item.uid, 1) end return true end Agora só basta você configurar o item que quer e a posição pra onde você vai.
-
Magia trava distro
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_MANADRAIN) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 56, 43, 36, 34) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat2, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, 0) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 56, 43, 36, 39) function onCastSpell(cid, var) doPlayerSendTextMessage(cid,27,"EFEITO MÁGICO: Cura sua life e mana múltiplas vezes (10x) durante 5 segundos. O cálculo de regeneração é de acordo com seu nível mágico.") for i = 1, 10 do addEvent(function() if(isCreature(cid)) then doCombat(cid, combat, var) doCombat(cid, combat2, var) end end, (i * 600) - 600) end return true end só trocar isso : addEvent(doCombat, (i * 600) - 600, cid, combat, var) addEvent(doCombat, (i * 600) - 600, cid, combat2, var) por isso : addEvent(function() if(isCreature(cid)) then doCombat(cid, combat, var) doCombat(cid, combat2, var) end end, (i * 600) - 600)
-
Magia trava distro
testa assim : local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_MANADRAIN) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 28, 25, 27, 40) function onCastSpell(cid, var) doPlayerSendTextMessage(cid,27,"EFEITO MÁGICO: Cura sua mana múltiplas vezes (10x) durante 5 segundos. O cálculo de regeneração é de acordo com seu nível mágico.") for i = 1, 10 do addEvent(function() if(isCreature(cid)) then doCombat(cid, combat, var) end end, (i * 600) - 600) end return true end
-
(Resolvido)[PEDIDO] Arrumar meu script
husahusa to ligado, eu também tive dificuldade com return. dá uma olhada nesse TÓPICO.
-
[Ajuda] Erro ao executar o Cliente.
Já tentou baixar essa dll chamada libGL.dll?
-
(Resolvido)[PEDIDO] Arrumar meu script
o return serve para retornar um valor a partir daquela parte do script.
-
[PEDIDO] Arrumar uma action minha
function onStepIn(cid, item, position, fromPosition) local storage = 18597 if getPlayerStorageValue(cid, storage) <= 0 then doPlayerSendCancel(cid, "You're not a VIP player.") doTeleportThing(cid, fromPosition) doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Welcome to the VIP Area!") doSendMagicEffect(getThingPos(cid), 14) end return true end
-
[pedido] Tile que pota um player
creio que seja para encher '1 quinze ávos' do life total do jogador. Ou seja, em 15 segundos é tempo suficiente para healar todo o life e toda a mana do jogador.
-
como alterar broadcast?
procure em data/creaturescripts/scripts/login.lua
-
como alterar broadcast?
"Olá caro jogador.." manda um print dessa mensagem se der.
-
como alterar broadcast?
exatamente como o jvcasarin disse! porém caso você ainda encontre dificuldades, mande o script aqui que nós lhe ensinaremos como editar.
-
Efeitos & Textos animados (Tudo junto num só script)
Olá, hoje venho trazer um script que permite usar efeitos mágicos e textos animados em um só script sem ter que ficar criando vários arquivos .LUA com os nomes (texto, texto1, texto2, effect1, tpeffects2) e etc.. Bom, em data/globalevents/globalevents.xml adicione isso : <globalevent name="effects" interval="1500" script="effectandtext.lua"/> Agora em data/globalevents/scripts crie um arquivo effectandtext.lua, abra-o e adicione isso : local positions = { ["Templo"] = {pos = {x = 1097, y = 1062, z = 7}, color = {205, 210}, effect = {}}, ["Teleports"] = {pos = {x = 1096, y = 1063, z = 7}, color = {205, 210}, effect = {39}}, ["Area Vip"] = {pos = {x = 1096, y = 1063, z = 7}, color = {205, 210}, effect = {39, 10}} } function onThink(cid, interval, lastExecution) for t, pos in pairs(positions) do for _, effect in ipairs(pos.effect) do if(#pos.effect > 0) then doSendMagicEffect(pos.pos, effect) end end doSendAnimatedText(pos.pos, t, #pos.color > 0 and pos.color[math.random(#pos.color)] or 215) end return true end "Aah mas eu n quero que faça efeito em baixo do texto, blabla.." Simples : em effect, deixe a tabela vazia. Exemplo : ["Templo"] = {pos = {x = 1097, y = 1062, z = 7}, color = {205, 210}, effect = {}} ou você pode usar mais de um efeito no mesmo texto, basta você ir adicionando. Exemplo : effect = {30, 40, 50} se você não declarar as cores em 'color = {}', a cor padrão será branca. créditos : Halls Santos
-
(Resolvido)[PEDIDO] Arrumar meu script
acontece isso se você remover a TAG no talkactions.xml desse teu script?
-
(Resolvido)[PEDIDO] Arrumar meu script
de nada! modifiquei seu script aqui caso você queira : function onStepIn(cid, item, position, fromPosition) local storage = 18597 if getPlayerStorageValue(cid, storage) <= 0 then doPlayerSendCancel(cid, "You/'re not a VIP player.") doTeleportThing(cid, fromPosition) doSendMagicEffect(position, 13) else doPlayerSendTextMessage(cid, "Welcome to the VIP Area!", 27) doSendMagicEffect(position, 14) end return true end
-
(Resolvido)[PEDIDO] Arrumar meu script
É que tipo: o else faz parte do if. Então se o valor da storage for <(menor) ou =(igual) a 0, será executado os códigos logo abaixo do if : doSendPlayerCancel(cid, "You/'re not a VIP player.") doTeleportThing(cid, fromposition) doSendMagicEffect(position, 13) mas se o valor da storage for >(maior) que 0, o código a cima será ignorado e então o será executado os códigos depois do else : doSendTextMessage(cid, "Welcome to the VIP Area!", 27) doSendMagicEffect(position, 14) Tendeu? rs, no começo é meio chato de decorar mas você vai ver muito isso pela frente então vai se acostumar boa noite!
-
(Resolvido)[PEDIDO] Arrumar meu script
Você esqueceu de uma coisinha aqui nessa parte : if getPlayerStorageValue(cid) <= 0 then que no caso seria assim : if getPlayerStorageValue(cid, storage) <= 0 then e você pode remover isso : getPlayerStorageValue(cid) == getStorageValue(storage) then haha, seja bem vindo ao mundo dos scripters.
-
AJUDA URGENTE
um simples erro de digitação. Porém para consertármos, você tem que nos mostrar o script. vai em data/lib e abre o arquivo configuration.lua
-
(Resolvido)[PEDIDO] Porta com requisitos
Obrigado pela observação! sobre os () já é mania minha de programar, então eu sempre coloco pro script ficar bonitinho. Mas sobre o resto, foi que eu fiz na pressa e acabei nem testando
-
Vocação reseta ao relogar
Dá algum erro na distro?
-
(Resolvido)[PEDIDO] Porta com requisitos
Testa ai, qualquer coisa me diz.. Abre teu remeres e na porta que desejas editar, dê um duplo click e adicione a unique id 2500; agora em actions.xml adicione isso : <action uniqueid="2500" event="script" value="sworddoor.lua"/> crie um arquivo sworddoor.lua e adicione isso dentro : function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.uid == 2500 and getPlayerSkillLevel(cid, SKILL_SWORD) < 20) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You need 20 sword fighting to open this door.") end end
-
Quem é o mais Feio do TK
Foto de perfil <<<<<<<<<<