Ir para conteúdo
  • Cadastre-se

Derivado tem como surfar em 2 tipos de agua?


Posts Recomendados

Spoiler

    <movevent type="StepIn" itemid="11756-4820" event="script" value="surf.lua"/>
    <movevent type="StepOut" itemid="11756-4820" event="script" value="surf.lua"/>

Spoiler

local function doSendMagicEffecte(pos, effect)
    addEvent(doSendMagicEffect, 50, pos, effect)
end
-- 4664-4647;4608-4613;
local waters = {11756, 4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}
                                                                      
local flie = {'4820', '4821', '4822', '4823', '4824', '4825'}
                                                                   --alterado v1.6 tabelas agora em configuration.lua!
local premium = false

function onStepIn(cid, item, position, fromPosition)

if not isPlayer(cid) or isInArray({5, 6}, getPlayerGroupId(cid)) then --alterado v1.9
return true
end
if getPlayerStorageValue(cid, 75846) >= 1 then return true end   --alterado v1.9

if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV

if isPlayer(cid) and not isPremium(cid) and premium == true then
   doTeleportThing(cid, fromPosition, false)
   doPlayerSendCancel(cid, "Only premium members are allowed to surf.")
   return true
end

if getCreatureOutfit(cid).lookType == 316 or getCreatureOutfit(cid).lookType == 648 then
   doSendMagicEffect(fromPosition, 136)
end

if (getPlayerStorageValue(cid, 63215) >= 1 or isFly(cid)) then
return true
end

if isInDuel(cid) then
   doTeleportThing(cid, fromPosition, false)
   return true
end

if #getCreatureSummons(cid) == 0 then
   doPlayerSendCancel(cid, "You need a pokemon to surf.")
   doTeleportThing(cid, fromPosition, false)
   return true
end

if isMega(getCreatureSummons(cid)[1]) then
 doPlayerSendCancel(cid, "Pokemons megas não tem habilidade surf.")
 doTeleportThing(cid, fromPosition, false)
 return true
end

local pokeName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")
  local ditto = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "copyName")
  if ditto and ditto ~= "" then
     pokeName = ditto
  end
if (not isInArray(specialabilities["surf"], pokeName)) then 
   doPlayerSendCancel(cid, "This pokemon cannot surf.")
   doTeleportThing(cid, fromPosition, false)
   return true
end

if getPlayerStorageValue(cid, 5700) == 1 then
   doPlayerSendCancel(cid, "You can't do that while is mount in a bike!")
   doTeleportThing(cid, fromPosition, false)
   return true
end

if getPlayerStorageValue(cid, 212124) >= 1 then         --alterado v1.6
   doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")
   doTeleportThing(cid, fromPosition, false)
   return true
end

if isInDuel(cid) then
   doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v1.6
   doTeleportThing(cid, fromPosition, false)
   return true
end

if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then 
   doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!")   --alterado v1.7
   doTeleportThing(cid, fromPosition, false)
   return true
end
                                        --alterado v1.6
doSetCreatureOutfit(cid, {lookType = surfs[pokeName].lookType + 351}, -1) 
setPokemonGhost(cid)

doCreatureSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", lets surf!", TALKTYPE_ORANGE_1)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))

local speed = 75 + PlayerSpeed + getSpeed(getCreatureSummons(cid)[1]) * 8 * speedRate
setPlayerStorageValue(cid, 54844, speed)
doChangeSpeed(cid, speed)

local pct = getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", pct)

doRemoveCreature(getCreatureSummons(cid)[1])

addEvent(setPlayerStorageValue, 100, cid, 63215, 1)

local item = getPlayerSlotItem(cid, 8)
if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) <= 0 then
   addEvent(sendAuraEffect, 120, cid, auraSyst[getItemAttribute(item.uid, "aura")])    --alterado v1.8
end

if useOTClient then
   doPlayerSendCancel(cid, '12//,hide') --alterado v1.8
end

return true
end

local direffects = {30, 49, 9, 51}

function onStepOut(cid, item, position, fromPosition)

if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end

    local checkpos = fromPosition
        checkpos.stackpos = 0

    if isInArray(waters, getTileInfo(checkpos).itemid) then
       if getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 then
          doSendMagicEffecte(fromPosition, direffects[getCreatureLookDir(cid) + 1])
       end
    end

    if not isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then

        if getPlayerStorageValue(cid, 17000) >= 1 then return true end
        if getPlayerStorageValue(cid, 63215) <= 0 then return true end

        doRemoveCondition(cid, CONDITION_OUTFIT)
        setPlayerStorageValue(cid, 63215, -1)

        doGoPokemonInOrder(cid, getPlayerSlotItem(cid, 8), false)
        doChangeSpeed(cid, -getCreatureSpeed(cid))
        doRegainSpeed(cid)   
        
    end

return true
end

teria como eu por pra surfar em 2 tipos de agua ? por exemplo na agua com id 11756 e a outra seria a agua 4820.

ajuda ai como posso fazer isso nos spoilers ta meus scripts de surf nao sei se so tem esses mais acho que e isso, grato pela atenção

 

