Histórico de Curtidas
-
What Member deu reputação a FeeTads em (Resolvido)Tile que da DMG!mano, vou dar uma ideia basica kkkk, se não conseguir me avisa. que dou uma base
faz um global event com interval de 3s
ai quando ele chamar esse global event, checa se tem player em cima da position, se tiver, da um doCreatureAddHealth(cid, -danoConfigurado)
-
What Member deu reputação a FeeTads em (Resolvido)Tile que da DMG!mas esse script só vai mandar o texto "voc vip" no sqm kkkkkk
segue o script, adicionar o script em globalEvents
data > globalEvents > scripts > DamageTile.lua
local config = { damage = 100, --quantidade de dano effect = 26, -- efeito que sairá na position, pra saber qual efeito usar, vá no seu god e usa /z e um numero entre 0-49, exemplo /z 30 cor = 180 -- cor do texto } function onThink(interval, lastExecution) local positions = { [1] = {pos = {x = 143, y = 155, z = 7}}, --[2] = {pos = {x = 1, y = 1, z =1}}, -- pra add outras posições só colocar assim e em sequencia, precisa da virgula no final } for i=1, #positions do -- vai da posição 1, até o tamanho de posições doSendMagicEffect(positions[i].pos, config.effect) -- envia o efeito na posição if isPlayer(getTopCreature(positions[i].pos).uid) then -- se tiver player na posiçao player = getTopCreature(positions[i].pos).uid doSendAnimatedText(getCreaturePosition(player), "-"..config.damage, config.cor) doCreatureAddHealth(player, -config.damage) -- retira a vida do player na posição end end return true end
e add essa tag no globalEvents.xml
data> globalEvents > globalEvents.xml
<globalevent name="DamageTile" interval="3000" event="script" value="DamageTile.lua"/>
"interval="3000" singnifca 3s
3000 ms = 3s
-
What Member deu reputação a FeeTads em Função levelTMJ meu bom, se puder deixar o REP+ tbm na respostar kkkkkkk agradeceria, qualquer coisa pode me marcar aki no forum que tento responder, ou pode chamar discord que tento ajudar tbm
-
What Member deu reputação a FeeTads em Função levelif getPlayerLevel(cid) > 8 then --level maior que 8 --código end basicamente só isso mano, agora se for pra algo mais especifico, vc pode montar uma table de leveis, mas ai eh mais chatinho, mas basicamente é
getPlayerLevel(cid) pra checar se é maior ou menos que tal numero..
-
What Member deu reputação a FeeTads em Função levelentão, basicamente essa função, vai checar se o player é maior que level 8, se ele for, vai fazer o que esta dentro do IF, exemplo:
if getPlayerLevel(cid) > 8 then --level maior que 8 doTeleportThing(cid, TempleTownId(1)) -- se o player for maior que level 8, entra aki e teleporta ele pro templo end
consegue me mandar seu código por aqui mesmo, e mais explicativo o que vc gostaria? posso tentar arrumar pra você, mas DETALHA BEM o que vc necessita
-
What Member deu reputação a FeeTads em Função levelentão é só colocar o getplayer level no começo do on say, assim:
local config = { --vocation id = {storage, nova voc, looktype, efeito} ------------ NARUTO ------------- [215] = {30023, 630, 971, 252}, need_level = 500 } local from,to = {x=1001, y=705, z=7},{x=1031, y=737, z=7} -- começo e final do mapa local from2,to2 = {x=1011, y=705, z=6},{x=1031, y=738, z=6} -- começo e final do mapa local from3,to3 = {x=1012, y=706, z=5},{x=1032, y=739, z=5} -- começo e final do mapa local from4,to4 = {x=985, y=598, z=7},{x=1044, y=652, z=7} -- começo e final do mapa local from5,to5 = {x=986, y=615, z=6},{x=1039, y=647, z=7} -- começo e final do mapa local from6,to6 = {x=990, y=616, z=5},{x=1040, y=647, z=5} -- começo e final do mapa local from7,to7 = {x=1475, y=856, z=7},{x=1484, y=867, z=7} -- começo e final do mapa local from8,to8 = {x=984, y=578, z=7},{x=1044, y=652, z=7} -- shinobi war function onSay(cid, words, param, channel) if getPlayerLevel(cid) < config.need_level then doPlayerSendCancel(cid, "Você precisa ser level".. config.need_level .."ou mais!") return true end local voc = config[getPlayerVocation(cid)] local posPlayer = getCreaturePosition(cid) if isInRange(posPlayer, from, to) or isInRange(posPlayer, from2, to2) or isInRange(posPlayer, from3, to3) or isInRange(posPlayer, from4, to4) or isInRange(posPlayer, from5, to5) or isInRange(posPlayer, from6, to6) or isInRange(posPlayer, from7, to7) or isInRange(posPlayer, from8, to8) then doPlayerSendCancel(cid, "Você não pode se transformar nesta área!") return true end if voc then if getPlayerStorageValue(cid, voc[1]) > 1 then doCreatureSay(cid, "Transformar!", TALKTYPE_MONSTER) doPlayerSetVocation(cid, voc[2]) doCreatureChangeOutfit(cid, {lookType = voc[3]}) doSendMagicEffect(posPlayer, voc[4]) else doPlayerSendCancel(cid, "Você não fez a quest para usar essa transformação!") end else doPlayerSendCancel(cid, "Você já está na transformação máxima!") end return true end
"need_level" = level minimo necessário. **LEMBRANDO** level 500 assim que pegar 500, ja pode usar a function
ai dentro do onSay, quando o player der talkaction e for 500 ou menos, retorna true e sai da function sem transformar
caso queira uma tabela e talz, me manda no discord a ideia que tento fazer pra vc, e dei uma "arrumadinha" no código pra deixar mais clean kkkkk
-
What Member recebeu reputação de FeeTads em Função levelperfeito @FeeTads e obrigado pela explicação!!
-
What Member deu reputação a xWhiteWolf em (Resolvido)Spell para ficar intocavelpodia pelo menos me agradecer dando rep no tópico né, to fazendo tudo de boa vontade..
-
What Member deu reputação a FlooTzZ em movements duplicadoAmigo, teria uma foto do erro?
-
What Member deu reputação a Kyle Bellini em erro no script de castspell itemvou dar uma olhada, e envio aqui
--------
testa aí
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 30000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) local config = { exhaustionStorage = 13101, exhaustionTime = 30.0, ringId = 7116, effect = 112 } function onCastSpell(cid, var) if exhaustion.check(cid, config.exhaustionStorage) == TRUE then doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end local ringName = getItemNameById(config.ringId) if getPlayerSlotItem(cid, CONST_SLOT_RING).itemid ~= config.ringId then return doPlayerSendCancel(cid, string.format("You do not have a %s equipped.", ringName)) end for k = 1, 100 do addEvent(function() if isCreature(cid) then local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z} doSendMagicEffect(pos1, config.effect) end end, 1 + ((k-1) * 300)) end exhaustion.set(cid, config.exhaustionStorage, config.exhaustionTime) return doCombat(cid, combat, var) end
-
What Member deu reputação a Kyle Bellini em erro no script de castspell itemme informa o id do item, e a quantidade, pra eu arrumar tudo
-
What Member deu reputação a Kyle Bellini em erro no script de castspell itemagora o seu primeiro if tem dois "end", só precisa de um
-
What Member deu reputação a Kyle Bellini em erro no script de castspell itemvocê colocou duas onCastSpell(cid, var), e uma delas não está fechada (que é a primeira), pode deletar ela, e manter apenas a de baixo
daí só copiar o que tem dentro da primeira onCastSpell e jogar pra baixo, onde está a segunda
-
What Member deu reputação a Kyle Bellini em erro no script de castspell itemPrecisa fazer a verificação se o jogador possui tal item, para isso, basta utilizar a função getPlayerItemCount(cid, itemid)
function onGetFormulaValues(cid, level, maglevel) local levelTotal = level local min = (levelTotal * 4) / 5 + (maglevel * 25) / 2 local max = (levelTotal * 5) / 5 + (maglevel * 27) / 2 return -min, -max end local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 33) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 46) setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local function onCastSpell1(parameters) if not isPlayer(parameters.cid) then return true end doCombat(parameters.cid, parameters.combat1, parameters.var) end local config = { requiredItem = {itemid = 2675, count = 1} -- Coloque o id do item necessário em: 'itemid = aqui', e a quantidade necessária do item em: 'count = aqui' } function onCastSpell(cid, var) local parameters = {cid = cid, var = var, combat1 = combat1} local itemName = getItemNameById(config.requiredItem.itemid) if getPlayerItemCount(cid, config.requiredItem.itemid) < config.requiredItem.count then if config.requiredItem.count == 1 then doPlayerSendCancel(cid, string.format("You need %d %s to use this spell.", config.requiredItem.count, itemName)) else doPlayerSendCancel(cid, string.format("You need %d %ss to use this spell.", config.requiredItem.count, itemName)) end return end for k = 1, 10 do addEvent(function() if isCreature(cid) then addEvent(onCastSpell1, 1, parameters) end end, 1 + ((k-1) * 300)) end return true end
-
What Member deu reputação a So volto tarde em (Resolvido)Efeito em local errado ao usar a spellnessa parte abaixo, você pode reparar que ele está puxando a posição x do player e logo após, adicionando mais 1:
doSendMagicEffect({x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z, stackpos=255}, 267) você pode muito bem alterar esses valores para definir onde a sprite vai ser desenhada, podendo negativar ou aumentar este valor, como por exemplo:
{x = getCreaturePosition(cid).x + 10, y = getCreaturePosition(cid),y - 3, z = getCreaturePosition(cid).z}