Ir para conteúdo

MasterDino

Campones
  • Total de itens

    83
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que MasterDino postou

  1. Mas no caso o script iria funcionar em player tambem, se for so pra monsters coloque assim: local chance = 5 -- porcentagem de chance de dropar local item_id, count = XX, XX -- ID do item e a quantidade que ira ganhar function onKill(cid, target) if isMonster(target) and math.random(1,100) <= chance then doPlayerAddItem(cid, item_id, count) end return true end
  2. é so ir em login.lua e adicionar isso: doTeleportThing(cid, getClosestFreeTile(cid, getTownTemplePosition(getPlayerTown(cid))))
  3. ou se quiser, aproveitando o script do zipter, assim tambem: local config = { money = 40000000, -- Dinheiro que vai custar item = 7892, -- ID do item que vai vender count = 1, -- Quantidade vocations = {"knight"} -- Nomes das vocation que poderao comprar, caso mais de uma, adicionar virgulas e o nome entre " " na tabela } function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if item.itemid == 1945 then if isInArray(config.vocations, getVocationInfo(getPlayerVocation(cid)).name:lower()) then if doPlayerRemoveMoney(cid, config.money) == TRUE then doPlayerAddItem(cid, config.item, config.count) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você acaba de comprar "..config.count.." "..getItemNameById(config.item)..".") doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você precisa de 40kk para comprar esse item") doSendMagicEffect(pos, CONST_ME_POFF) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você nao tem a vocation necessaria.") doSendMagicEffect(pos, CONST_ME_POFF) end end return true end
  4. Nao to em casa, nao testei e fiz correndo: local config = { level = 100, -- level necessario para usar effect = {10}, -- efeito que ira soltar ao usar o buff, caso for mais de um, adicionar virgulas dentro da tabela time = 60, -- tempo em segundos que ira durar o buff outfit = 130, -- outfit que vai virar health = 11, -- quantidade de hp que vai almentar mana = 11, -- quantidade de mp que vai almentar ml = 11, -- quantos ira aumentar o skill de ML fist = 11, -- quantos ira aumentar o skill de Fist sword = 11, -- quantos ira aumentar o skill de Sword axe = 11, -- quantos ira aumentar o skill de Axe club = 11, -- quantos ira aumentar o skill de Club distance = 11, -- quantos ira aumentar o skill de Distance shield = 11 -- quantos ira aumentar o skill de Shield } local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, config.time*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAXHEALTH, config.health) setConditionParam(condition, CONDITION_PARAM_STAT_MAXMANA, config.mana) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, config.ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, config.fist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, config.sword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, config.axe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, config.club) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, config.distance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, config.shield) setConditionParam(condition, CONDITION_PARAM_BUFF, true) local condition = createConditionObject(CONDITION_OUTFIT) setConditionParam(condition, CONDITION_PARAM_TICKS, config.time*1000) setConditionParam(condition, CONDITION_PARAM_OUTFIT, {lookType = config.outfit}) function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) >= config.level then if getCreatureCondition(cid, CONDITION_ATTRIBUTES) == false then for i=1, #config.effect do doSendMagicEffect(getCreaturePosition(cid), config.effect[i]) end doCreatureSay(cid, "Ohhhhw", TALKTYPE_ORANGE_1) doAddCondition(cid, condition) else doPlayerSendCancel(cid, "Você ja ta transformado.") end else doPlayerSendCancel(cid, "Voce não tem level nessessario.") end return true end
  5. MasterDino

    Spell

    function onCastSpell(cid, var) local config = { [398] = {level = 50, newvoc = 399, outfit = 495, eff = 32}, [399] = {level = 100, newvoc = 400, outfit = 496, eff = 32}, [400] = {level = 150, newvoc = 401, outfit = 497, eff = 32}, [401] = {level = 200, newvoc = 402, outfit = 498, eff = 32} } trans = config[getPlayerVocation(cid)] if not trans then doPlayerSendCancel(cid, "You can not transform.") return false elseif getPlayerLevel(cid) >= trans.level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You not level " .. trans.level .. " to transform.") end doCreatureChangeOutfit(cid, {lookType = trans.outfit}) doPlayerSetVocation(cid, trans.newvoc) doSendMagicEffect(getCreaturePosition(cid), trans.eff) doPlayerSendCancel(cid, "You Transformed!") return true end
  6. Em movements.xml coloque essa tag: <movevent type="Equip" itemid="ID DO ITEM" slot="SLOT DO ITEM (armor, legs, helmet, etc..)" level="LEVEL NECESSARIO" event="function" value="onEquipItem"> <vocation id="ID DA VOCATION QUE IRA USAR" showInDescription="0"/> </movevent> <movevent type="DeEquip" itemid="ID DO ITEM" slot="SLOT DO ITEM (armor, legs, helmet, etc..)" event="function" value="onDeEquipItem"/> agora é so voce configurar ela do jeito que quiser.
  7. Em movements/scripts crie qualquer arquivo .lua e cole isso dentro: function onStepIn(cid, item, position, fromPosition) local destiny = {x=XX, y=XX, z=XX} -- local de destino local level = X -- level necessario if getPlayerLevel(cid) >= level then doTeleportThing(cid, destiny) else doTeleportThing(cid, fromPosition) doPlayerSendTextMessage(cid, 27,"Voce prescisa ser level "..level.." ou maior.") end return true end agora em movements.xml coloque essa tag: <movevent type="StepIn" actionid="ID" event="script" value="NOME DO ARQUIVO.lua"/> agora é so ir no map editor, ir no tile ou teleport que voce quer que funcione e colocar a mesma action id do movements.
  8. Se for o propio teleport, voce nao poderia colocar as position nele pelo map editor, seria tudo por script em movements. quer mesmo assim?
  9. Ta meio gambiarra mas deve funcionar: function onUse(cid, item, frompos, item2, topos) local config = { [1] = {x=XX, y=XX, z=XX}, -- os lugares aletorios [2] = {x=XX, y=XX, z=XX} } local playerpos = {x=XX, y=XX, z=XX} -- lugar que o player prescisa estar local level = X -- level que o player ira necessitar if item.itemid == 1945 then if isPlayer(getTopCreature(playerpos).uid) then if getPlayerLevel(getTopCreature(playerpos).uid) >= level then if getTopCreature(config[1]).uid > 0 and getTopCreature(config[2]).uid > 0 then doPlayerSendCancel(cid,"O lugar de destino esta oculpado.") return true end while true do local random = config[math.random(#config)] if getTopCreature(random).uid < 1 then doTeleportThing(getTopCreature(playerpos).uid,random) doTransformItem(item.uid,1946) break end end else doPlayerSendCancel(cid,"Voce prescisa ser level "..level.." ou maior.") end return true end elseif item.itemid == 1946 then doTransformItem(item.uid,1945) end return true end
  10. ou isso: local name = "Nome do monstro" function onDeath(cid, corpse, killer) if isMonster(killer[1]) and isPlayer(cid) and getCreatureName(killer[1]) == name then while TRUE do doRemoveCreature(getCreatureByName(name)) if(not getCreatureByName(name)) then break end end end return true end
  11. Assim como o Legnus disse, é um script bem simples nao prescisava dos creditos aqui outra forma melhor do script: function onSay(cid, words, param) local config = { [1] = {[[MAGIAS DA VOCATION [1] ]]}, [2] = {[[MAGIAS DA VOCATION [2] ]]}, [3] = {[[MAGIAS DA VOCATION [3] ]]}, [4] = {[[MAGIAS DA VOCATION [4] ]]} } local voc = config[getPlayerVocation(cid)] if voc then doShowTextDialog(cid, 2175, voc[1]) else doPlayerSendCancel(cid, "Sem vocation") end return true end
  12. local CTFF = { Templo = {fromx = 1632, fromy = 1743, fromz = 15, tox = 1740, toy = 1773, toz= 15} } local TownExit = {x = 1843, y = 1845, z =15} function onThink(cid,interval, lastExecution) for x = CTFF.Templo.fromx, CTFF.Templo.tox do for y = CTFF.Templo.fromy, CTFF.Templo.toy do local Area = getTopCreature({x=x, y=y, z=CTFF.Templo.fromz}).uid if Area ~= 0 and isPlayer(Area) then doTeleportThing(Area, TownExit) doPlayerSendTextMessage(Area, 20 ,"Voce Foi Puxado!") end end end return true end
  13. local texto = [[ESCREVE AQUI! ]] function onSay(cid, words, param) doShowTextDialog(cid, 2175, texto) return TRUE end
  14. Se for so a funçao getCreatureHealth que nao tem no seu server entao ta ai: function getCreatureHealth(uid) local result = db.getResult("SELECT health FROM players WHERE id = "..getPlayerGUID(uid).."") return result:getDataString("health") end function onSay(cid, words, param, channel) if param == "" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Para saber a vida maxima de alguem diga !vida playername") return true end if isPremium(cid) then for _, tid in pairs(getPlayersOnline()) do local pid = getPlayerByName(param) if isInArray(tid, pid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "\nVida de [ " .. getCreatureName(pid) .. " ] atual: " .. getCreatureHealth(pid) .. "\nVida de [ " .. getCreatureName(pid) .. " ] máxima: " .. getCreatureMaxHealth(pid) .. "") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O jogador " .. param .. " nao esta online ou nao existe") end end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Apenas jogadores VIP podem utilizar este comando para visualizar informações de outros jogadores.") end return true end
  15. for _, pid in ipairs(getPlayersOnline()) do doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "TEXTO.") end
  16. MasterDino

    Teleport

    function onCastSpell(cid, var) local pos = getCreaturePosition(cid) local item_pos = {x=getPlayerStorageValue(cid,1001), y=getPlayerStorageValue(cid,1002), z=getPlayerStorageValue(cid,1003)} local item = X -- ID do item que vai criar enbaixo do player (NAO PODE SER ITEM MOVEABLE). if getPlayerStorageValue(cid, 1001) > 0 and getPlayerStorageValue(cid, 1002) > 0 then if getTileItemById(item_pos, item).uid > 0 then doRemoveItem(getTileItemById(item_pos, item).uid) doTeleportThing(cid, item_pos) setPlayerStorageValue(cid, 1001, -1) setPlayerStorageValue(cid, 1002, -1) setPlayerStorageValue(cid, 1003, -1) else doPlayerSendCancel(cid, "Failed.") doSendMagicEffect(pos, 2) setPlayerStorageValue(cid, 1001, -1) setPlayerStorageValue(cid, 1002, -1) setPlayerStorageValue(cid, 1003, -1) return false end else doCreateItem(item,1,pos) setPlayerStorageValue(cid, 1001, pos.x) setPlayerStorageValue(cid, 1002, pos.y) setPlayerStorageValue(cid, 1003, pos.z) end return TRUE end
  17. MasterDino

    Talkaction

    function onSay(cid, words, param) local waittime = 20 -- Tempo de exhaustion local storage = 5560 local pos = getCreaturePosition(cid) from = {x=pos.x, y=pos.y, z=pos.z} to = {x = 985, y = 763, z = 7} -- Para onde o teleport levará (players) monsr1 = {x = 983, y = 758, z = 7} -- Onde nascera o monstro (Tsukuyomi) monsr2 = {x = 988, y = 760, z = 7} -- Onde nascera o monstro (Tsukuyomi) monsr3 = {x = 988, y = 766, z = 7} -- Onde nascera o monstro (Tsukuyomi) monsr4 = {x = 984, y = 768, z = 7} -- Onde nascera o monstro (Tsukuyomi) monsr5 = {x = 979, y = 768, z = 7} -- Onde nascera o monstro (Tsukuyomi) monsr6 = {x = 982, y = 765, z = 7} -- Onde nascera o monstro (Tsukuyomi) monsr7 = {x = 978, y = 760, z = 7} -- Onde nascera o monstro (Tsukuyomi) monsr8 = {x = 981, y = 770, z = 7} -- Onde nascera o monstro (Tsukuyomi) to1 = {x = 981, y = 763, z = 7} -- Para onde o teleport levará (caster) area1 = {x = 974, y = 756, z = 7} -- Ponta de cima na esquerda na area que o tp leva area2 = {x = 990, y = 772, z = 7} -- Ponta de baixo na direita na area que o tp leva level = 100 -- Level necessário ppos = getCreaturePosition(cid) pl1 = {x=ppos.x-7, y=ppos.y-5, z=ppos.z} pl2 = {x=ppos.x+7, y=ppos.y+5, z=ppos.z} local vocation_id = {X} -- ID da vocation que ira usar, caso for mais de 1 ID, colocar virgulas. if getPlayerLevel(cid) < level then doPlayerSendCancel(cid, "Você precisa de level "..level.." para usar essa magia.") return true end if not isInArray(vocation_id, getPlayerVocation(cid)) then doPlayerSendCancel(cid, "Você nao tem a vocation necessaria.") return true end function back(cid) if isInArea(getCreaturePosition(cid), area1, area2) then doTeleportThing(cid, from) end end function go(cid) if isInArea(getCreaturePosition(cid), pl1, pl2) then doCreateMonster('Tsukuyomi', pos) doTeleportThing(cid, to) end end function gos(cid) if isInArea(getCreaturePosition(cid), from, from) then doCreateMonster('Tsukuyomi', pos) doTeleportThing(cid, to1) end end doCreateMonster('Tsukuyomi2', monsr1) doCreateMonster('Tsukuyomi2', monsr2) doCreateMonster('Tsukuyomi2', monsr3) doCreateMonster('Tsukuyomi2', monsr4) doCreateMonster('Tsukuyomi2', monsr5) doCreateMonster('Tsukuyomi2', monsr6) doCreateMonster('Tsukuyomi2', monsr7) doCreateMonster('Tsukuyomi2', monsr8) if exhaustion.check(cid, storage) == false then for _, pid in ipairs(getPlayersOnline()) do addEvent(back, 15000, pid) -- Tempo para retornar ao lugar que usou a magia addEvent(go, 200, pid) addEvent(gos, 1, pid) doSendMagicEffect(getCreaturePosition(pid), 63) doCreatureSay(pid, "TSUKUYOMI!", TALKTYPE_MONSTER) --- Mensagem addEvent(setPlayerStorageValue, 10000, pid, 1634, -1) end exhaustion.set(cid, storage, waittime) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.") end return true end
  18. MasterDino

    Talkaction

    if getPlayerVocation(cid) == X then
  19. local tempo = 120 -- tempo em segundos. local effect = {118} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local points = 70 -- quantos ira aumentar os skills local health = 1299 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) local function Efect(cid) if isCreature(cid) then for i=1, #effect do local position = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} doSendMagicEffect(position, effect) end end end function onCastSpell(cid, var) local storage = 19896 if getPlayerStorageValue(cid, storage) < 1 then doPlayerSendCancel(cid, "Desculpe, Você tem que terminar a quest para usar está magia.") return false end if getCreatureCondition(cid, CONDITION_ATTRIBUTES) == false then doCombat(cid, combat, var) doPlayerSendTextMessage(cid,27,'mode sannin esta ativado.') doPlayerSay(cid, 'mode sannin!', TALKTYPE_ORANGE_1) local tempo2 = 0 while (tempo2 <= (tempo*1000)) do addEvent(Efect, tempo2, cid) tempo2 = tempo2 + 300 end else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end
  • Quem Está Navegando   0 membros estão online

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