Editado por chora boy (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
12 horas atrás, chora boy disse:
  Mostrar conteúdo oculto

    <movevent type="StepIn" itemid="11756-4820" event="script" value="surf.lua"/>
    <movevent type="StepOut" itemid="11756-4820" event="script" value="surf.lua"/>

  Ocultar conteúdo

local function doSendMagicEffecte(pos, effect)
    addEvent(doSendMagicEffect, 50, pos, effect)
end
-- 4664-4647;4608-4613;
local waters = {11756, 4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}
                                                                      
local flie = {'4820', '4821', '4822', '4823', '4824', '4825'}
                                                                   --alterado v1.6 tabelas agora em configuration.lua!
local premium = false

function onStepIn(cid, item, position, fromPosition)

if not isPlayer(cid) or isInArray({5, 6}, getPlayerGroupId(cid)) then --alterado v1.9
return true
end
if getPlayerStorageValue(cid, 75846) >= 1 then return true end   --alterado v1.9

if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV

if isPlayer(cid) and not isPremium(cid) and premium == true then
   doTeleportThing(cid, fromPosition, false)
   doPlayerSendCancel(cid, "Only premium members are allowed to surf.")
   return true
end

if getCreatureOutfit(cid).lookType == 316 or getCreatureOutfit(cid).lookType == 648 then
   doSendMagicEffect(fromPosition, 136)
end

if (getPlayerStorageValue(cid, 63215) >= 1 or isFly(cid)) then
return true
end

if isInDuel(cid) then
   doTeleportThing(cid, fromPosition, false)
   return true
end

if #getCreatureSummons(cid) == 0 then
   doPlayerSendCancel(cid, "You need a pokemon to surf.")
   doTeleportThing(cid, fromPosition, false)
   return true
end

if isMega(getCreatureSummons(cid)[1]) then
 doPlayerSendCancel(cid, "Pokemons megas não tem habilidade surf.")
 doTeleportThing(cid, fromPosition, false)
 return true
end

local pokeName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")
  local ditto = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "copyName")
  if ditto and ditto ~= "" then
     pokeName = ditto
  end
if (not isInArray(specialabilities["surf"], pokeName)) then 
   doPlayerSendCancel(cid, "This pokemon cannot surf.")
   doTeleportThing(cid, fromPosition, false)
   return true
end

if getPlayerStorageValue(cid, 5700) == 1 then
   doPlayerSendCancel(cid, "You can't do that while is mount in a bike!")
   doTeleportThing(cid, fromPosition, false)
   return true
end

if getPlayerStorageValue(cid, 212124) >= 1 then         --alterado v1.6
   doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")
   doTeleportThing(cid, fromPosition, false)
   return true
end

if isInDuel(cid) then
   doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v1.6
   doTeleportThing(cid, fromPosition, false)
   return true
end

if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then 
   doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!")   --alterado v1.7
   doTeleportThing(cid, fromPosition, false)
   return true
end
                                        --alterado v1.6
doSetCreatureOutfit(cid, {lookType = surfs[pokeName].lookType + 351}, -1) 
setPokemonGhost(cid)

doCreatureSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", lets surf!", TALKTYPE_ORANGE_1)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))

local speed = 75 + PlayerSpeed + getSpeed(getCreatureSummons(cid)[1]) * 8 * speedRate
setPlayerStorageValue(cid, 54844, speed)
doChangeSpeed(cid, speed)

local pct = getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", pct)

doRemoveCreature(getCreatureSummons(cid)[1])

addEvent(setPlayerStorageValue, 100, cid, 63215, 1)

local item = getPlayerSlotItem(cid, 8)
if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) <= 0 then
   addEvent(sendAuraEffect, 120, cid, auraSyst[getItemAttribute(item.uid, "aura")])    --alterado v1.8
end

if useOTClient then
   doPlayerSendCancel(cid, '12//,hide') --alterado v1.8
end

return true
end

local direffects = {30, 49, 9, 51}

function onStepOut(cid, item, position, fromPosition)

if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end

    local checkpos = fromPosition
        checkpos.stackpos = 0

    if isInArray(waters, getTileInfo(checkpos).itemid) then
       if getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 then
          doSendMagicEffecte(fromPosition, direffects[getCreatureLookDir(cid) + 1])
       end
    end

    if not isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then

        if getPlayerStorageValue(cid, 17000) >= 1 then return true end
        if getPlayerStorageValue(cid, 63215) <= 0 then return true end

        doRemoveCondition(cid, CONDITION_OUTFIT)
        setPlayerStorageValue(cid, 63215, -1)

        doGoPokemonInOrder(cid, getPlayerSlotItem(cid, 8), false)
        doChangeSpeed(cid, -getCreatureSpeed(cid))
        doRegainSpeed(cid)   
        
    end

return true
end

teria como eu por pra surfar em 2 tipos de agua ? por exemplo na agua com id 11756 e a outra seria a agua 4820.

