Ir para conteúdo
Close

REFORMULAMOS A SEÇÃO DE CLASSIFICADOS! - Crie grátis os seus anúncios de procura e oferta de serviços e produtos relacionados ao OTServ! - Acesse através do nosso menu ou clique aqui e confira já!

Joaovettor

Membro
  • Total de itens

    109
  • Registro em

  • Última visita

Sobre Joaovettor

  • Rank
    Escudeiro
  • Data de Nascimento 08/08/2002

Informação de Perfil

  • Genero
    Masculino
  • Eu sou
    Tibiano
  • Meu personagem
    Mathias Mage
  • OTServ favorito
    FoxWorld OT
  • Bot preferido
    elfbot
  • Interesses
    Criar um ot famoso.

Últimos Visitantes

616 visualizações
  1. Você deve deixar Normal no Items.xml, você deve registrar como Runa no Spells.xml Exemplo: <rune name="Sword" id="ID" allowfaruse="1" charges="1" lvl="60" maglv="1" exhaustion="1000" needtarget="1" blocktype="solid" event="script" value="NOME DO ARQUIVO.lua"/>
  2. É quase isso mano, o que eu quero na Real, é como se eu estivesse usando uma 2° arma, e o statschange costuma substituir o Damage das spells e das armas, e eu quero que seja apenas em armas, por isso estava utilizando a função "function onAttack" OBS: O script que usei no post foi apenas um exemplo.
  3. Fala galera do TibiaKing, estou tendo um problema com a função "function onAttack(cid, target" O que ocorre, é que se eu fizer um script como essse abaixo: function onAttack(cid, target) if getPlayerStorageValue(cid, 13540) >= 1 then doSendMagicEffect(cid, 40) end return true end O script irá agir com MUITA velocidade, ele não tem um intervalo de ativação, não é como se o script ativasse só quando atacasse, ele simplesmente ativa ao atacar e durante o intervalo do primeiro ataque e do segundo ataque, ele faz o script umas 30x. A attackspeed está entre 200 e 250, então mesmo se isso fosse influenciar, o time delay seria de no máximo 4x por segundo. Se alguém puder me ajudar agradeço
  4. Eu só editei o script que você me passou
  5. function onUse(cid, item, fromPosition, itemEx, toPosition) local voc = getPlayerVocation(cid) if voc = 1 then doPlayerSetVocation(cid, 5) doPlayerSendTextMessage(cid, 19, "Você foi promovido para ".. getPlayerVocationName(cid) ..".") doSendDistanceShoot({x=getCreaturePos(cid).x-3, y=getCreaturePos(cid).y-3, z=getCreaturePos(cid).z}, getCreaturePos(cid), 4) doSendMagicEffect(getCreaturePos(cid), 47) doPlayerSendTextMessage(cid, 19, "Você foi promovido para ".. getPlayerVocationName(cid) ..".") doRemoveItem(item.uid, 1) elseif voc = 2 then doPlayerSetVocation(cid, 6) doSendDistanceShoot({x=getCreaturePos(cid).x-3, y=getCreaturePos(cid).y-3, z=getCreaturePos(cid).z}, getCreaturePos(cid), 30) doSendMagicEffect(getCreaturePos(cid), 49) doPlayerSendTextMessage(cid, 19, "Você foi promovido para ".. getPlayerVocationName(cid) ..".") doRemoveItem(item.uid, 1) elseif voc = 3 then doPlayerSetVocation(cid, 7) doSendDistanceShoot({x=getCreaturePos(cid).x-3, y=getCreaturePos(cid).y-3, z=getCreaturePos(cid).z}, getCreaturePos(cid), 27) doSendMagicEffect(getCreaturePos(cid), 48) doPlayerSendTextMessage(cid, 19, "Você foi promovido para ".. getPlayerVocationName(cid) ..".") doRemoveItem(item.uid, 1) elseif voc = 4 then doPlayerSetVocation(cid, 8) doSendDistanceShoot({x=getCreaturePos(cid).x-3, y=getCreaturePos(cid).y-3, z=getCreaturePos(cid).z}, getCreaturePos(cid), 37) doSendMagicEffect(getCreaturePos(cid), 3) doPlayerSendTextMessage(cid, 19, "Você foi promovido para ".. getPlayerVocationName(cid) ..".") doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "Você já foi promovido.") end return TRUE end
  6. Joaovettor

    Scripting ERRO MaxLevel

    Olá galera do TibiaKing, estou tendo um problema no meu servidor em que toda vez que um Player ACIMA do LEVELMAX 903637 upa ou morre, ele retorna ao Level 1 e perde todos os itens. Já tentei procurar algo no Login.lua ou no Config.lua, já retirei as Bless do servidor e arrumei o LostPercent, mas o erro ainda persiste e não sei mais como arrumar este erro. REP++
  7. function onLogin(cid) local rate = 1.20 -- 20% local config = { vip = "Você tem "..((rate - 1)*100).."% de exp a mais agora!", notvip = "Tornesse vip e ganhe "..((rate - 1)*100).."% a mais de experiencia!", } if not isPlayer(cid) then return true end if getPlayerPremiumDays(cid) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, config.notvip) else doPlayerSetExperienceRate(cid, rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_GREEN, config.vip) end return TRUE end
  8. O script do Item não está dando Vip e sim Premium doPlayerAddPremiumDays(cid, config.dias) E o script da Exp está checando se o player é Vip if vip.hasVip(cid) == FALSE then Você precisa fazer com que o Player receba Vip ao dar use no Item. Troque:doPlayerAddPremiumDays(cid, config.dias) Por: doPlayerAddVipDays(cid, config.dias) Se não der certo, tente usar um sistema de Vip por Storage que é mais simples
  9. function onCastSpell(cid, var) local male = 350 local female = 351 local sex = getPlayerSex(cid) if sex == 0 and getPlayerVocation(cid) == 22 and getPlayerStorageValue(cid, 17200) <= 0 then doPlayerSetVocation(cid, 25) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) +1) doSetCreatureOutfit(cid, male, -1) elseif sex == 1 and getPlayerVocation(cid) == 22 and getPlayerStorageValue(cid, 17200) <= 0 then doPlayerSetVocation(cid, 25) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) +1) doSetCreatureOutfit(cid, female, -1) else doPlayerSendCancel(cid, "Você não é paladin ou já está com a magia ativada") end return true end function onCastSpell(cid, var) local male = {lookType = 152, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local female = {lookType = 156, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local sex = getPlayerSex(cid) if sex == 0 and getPlayerVocation(cid) == 25 and getPlayerStorageValue(cid, 17200) >= 1 then doPlayerSetVocation(cid, 22) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) -1) doSetCreatureOutfit(cid, male, -1) elseif sex == 1 and getPlayerVocation(cid) == 25 and getPlayerStorageValue(cid, 17200) >= 1 then doPlayerSetVocation(cid, 22) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) -1) doSetCreatureOutfit(cid, female, -1) else doPlayerSendCancel(cid, "Você não pode usar esta magia") end return true end SE NAO DER CERTO TENTA ESSE Para se transformar: function onCastSpell(cid, var) local male = 350 local female = 351 local sex = getPlayerSex(cid) if sex == 0 and getPlayerVocation(cid) == 22 and getPlayerStorageValue(cid, 17200) <= 0 then doPlayerSetVocation(cid, 25) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) +1) doSetCreatureOutfit(cid, male, -1) elseif sex == 1 and getPlayerVocation(cid) == 22 and getPlayerStorageValue(cid, 17200) <= 0 then doPlayerSetVocation(cid, 25) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) +1) doSetCreatureOutfit(cid, female, -1) else doPlayerSendCancel(cid, "Você não é paladin ou já está com a magia ativada") end return doCombat(cid, combat, var) end Para reverter: function onCastSpell(cid, var) local male = {lookType = 152, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local female = {lookType = 156, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local sex = getPlayerSex(cid) if sex == 0 and getPlayerVocation(cid) == 25 and getPlayerStorageValue(cid, 17200) >= 1 then doPlayerSetVocation(cid, 22) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) -1) doSetCreatureOutfit(cid, male, -1) elseif sex == 1 and getPlayerVocation(cid) == 25 and getPlayerStorageValue(cid, 17200) >= 1 then doPlayerSetVocation(cid, 22) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) -1) doSetCreatureOutfit(cid, female, -1) else doPlayerSendCancel(cid, "Você não pode usar esta magia") end return doCombat(cid, combat, var) end
  10. function onCastSpell(cid, var) local male = 350 local female = 351 local sex = getPlayerSex(cid) if sex == 0 and getPlayerVocation(cid) == 3 and getPlayerStorageValue(cid, 17200) <= 0 then doPlayerSetVocation(cid, 7) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) +1) doCreatureChangeOutfit(cid, male) elseif sex == 1 and getPlayerVocation(cid) == 3 and getPlayerStorageValue(cid, 17200) <= 0 then doPlayerSetVocation(cid, 7) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) +1) doCreatureChangeOutfit(cid, female) else doPlayerSendCancel(cid, "Você não é paladin ou já está com a magia ativada") end return true end Magia que cancela function onCastSpell(cid, var) local male = {lookType = 152, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local female = {lookType = 156, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local sex = getPlayerSex(cid) if sex == 0 and getPlayerVocation(cid) == 7 and getPlayerStorageValue(cid, 17200) >= 1 then doPlayerSetVocation(cid, 3) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) -1) doCreatureChangeOutfit(cid, male) elseif sex == 1 and getPlayerVocation(cid) == 7 and getPlayerStorageValue(cid, 17200) >= 1 then doPlayerSetVocation(cid, 3) setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) -1) doCreatureChangeOutfit(cid, female) else doPlayerSendCancel(cid, "Você não pode usar esta magia") end return true end
  11. local dano = 5 --- Aqui é a % da skill, ou seja, ele irá causar 5% do Distance dele de dano local w = { [1] = {ef = 15, sh = 33, dmg = COMBAT_FIREDAMAGE}, [2] = {ef = 43, sh = 34, dmg = COMBAT_ICEDAMAGE}, [3] = {ef = 8, sh = 39, dmg = COMBAT_POISONDAMAGE}, [4] = {ef = 38, sh = 23, dmg = COMBAT_DEATHDAMAGE}, [5] = {ef = 47, sh = 32, dmg = COMBAT_ENERGYDAMAGE}, [6] = {ef = 9, sh = 21, dmg = COMBAT_PHYSICALDAMAGE}, [7] = {ef = 48, sh = 17, dmg = COMBAT_HOLYDAMAGE} } function onUseWeapon(cid, var) local skill = getPlayerSkill(cid, 4) local min, max = (dano * skill), (dano * skill/100) local effect = getPlayerStorageValue(cid, 4561) local target = getCreatureTarget(cid)  if target ~= 0 then local wx = w[effect] or w[math.random(#w)] doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh) addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef) end return true end
  12. function onCastSpell(cid, var)local male = 350local female = 351local sex = getPlayerSex(cid)if sex == 0 and getPlayerVocation(cid) == 3 and getPlayerStorageValue(cid, 17200) <= 0 thendoPlayerSetVocation(cid, 7)setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) +1)doSetCreatureOutfit(cid, male)elseif sex == 1 and getPlayerVocation(cid) == 3 and getPlayerStorageValue(cid, 17200) <= 0 thendoPlayerSetVocation(cid, 7)setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) +1)doSetCreatureOutfit(cid, female)elsedoPlayerSendCancel(cid, "Você não é paladin ou já está com a magia ativada")endreturn doCombat(cid, combat, var)endMagia que cancelafunction onCastSpell(cid, var)local male = {lookType = 152, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3}local female = {lookType = 156, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3}local sex = getPlayerSex(cid)if sex == 0 and getPlayerVocation(cid) == 7 and getPlayerStorageValue(cid, 17200) >= 1 thendoPlayerSetVocation(cid, 3)setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) -1)doSetCreatureOutfit(cid, male)elseif sex == 1 and getPlayerVocation(cid) == 7 and getPlayerStorageValue(cid, 17200) >= 1 thendoPlayerSetVocation(cid, 3)setPlayerStorageValue(cid, getPlayerStorageValue(cid, 17200) -1)doSetCreatureOutfit(cid, female)elsedoPlayerSendCancel(cid, "Você não pode usar esta magia")endreturn doCombat(cid, combat, var)end
  13. É um sistema de task diferenciado, tem isso no fórum
  14. Você quer que o NPC entrege o item para o Player e receba x Storage? Depois o player vá no final da quest e entregue os itens para outro NPC?

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×