Ir para conteúdo
  • Cadastre-se

Posts Recomendados

local lever = {

[2042] = {1,1,{2160}}

}
function onUse(cid,item,fromPosition,itemEx,toPosition)
if getPoints(cid) < lever[item.actionid][1] then
return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você precisa de "..lever[item.actionid][1].." points.")
end
removePoints(cid,lever[item.actionid][1])
local add = (lever[item.actionid][2]*86400)
setPlayerStorageValue(cid, 85258, getPlayerStorageValue(cid, 85258) - os.time() <= 0 and (os.time() + add) or (getPlayerStorageValue(cid, 85258) + add))
local quantity = math.floor((getPlayerStorageValue(cid, 85258) - os.time())/(24 * 60 * 60))  
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") 
for _, items in pairs(lever[item.actionid][3]) do
doPlayerAddItem(cid,items,1)
end 
if not getCreatureName(cid):find('(VIP)') then
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
db.executeQuery("UPDATE `players` SET `name` = '(VIP) "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") 
addEvent(doRemoveCreature, 3*1000, cid)
end 
return true
end

Bom, eu uso esse seguinte script acima, ele funciona junto com 1 sistema de points, o script adciona (VIP) no nick por x quantia de dias e suga 1 points por 1 dia, porém ele não esta removendo quando passa os dias o nick (VIP) e também fica disponível para criar no acc manager o nick antigo, ajuda ae rapaziada a melhorar o script

Editado por jNo (veja o histórico de edições)

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

troque a script por essa,caso resolver clique em melhor resposta para tópico ser fechado...

-- Script SYtem vip 2.0 --
function onSay(cid, words, param)

if(words == "!vipdays") then
local timenow = os.time()
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.")

elseif(words == "/checkvip") then
if getPlayerAccess(cid) == 5 then
if not param then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end

local player = getPlayerByName(param)
if not isPlayer(player) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.")
end

local timenow = os.time()

local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60))
doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.")
return TRUE
end

elseif(words == "/addvip") then
if getPlayerAccess(cid) == 5 then
local t = string.explode(param, ",")
if not t[2] then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end

local player = getPlayerByName(t[1])
local name = getCreatureName(player)
local days = t[2]
local pid = getPlayerByNameWildcard(t[1])
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")
return TRUE
end

local daysvalue = days*3600*24
local storageplayer = getPlayerStorageValue(player, 13540)
local timenow = os.time()
local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue)

if string.find(tostring(getCreatureName(pid)),"[[Vip]]") then
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.")
setPlayerStorageValue(player, 13540, time)
local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24))
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.")
else
setPlayerStorageValue(player, 13540, time)
db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(player)..";")
doRemoveCreature(player)
end
end

elseif(words == "/delvip") then
if getPlayerAccess(cid) == 5 then
local dec = MESSAGE_INFO_DESCR
if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end
local C,t = {},string.explode(param, ",")
C.pos = getPlayerPosition(cid)
C.uid = getCreatureByName(t[1])
C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia.
C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip.

if(getPlayerStorageValue(C.uid,13540) < C.time)then
doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.')
else
doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.')
setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time)
end
doSendMagicEffect(C.pos, math.random(28,30))
end
end

return TRUE
end
Editado por fabiodias (veja o histórico de edições)

                                                                         github.png TFS 0.4 DEV                                                                                                       nvzl0l.jpg
 
Página no facebook: https://www.facebook.com/Suporterking                                                                                     
Skype: fabinhodias01
 
 
"A almapermanece em suas criações" 


h3dhnuI.jpg           
(Dou suporte apenas em tópicos..)

Link para o post
Compartilhar em outros sites

Amigo, preciso só de uma alteração no meu, apenas o (VIP) não esta saindo quando esgota os dias do jogador

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

vei parece facil vo tenta aki .. pelo menos um esboço rapido eu fiz pq to sem mto tempo...

 

dentro de creaturescript/scripts crie um arquivo  perdervip.lua coloque isso dentro VV

 

function onLogin(cid)