ajuda ai como posso fazer isso nos spoilers ta meus scripts de surf nao sei se so tem esses mais acho que e isso, grato pela atenção

 

nessa parte você deixa os ids das águas que quer 
local waters = {11756, 4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}

Link para o post
Compartilhar em outros sites
34 minutos atrás, wevertonvrb disse:

nessa parte você deixa os ids das águas que quer 
local waters = {11756, 4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}

Ja tá ali o 4820 só que ele não solicita que precisa de Poké pra entrar nessa água aí eu ando por cima dela entendeu?

 

Link para o post
Compartilhar em outros sites
40 minutos atrás, chora boy disse:

Ja tá ali o 4820 só que ele não solicita que precisa de Poké pra entrar nessa água aí eu ando por cima dela entendeu?

 

sim então você não deve ter adicionado ele no movements.xml
verifique isso e se resolver n esqueça do rep+

Link para o post
Compartilhar em outros sites
3 minutos atrás, wevertonvrb disse:

sim então você não deve ter adicionado ele no movements.xml
verifique isso e se resolver n esqueça do rep+

<movevent type="StepIn" itemid="11756-4820" event="script" value="surf.lua"/>
    <movevent type="StepOut" itemid="11756-4820" event="script" value="surf.lua"/>

 

 

no movements.xml eu botei assim e nao mudo em nada nao sei se ta certo

 

antes tava assim

<movevent type="StepIn" itemid="11756" event="script" value="surf.lua"/>
    <movevent type="StepOut" itemid="11756" event="script" value="surf.lua"/>

Editado por chora boy (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
5 horas atrás, chora boy disse:

<movevent type="StepIn" itemid="11756-4820" event="script" value="surf.lua"/>
    <movevent type="StepOut" itemid="11756-4820" event="script" value="surf.lua"/>

 

 

no movements.xml eu botei assim e nao mudo em nada nao sei se ta certo

 

antes tava assim

<movevent type="StepIn" itemid="11756" event="script" value="surf.lua"/>
    <movevent type="StepOut" itemid="11756" event="script" value="surf.lua"/>

ta errado pq deveria ter muito mais ids.
vc fez merda nesse xml

olhe como o meu esta
<movevent type="StepIn" itemid="4820-4825;15323-15339;11756" event="script" value="surf.lua"/>
<movevent type="StepOut" itemid="4820-4825;15323-15339;11756" event="script" value="surf.lua"/>

no caso ali > 4820-4825 significa.... do item 4820 ate o item 4825

seu jeito ficou assim > do item 11756 ate o tem 4820, isso vai dar ruim
ate pq voce colocou o numero maior primeiro e mesmo se colocasse certo isso involveria muitos itens ate mesmo paredes, portraits, balls pois entre  o 4820 e 11756 existe inúmeros itens


do jeito que você deixou vai funcionar o surf apenas com o id 11756 

e se no caso vc queira que funcione com 11756 e 4820
vc deve deixar assim

<movevent type="StepOut" itemid="11756;4820" event="script" value="surf.lua"/>

<movevent type="StepIn" itemid="11756;4820" event="script" value="surf.lua"/>

e outra coisa acredito que vai dar ruim voce deixando apenas esses 2 pois assim vc vai excluir diversas outras aguas
para testar não teste no mar ou no rio ou lagoinha vá para algum lugar e escreva>>> /i 4820 e /i 11756 pois as outras aguas não iram funcionar o mar é randomizado  tente como eu disse
se resolver rep +

Editado por wevertonvrb (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
1 hora atrás, wevertonvrb disse:

ta errado pq deveria ter muito mais ids.
vc fez merda nesse xml

olhe como o meu esta
<movevent type="StepIn" itemid="4820-4825;15323-15339;11756" event="script" value="surf.lua"/>
<movevent type="StepOut" itemid="4820-4825;15323-15339;11756" event="script" value="surf.lua"/>

no caso ali > 4820-4825 significa.... do item 4820 ate o item 4825

seu jeito ficou assim > do item 11756 ate o tem 4820, isso vai dar ruim
ate pq voce colocou o numero maior primeiro e mesmo se colocasse certo isso involveria muitos itens ate mesmo paredes, portraits, balls pois entre  o 4820 e 11756 existe inúmeros itens


do jeito que você deixou vai funcionar o surf apenas com o id 11756 

e se no caso vc queira que funcione com 11756 e 4820
vc deve deixar assim

<movevent type="StepOut" itemid="11756;4820" event="script" value="surf.lua"/>

<movevent type="StepIn" itemid="11756;4820" event="script" value="surf.lua"/>

e outra coisa acredito que vai dar ruim voce deixando apenas esses 2 pois assim vc vai excluir diversas outras aguas
para testar não teste no mar ou no rio ou lagoinha vá para algum lugar e escreva>>> /i 4820 e /i 11756 pois as outras aguas não iram funcionar o mar é randomizado  tente como eu disse
se resolver rep +

muito obrigado mesmo brother era isso mesmo tem meu rep+ e outra vc e muito bom no que faz mano estou muito grato!

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo