RA
dúvida

Como Diminuir O Speed Dos Player

Por Raspas, 05 de jul. de 2012 em Scripts

speed player diminuir
11
3.7k
RaspasR
05 de julho de 2012 às 13:52

Eu abri um ot, porem os player andavam muito rápido depois de um certo level.

Então eu queria saber como diminui a velocidade dos players em meu ot. Desde já agraço.

SmiXS
05 de julho de 2012 às 14:19

Faça isso:

 

Creaturescripts:

 

 

function onAdvance(cid, skill, oldlevel, newlevel)
local level = 1000
local diminuirspeed = 100
local storage = 9344

if getPlayerLevel(cid) == level and getPlayerStorageValue(cid,storage) == -1 then
doChangeSpeed(cid,getCreatureBaseSpeed(cid)-diminuirspeed)
setPlayerStorageValue(cid,storage, 1)
end
end

* se o jogador for level 1000 e não tiver certo storage, ele pega a base do speed do jogador e diminui em 100 configuravel.

 

Tag

___________

<event type="advance" name="dspeed" event="script" value="speed.lua">

_________

em login add:

____________

registerCreatureEvent(cid, "dspeed")

_______________

não testado.

 

By: Vilden</event>

Editado Julho 5 por SmiX

KUNGLOWK
05 de julho de 2012 às 15:23

Smix tem como colocar este script so que para funcionar em jogadores que tenham GROUP ID?

caoticC
05 de julho de 2012 às 15:33

Bem facilll.

function onAdvance(cid, skill, oldlevel, newlevel)

local level = 1000

local diminuirspeed = 100

local storage = 9344

local groupid = 4 ---Muda aki o groupid

 

if getPlayerGroupId(cid) == groupid and getPlayerStorageValue(cid,storage) == -1 then

doChangeSpeed(cid,getCreatureBaseSpeed(cid)-diminuirspeed)

setPlayerStorageValue(cid,storage, 1)

end

end

KUNGLOWK
05 de julho de 2012 às 15:36

Caotic no meu caso aqui por exemplo, quero que 4 groups fiquem com a speed de level 8 como que ficaria?

caoticC
05 de julho de 2012 às 15:49

eu ja prefiro criar uma tabela de uma vez com groups e quando de velocidade ele vai ficar:

local group = {

[8] = {level = 40, velo = 2900}, ----Aqui e bem facil primeiro e o group que aki esta (80) segundo e o level que precisa aki esta (40) e depois e a velocidade(29000)

[4] = {level = 40, velo = 2900},

[5] = {level = 40, velo = 2900},

[6] = {level = 40, velo = 2900}

 

}

function onAdvance(cid, skill, oldlevel, newlevel)

local diminuirspeed = 100

local storage = 9344

local group = getPlayerGroupId(cid)

local levelf = veloc[group].level

local velocidade = veloc[group].velo

 

if getPlayerLevel(cid) < levelf then

return true

end

if getPlayerStorageValue(cid,storage) == -1 then

doChangeSpeed(cid, velocidade)

setPlayerStorageValue(cid,storage, 1)

end

end

RaspasR
05 de julho de 2012 às 23:10

aff, não funciono nenhum!

porfavor me ajudem!

Da erro na hora de carregar CreatureEvents!

KUNGLOWK
06 de julho de 2012 às 07:05

Raspas, poste o erro que está dando. Pois aqui funcionou ambos os scripts postados.

RaspasR
06 de julho de 2012 às 14:47

Consegui abrir o ot sem o erro, mas nao funciona o script, tem que modificar alguma coisa para eles funcionarem?

VincV
06 de julho de 2012 às 15:34

tenta com esse

lv = 100 --apartir de que lv a speed é travada
speed = 100 --velocidade maxima



function onAdvance(cid, skill, oldlevel, newlevel)
if newLevel >= lv then
doChangeSpeed(cid, speed)
end
return true
end

 

se n funcionar poste seu login.lua

RaspasR
08 de julho de 2012 às 14:23

Não fucionou! aki está o login.lua

 

local config = {

loginMessage = getConfigValue('loginMessage')

}

 

function onLogin(cid)

local loss = getConfigValue('deathLostPercent')

if(loss ~= nil) then

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)

end

 

local accountManager = getPlayerAccountManager(cid)

if(accountManager == MANAGER_NONE) then

local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage

if(lastLogin > 0) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."

else

str = str .. " Please choose your outfit."

doPlayerSendOutfitWindow(cid)

end

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

elseif(accountManager == MANAGER_NAMELOCK) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")

elseif(accountManager == MANAGER_ACCOUNT) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")

end

 

if(not isPlayerGhost(cid)) then

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

end

 

registerCreatureEvent(cid, "Mail")

registerCreatureEvent(cid, "GuildMotd")

 

registerCreatureEvent(cid, "killer")

registerCreatureEvent(cid, "Idle")

 

registerCreatureEvent(cid, "attackguild")

registerCreatureEvent(cid, "advance")

registerCreatureEvent(cid, "FimVip")

registerCreatureEvent(cid, "SkullCheck")

registerCreatureEvent(cid, "ReportBug")

 

registerCreatureEvent(cid, VipReceive)

registerCreatureEvent(cid, "PlayerKill")

if (InitArenaScript ~= 0) then

InitArenaScript = 1

-- make arena rooms free

for i = 42300, 42309 do

setGlobalStorageValue(i, 0)

setGlobalStorageValue(i+100, 0)

end

end

-- if he did not make full arena 1 he must start from zero

if getPlayerStorageValue(cid, 42309) < 1 then

for i = 42300, 42309 do

setPlayerStorageValue(cid, i, 0)

end

end

-- if he did not make full arena 2 he must start from zero

if getPlayerStorageValue(cid, 42319) < 1 then

for i = 42310, 42319 do

setPlayerStorageValue(cid, i, 0)

end

end

-- if he did not make full arena 3 he must start from zero

if getPlayerStorageValue(cid, 42329) < 1 then

for i = 42320, 42329 do

setPlayerStorageValue(cid, i, 0)

end

end

if getPlayerStorageValue(cid, 42355) == -1 then

setPlayerStorageValue(cid, 42355, 0) -- did not arena level

end

setPlayerStorageValue(cid, 42350, 0) -- time to kick 0

setPlayerStorageValue(cid, 42352, 0) -- is not in arena

return true

end