DE

[Ajuda] Dive lento depois de passar level

Por Dextroy, 14 de fev. de 2014 em Archived

9
760
DextroyD
14 de fevereiro de 2014 às 18:02

O dive de talkaction (!dive que vai underwater e bota roupa underwater) que utilizo funciona normalmente, mas quando passo de level durante o dive o personagem fica extremamente lento, nem relogar resolve.

 

Alguém sabe como arrumar isso? :S

HolyMaNH
15 de fevereiro de 2014 às 12:30

@Dextroy,

passa o arquivo dive.lua pasta/talkaction/scripts

 

DextroyD
15 de fevereiro de 2014 às 14:56

 

function onSay(cid, words, param, channel)

if getPlayerStorageValue(cid,63215) >=1 then
pos = getCreaturePosition(cid)
if pos.z ~= 7 then return false end
npos = {x=pos.x, y=pos.y, z=pos.z + 1}
local grounds = {5405, 5406, 5407, 5408, 5409, 5410}
if (not isInArray(grounds, getTileThingByPos(npos).itemid)) then
return doPlayerSendCancel(cid, "You cannot dive here.")
end
if doTeleportThing(cid, npos) then
doSendMagicEffect(npos, 14)
if getPlayerSex(cid) == 1 then
doSetCreatureOutfit(cid, {lookType = 1034, lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
else
doSetCreatureOutfit(cid, {lookType = 1035, lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
end
setPlayerStorageValue(cid, 632150, 0)
setPlayerStorageValue(cid, 13008, 1)
local item = getPlayerSlotItem(cid, 8)
local pokemon = getItemAttribute(item.uid, "poke")
local x = pokes[pokemon]
if getItemAttribute(item.uid, "nick") then
doCreatureSay(cid, "".."Good job "..getItemAttribute(item.uid, "nick").." !", 1)
else
doCreatureSay(cid, "".."Good job "..getItemAttribute(item.uid, "poke").." !", 1)
end
local pk = getCreatureSummons(cid)[1]
doChangeSpeed(pk, getCreatureSpeed(cid)+1500)
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, PlayerSpeed+1500)
doTeleportThing(pk, getThingPos(cid), true)
doCreatureSetLookDir(pk, getCreatureLookDir(cid))
adjustStatus(pk, item.uid, true, false, true)
end
else
return doPlayerSendCancel(cid, "You cannot dive here.")
end
return TRUE
end

Ta aí '-'

HolyMaNH
19 de fevereiro de 2014 às 12:30

Pra arrumar eh facil, mais quando chegar em casa eu arrumo...

DextroyD
19 de fevereiro de 2014 às 23:05

Ok, estou no aguardo =)

HolyMaNH
20 de fevereiro de 2014 às 20:34
ok vamos la...
abra data/creatuscript/levelup.lua

e altere essa parte:
doRegainSpeed(cid)
doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])
para:

if not getPlayerStorageValue(cid, 13008) then
doRegainSpeed(cid)
doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])
else
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, PlayerSpeed+1500)
return true
end

abra data/creaturescript/login.lua

em baixo de:

if getPlayerStorageValue(cid, 22545) >= 1 then
setPlayerStorageValue(cid, 22545, -1)
doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false)
setPlayerRecordWaves(cid)
end
adicione:

if getPlayerStorageValue(cid, 13008) >= 1 then
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, PlayerSpeed+1500)
return true
end

Editado Fevereiro 20 por GOD Gniu

DextroyD
20 de fevereiro de 2014 às 23:21

Funciona, mas tava mudando a velocidade mesmo pra quem upa fora d'água.

 

De qualquer modo consegui arrumar com um if da roupa de dive, muito obrigado, não saberia sem sua ajuda =)

HolyMaNH
21 de fevereiro de 2014 às 05:59

altera essa parte intaum...

coloca assim:

 

if not getPlayerStorageValue(cid, 13008) >= 1 then
doRegainSpeed(cid)
doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])
else
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, PlayerSpeed+1500)
return true
end
zipter98Z
21 de fevereiro de 2014 às 15:22

Hm, já posso mover para resolvidos, ou a dúvida não foi totalmente sanada? Por favor, relate.