wandersonnc 0 Postado Outubro 2, 2012 Share Postado Outubro 2, 2012 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... Link para o comentário Compartilhar em outros sites More sharing options...
0 Skymagnum 234 Postado Outubro 2, 2012 Share Postado Outubro 2, 2012 (editado) 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, 2012 por Skymagnum Link para o comentário Compartilhar em outros sites More sharing options...
0 wandersonnc 0 Postado Outubro 2, 2012 Autor Share Postado Outubro 2, 2012 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... Link para o comentário Compartilhar em outros sites More sharing options...
0 caotic 393 Postado Outubro 2, 2012 Share Postado Outubro 2, 2012 (editado) 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, 2012 por caotic Link para o comentário Compartilhar em outros sites More sharing options...
0 wandersonnc 0 Postado Outubro 2, 2012 Autor Share Postado Outubro 2, 2012 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... Link para o comentário Compartilhar em outros sites More sharing options...
0 SkyLigh 453 Postado Outubro 20, 2012 Share Postado Outubro 20, 2012 Duvida sanada reportado Para Um Superior Link para o comentário Compartilhar em outros sites More sharing options...
0 dwhfms 168 Postado Outubro 20, 2012 Share Postado Outubro 20, 2012 Tópico movido para a seção de dúvidas e pedidos resolvidos. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
wandersonnc 0
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...
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados