WA
pedido

Presiso Q Ao Tomar Ban O Player Perca 25% Dos Lvls

Por wandersonnc, 02 de out. de 2012 em Scripts

level
player
25%
ajuda
scripting
resolvido
script
7
1.4k
wandersonncW
02 de outubro de 2012 às 16:20

Olá galera conheço um pouco de scripting porem presiso de ajuda neste.

 

Presiso que ao tomar ban o player perca 25% de seus leveis isto seria possivel ?

alguem pode fazer pra mim

 

abaixo esta meu script de ban

 

 

 

 

function onSay(cid, words, param, channel)

 

local t = param:explode(",")

local name, days = t[1], tonumber(t[2])

local player = getPlayerByName(t[1])

if name then

if days then

local acc = getAccountIdByName(name)

if acc ~= 0 then

local tempo = days * 24 * 3600

doAddAccountBanishment(acc, target, os.time() + tempo, 5, 2, 'Banido por bular regras', 0)

doRemoveCreature(player)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")

end

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar essa

quantidade de dia(s) de dias de banimento.")

end

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "esse player nao existe.")

end

return TRUE

end

 

 

 

 

dou RES+ pra quem puder me ajudar abraços...

SkymagnumS
02 de outubro de 2012 às 18:06

Tenta essa função que acabei de fazer

 

usasse assim doPlayerRemoveLevelInPorcent(getPlayerGUID(cid), 25)

 

 

 

 

function doPlayerRemoveLevelInPorcent(id, porcent)
new_lvl = math.floor(getPlayerLevel(cid)*percent/100)
return db.executeQuery("UPDATE `players` SET `level` = " .. new_lvl .. " WHERE `id` = " .. id)
end

Editado Outubro 2 por Skymagnum

wandersonncW
02 de outubro de 2012 às 18:34

Tenta essa função que acabei de fazer

 

usasse assim doPlayerRemoveLevelInPorcent(getPlayerGUID(cid), 25)

 

 

 

 

function doPlayerRemoveLevelInPorcent(id, porcent)
new_lvl = math.floor(getPlayerLevel(cid)*percent/100)
return db.executeQuery("UPDATE `players` SET `level` = " .. new_lvl .. " WHERE `id` = " .. id)
end

 

Nossa cara vlw muito , Porem poderia me explicar melhor esta função que vc fez, ele perde quantos porcentos ? ou eu tenho q editar pra determinado porcento? (se possivel deixe ela ja perdendo os 25%).

 

vo testa hj anoite ja vo te da res pela ajuda caso esteja corretim do res amanha braços mt obrigado...

caoticC
02 de outubro de 2012 às 18:47

Ele ja fez o exemplo que funciona normalmente com 25%.

A função usa a famosa formula (mount*porc/100).

 

No script ficaria tal:

 

 

function onSay(cid, words, param, channel)
function doPlayerRemoveLevelInPorcent(id, porcent)
new_lvl = math.floor(getPlayerLevel(cid)*percent/100)
return db.executeQuery("UPDATE `players` SET `level` = " .. new_lvl .. " WHERE `id` = " .. id)
end


local t = param:explode(",")
local name, days = t[1], tonumber(t[2])
local player = getPlayerByName(t[1])
if name then
if days then
local acc = getAccountIdByName(name)
if acc ~= 0 then
local tempo = days * 24 * 3600
doPlayerRemoveLevelInPorcent(getPlayerGUID(cid), 25)
doAddAccountBanishment(acc, target, os.time() + tempo, 5, 2, 'Banido por bular regras', 0)
doRemoveCreature(player)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar essa
quantidade de dia(s) de dias de banimento.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "esse player nao existe.")
end
return TRUE
end

Editado Outubro 2 por caotic

wandersonncW
02 de outubro de 2012 às 18:51

Ele ja fez o exemplo que funciona normalmente com 25%.

A função usa a famosa formula (mount*porc/100).

 

No script ficaria tal:

 

 

function onSay(cid, words, param, channel)
function doPlayerRemoveLevelInPorcent(id, porcent)
new_lvl = math.floor(getPlayerLevel(cid)*percent/100)
return db.executeQuery("UPDATE `players` SET `level` = " .. new_lvl .. " WHERE `id` = " .. id)
end


local t = param:explode(",")
local name, days = t[1], tonumber(t[2])
local player = getPlayerByName(t[1])
if name then
if days then
local acc = getAccountIdByName(name)
if acc ~= 0 then
local tempo = days * 24 * 3600
doPlayerRemoveLevelInPorcent(getPlayerGUID(cid), 25)
doAddAccountBanishment(acc, target, os.time() + tempo, 5, 2, 'Banido por bular regras', 0)
doRemoveCreature(player)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar essa
quantidade de dia(s) de dias de banimento.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "esse player nao existe.")
end
return TRUE
end

 

Sz mt obrigado estarei dando os devidos RES+ amanha abraços...

3 semanas depois...
SkyLighS
20 de outubro de 2012 às 13:51

Duvida sanada

reportado

 

Para Um Superior

dwhfmsD
20 de outubro de 2012 às 14:49

Tópico movido para a seção de dúvidas e pedidos resolvidos.