if getPlayerStorageValue(cid, 85258) <= 0 then
if getCreatureName(cid):find('(VIP)') then
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
db.executeQuery("UPDATE `players` SET `name` = '"..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
addEvent(doRemoveCreature, 3*1000, cid)
end
end
return true
end

 

e em creaturescript.xml coloque oseguinte

 

<event type="login" name="perdervip" event="script" value="perdervip.lua"/>

 

testa ai kkk talvez nao funcione pq fiz em uns 50s

Editado por llucas75 (veja o histórico de edições)

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

vei parece facil vo tenta aki .. pelo menos um esboço rapido eu fiz pq to sem mto tempo...

 

dentro de creaturescript/scripts crie um arquivo  perdervip.lua coloque isso dentro VV

 

function onLogin(cid)

if getPlayerStorageValue(cid, 85258) <= 0 then

if getCreatureName(cid):find('(VIP)') then

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

db.executeQuery("UPDATE `players` SET `name` = '"..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")

addEvent(doRemoveCreature, 3*1000, cid)

end

end

return true

end

 

e em creaturescript.xml coloque oseguinte

 

<event type="login" name="perdervip" event="script" value="perdervip.lua"/>

 

testa ai kkk talvez nao funcione pq fiz em uns 50s

 

Não deu certo

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

Algum erro? oque ocorre?

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Algum erro? oque ocorre?

 

Nenhum erro, acontece nada

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites
db.executeQuery("UPDATE `players` SET `name` = '"..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") 

Claro, colocou para mudar do nome do player para nome do player... , assim não vai acontecer nada...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Ops vdd agora que vi kkkk fiz em 5 minutos o codigo...  nem me toquei que o [vip] faz parte do nome kkkkkkk
Caronte, mas como poderia usar o db.executeQuery("UPDATE `players` SET `name` = '(VIP) "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") para remover o vip?

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Acho que tinha que ter alguma forma de subtrair do nome, talvez uma possibilidade é mexer na função do getcreaturename para adequar a essa situação...

Porque sempre que chamar essa função vai retornar com o maldito do vip, tem que por pra essa função ignorar o vip no nome e retornar só o nome real...

Mas , manipular funções está fora da minha compreensão por enquanto '-'

Ouuuu

Armazenar o name de cada player vip antes de executar o

db.executeQuery("UPDATE `players` SET `name` = '(VIP) "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")

pode colocar em um bloco de notas usando o io.write e depois procurar o nome usando o io.read..

É uma ideia pra armazenar o nome original e depois verificar qual combina com o nome com vip e alem disso , pode usar esse bloco para armazenar os nomes reservados...

Eu to por enquanto no celular, pq se não eu esboçava algo...

Mas ta aí duas ideiais..!

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

nada ainda  :hum:  :(

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

@Caronte
Não precisa de nada disso.

Basta usar o metamétodo sub da função string:

db.executeQuery("UPDATE `players` SET `name` = '"..getCreatureName(cid):sub(7).."' WHERE `players`.`id`= "..getPlayerGUID(cid))

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Ah.. ok , mas eu não sei usar, poderoa responder o jno ?

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites
poderoa responder o jno ?
SET `name` = '"..getCreatureName(cid):sub(7).."'

Já fiz, basta substituir no script, @jNo.

Caso os códigos do membro não funcionem, avise que eu refaço.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Já fiz, basta substituir no script, @jNo.

Caso os códigos do membro não funcionem, avise que eu refaço.

 

Ainda continua o (VIP) :(

?

Editado por jNo (veja o histórico de edições)

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

Tente esse aqui...
Vá em creaturescript/script e crie um arquivo chamado vipFim.lua e coloque o codigo abaixo

function onLogin(cid)
if getPlayerStorageValue(cid, 85258) <= 0 and string.find(tostring(getCreatureName(cid)),"(VIP)") then
doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos para mudança de nome.")     -- Mensagem sobre o kick
db.executeQuery("UPDATE `players` SET `name` = '"..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
addEvent(name, 5*1000, cid)  
end
return TRUE
end
function name(cid) 
if isPlayer(cid) then    
db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") 
doRemoveCreature(cid) 
end 
end

e em creature.xml coloque

<event type="login" name="vipFim" event="script" value="vipFim.lua"/>

 

feito isso, abra o login.lua e coloque o seguinte register.

registerCreatureEvent(cid, "vipFim")

Teste e veja o que deu.

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo