Ir para conteúdo
  • 0

Nick Vip Para '


vinny160600

Pergunta

Galera tipo eu tenho um sistema de nick vip ex: quando coloco vip para um player ele reloga e dai aparece uma msg, dps ele reloga na conta e ta la [VIP] Fulano.

 

Mais assim, se o o nome do player for [VIP] Fulano'Sicrano Com esse ' no nome ele fica kickando o player para colocar o nick, mas ele não coloca e fica assim reloga, kicka, reloga, kicka...

 

alguem pode fazer o script adicionar o nick vip para os players com ' e o mesmo no gesior, não da pra colocar points nos nicks com esse '.

 

*UP! um erro que da:

mysql_real_query(): UPDATE players SET name = '[VIP] test'loko' WHERE id = 37 - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'loko' WHERE id = 37' at line 1 (1064)

 

Segue o script do nick:

 

 

function onLogin(cid)

if (isVip(cid) == TRUE and string.match(getCreatureName(cid), "%p%a+%p") ~= '[VIP]') or (isVip(cid) == FALSE and string.match(getCreatureName(cid), "%p%a+%p") == '[VIP]') then

doPlayerSendTextMessage(cid, 22, "Você vai ser kikado em 5 segundos para mudar seu nick, logo em seguida saia da sua conta e logue de novo!")

addEvent(doChangeStats, 5000, cid)

end

return TRUE

end

function doChangeStats(cid)

local ne = string.match(getCreatureName(cid), "%p%a+%p") == '[VIP]' and string.sub(getCreatureName(cid), 7) or "[VIP] " .. getCreatureName(cid)

local id = getPlayerGUID(cid)

if string.match(getCreatureName(cid), "%p%a+%p") == '[VIP]' then

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)/2)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)/2)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/0.5)

doCreatureAddMana(cid, getCreatureMaxMana(cid)/1)

else

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)*2)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)*2)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid)*0.5)

doCreatureAddMana(cid, getCreatureMaxMana(cid)*0.5)

end

doRemoveCreature(cid)

db.executeQuery("UPDATE players SET name = '"..ne.."' WHERE id = "..id)

end

 

 

 

REP+ PARA QUEM AJUDAR, OBRIGADO !

Editado por eliteimperiosv
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Tem um que é assim !buyvip

= change name e premium days/vip days.

 

Só que é por preço ;( se quiser por báu fala.

 

Vá em talkactions/scripts

copia qlqer arquivo/renomeia ele/ apaga tudo que tiver dentro.

 

 

 

function onSay(cid, words, param)
if(words == "!buyvip") then
local price = 5000000
if doPlayerRemoveMoney(cid, price) == TRUE then
local days = 30
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13540)
local timenow = os.time()

if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end

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

elseif(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,getPlayerStorage  Value(C.uid,13540)-C.time)
end
doSendMagicEffect(C.pos, math.random(28,30))
end
end

return TRUE
end

 

Creatureevent/scripts/

 

function onLogin(cid)

if getPlayerStorageValue(cid, 13540) - os.time() > 0 then
setPlayerStorageValue(cid, 9898, 1)
end

local pos = {x = 157, y = 50, z = 7} -- posiçao do templo.  

function Vodka(cid)
if isPlayer(cid) then	
db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";")
doRemoveCreature(cid)
end
end

if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, 13540) - os.time() < 1 or getPlayerStorageValue(cid, 13540) - os.time() == 0 then
doTeleportThing(cid, pos)  
doPlayerPopupFYI(cid, "Sua vip Account acabou.")
setPlayerStorageValue(cid, 9898, -1)
if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then	
addEvent(Vodka, 3*1000, cid)
end
end
return TRUE
end

Link para o comentário
Compartilhar em outros sites

  • 0

@Eliteimperiosv

 

Tenta esse:

 

 

function onLogin(cid)

 

if (isVip(cid) == true and string.match(getCreatureName(cid), "%p%a+%p") ~= '[VIP]') or (isVip(cid) == false and string.match(getCreatureName(cid), "%p%a+%p") == '[VIP]') then

doPlayerSendTextMessage(cid, 22, "Você vai ser kikado em 5 segundos para mudar seu nick, logo em seguida saia da sua conta e logue de novo!")

addEvent(doChangeStats, 5000, cid)

end

return true

end

 

function doChangeStats(cid)

local ne = string.match(getCreatureName(cid), "%p%a+%p") == '[VIP]' and string.sub(getCreatureName(cid), 7) or "[VIP] " .. getCreatureName(cid)

local id = getPlayerGUID(cid)

if string.match(getCreatureName(cid), "%p%a+%p") == '[VIP]' then

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)/2)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)/2)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/0.5)

doCreatureAddMana(cid, getCreatureMaxMana(cid)/1)

else

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)*2)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)*2)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid)*0.5)

doCreatureAddMana(cid, getCreatureMaxMana(cid)*0.5)

end

 

doRemoveCreature(cid)

db.executeQuery("UPDATE players SET name = '"..ne.."' WHERE id = "..id)

end

 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...