Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    72

Tudo que zipter98 postou

  1. Vou mover para pedidos e dúvidas de derivados, já que o código se trata exclusivamente de Pokémon.
  2. Spell: local storage = 91831 local time = 5 function onCastSpell(cid, var) if getPlayerStorageValue(cid, storage) > os.time() then return doPlayerSendCancel(cid, "You are already under this spell's effect.") else setPlayerStorageValue(cid, storage, os.time() + time) doPlayerSendTextMessage(cid, 27, string.format("Durante %d segundo%s, metade de todo dano que você receber será refletido.", time, time > 1 and "s" or "")) end return true end Creaturescripts (data/creaturescripts/scripts): --[[ Tags: <event type="statschange" name="Reflect" event="script" value="nome do arquivo.lua"/> <event type="login" name="ReflectLogin" event="script" value="nome do arquivo.lua"/> ]]-- local storage = 91831 function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and getPlayerStorageValue(cid, storage) > os.time() and type == STATSCHANGE_HEALTHLOSS and isCreature(attacker) then local damage = math.ceil(value * 50 / 100) doCreatureAddHealth(attacker, -damage) doSendAnimatedText(getThingPos(attacker), "-"..damage, 215) doSendAnimatedText(getThingPos(cid), "Reflect!", 215) end return true end function onLogin(cid) registerCreatureEvent(cid, "Reflect") return true end
  3. zipter98

    Catch

    Tenta 20, para confirmarmos se é esta a causa do erro.
  4. zipter98

    Monsters

    Movido para resolvidos.
  5. zipter98

    Catch

    Tenta diminuir para um valor menor ainda, semelhante à rate das outras pokeballs (20, por exemplo).
  6. Na magia que necessita estar ativada para usar a outra, você seta uma storage com os.time (que seria a duração do efeito desta). Depois, no código da outra spell, você checa tal storage, como o exemplo a seguir demonstra: --Melodia function onCastSpell(cid, var) return setPlayerStorageValue(cid, 91838, os.time() + 5) end --Exiva function onCastSpell(cid, var) if getPlayerStorageValue(cid, 91838) > os.time() then return print("Pode castar esta magia, pois está com o efeito de Melodia ativado.") else return print("Não pode castar esta magia, pois não está com o efeito de Melodia ativado.") end end
  7. Movido para pedidos e dúvidas de derivados.
  8. zipter98

    Regen sem food

    Movido para resolvidos.
  9. Movido para resolvidos.
  10. zipter98

    Addon Bonus EXP

    Sanado, movido.
  11. zipter98

    Catch

    Área incorreta, tópico movido. Mais cuidado da próxima vez. Sobre seu erro, acho que a causa é este valor, tipo, absurdamente alto (colocado como catch rate da última pokeball adicionada na tabela): 100000000000000000000000000
  12. zipter98

    Bonus Catch

    Não há função para isso, mas você pode colocar condições nos arquivos de catch do seu servidor, verificando se o jogador possui os requisitos para receber tal bônus. Por exemplo, no PDA você poderia alterar tanto no catch system.lua quanto no catch.lua. Vamos supor que seu servidor tem como base o PDA, e você optou por alterar o segundo arquivo que mencionei. Então, deveria ser feito algo assim (um simples esboço): PS: O requisito escolhido foi ser ou não premium, e o bônus de catch que escolhi foi 2x. Você colocaria acima disso: local catchinfo = {} Isso: local catch_rate = isPremium(cid) and ballcatch[item.itemid].cr * 2 or ballcatch[item.itemid].cr Depois, trocaria isso: catchinfo.rate = ballcatch[item.itemid].cr Por: catchinfo.rate = catch_rate Em outras palavras, a rate de catch da pokeball utilizada seria dobrada. Se o desejado fosse alterar a rate "final", a alteração deveria ser feita em catch system.lua.
  13. Movido para pedidos e dúvidas de programação.
  14. Falta de atenção, esqueci de setar a storage. Acontece, rs. Enfim, sanado, movido.
  15. config = { costPremiumDays = 10 } function onSay(cid, words, param, channel) if(getPlayerSex(cid) >= 2) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You cannot change your gender.") return end if not getTileInfo(getThingPos(cid)).protection then return doPlayerSendCancel(cid, "Você só pode usar este comando em PZ.") elseif getCreatureCondition(cid, CONDITION_INFIGHT) then return doPlayerSendCancel(cid, "Você não pode usar este comando durante battle.") end if(getPlayerPremiumDays(cid) < config.costPremiumDays) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, not enough premium time - changing gender costs " .. config.costPremiumDays .. " premium days.") doSendMagicEffect(getThingPosition(cid), CONST_ME_POFF) return end if(getPlayerPremiumDays(cid) < 65535) then doPlayerAddPremiumDays(cid, -config.costPremiumDays) end local c = { {3, 1, false, 6, 1}, {3, 2, false, 6, 2}, {6, 1, false, 3, 1}, {6, 2, false, 3, 2} } for i = 1, #c do if canPlayerWearOutfitId(cid, c[i][1], c[i][2]) then doPlayerRemoveOutfitId(cid, c[i][1], c[i][2]) c[i][3] = true end end doPlayerSetSex(cid, getPlayerSex(cid) == PLAYERSEX_FEMALE and PLAYERSEX_MALE or PLAYERSEX_FEMALE) doPlayerSendTextMessage(cid,22,"Você alteradou o seu sexo, vai ser kikado!") addEvent(doRemoveCreature,1*1000,cid,true) doSendMagicEffect(getThingPosition(cid), 23) for i = 1, #c do if c[i][3] == true then doPlayerAddOutfitId(cid, c[i][4], c[i][5]) end end return true end
  16. zipter98

    Cleint poke pro

    Sanado, movido.
  17. Sanado, movido.
  18. Área incorreta, tópico movido. Mais cuidado da próxima vez.
  19. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 134) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local def = 100 -- quantos de defesa vai aumentar local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, def) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) function onCastSpell(cid, var) local position = {x=getPlayerPosition(cid).x+2, y=getPlayerPosition(cid).y+1, z=getPlayerPosition(cid).z} local exausted = 10 --Exausted (tempo). local storage = 918381 if getPlayerStorageValue(cid, storage) > os.time() then return doPlayerSendCancel(cid, "Wait "..getPlayerStorageValue(cid, storage) - os.time().." second"..(getPlayerStorageValue(cid, storage) - os.time() > 1 and "s" or "")..".") else doSendMagicEffect(position, 123) return setPlayerStorageValue(cid, storage, os.time() + exausted) and doCombat(cid, combat, var) end end
  20. Troque: function onCastSpell6(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "CD: Exori Gran Tera.") endPor: function onCastSpell6(cid) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "CD: Exori Gran Tera.") end end
  21. zipter98

    Quest

    Sanado, movido.
  • Quem Está Navegando   0 membros estão online

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