Jump to content
  • 0
Sign in to follow this  
Adriez

script Nome Duplicado Script Vip

Question

faal galera blz, eu to com esse script de vip ta funcionando normal mais quando o cara ganha vip ele fica com [vip] mais o nome só q se um outro player criar boneco com mesmo nick dele é possivel como arrumar isso pra tirar esse vip e deixa um efeito de uma msg subindo vip estilo global events de mapa só q no cara

 

-- Script SYtem vip 2.0 --

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

return TRUE
end

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

tenta ae:

VIP.lua

function onThink(interval, lastExecution)

local players = getPlayersOnline()
for _, pid in ipairs(getPlayersOnline()) do
	if isPlayer(pid) and getPlayerStorageValue(pid, 13540) >= 1 then
			playerpos = getPlayerPosition(pid)
			doSendAnimatedText(playerpos, "[VIP]", 180)
		end
	end
return true
end

tag em globalevents:

<globalevent name="VIP" interval="2000" script="VIP.lua" />

o time 2000 = 2 segundos (se for tfs 0.4) caso seja 0.3.6 eu acho que tem que ser 2.

 

se ajudei rep+ pra fecharem o tópico.

Edited by Janmix

Share this post


Link to post
Share on other sites
  • 0

mais tem q editar meu script lá pra ele não pegar o [Vip] no nome edita lá tbm, quero q retirar o [vip] e fica so o frase global events subindo no boneco

tenta ae:

VIP.lua

function onThink(interval, lastExecution)

local players = getPlayersOnline()
for _, pid in ipairs(getPlayersOnline()) do
	if isPlayer(pid) and getPlayerStorageValue(pid, 13540) >= 1 then
			playerpos = getPlayerPosition(pid)
			doSendAnimatedText(playerpos, "[VIP]", 180)
		end
	end
return true
end

tag em globalevents:

<globalevent name="VIP" interval="2000" script="VIP.lua" />

o time 2000 = 2 segundos (se for tfs 0.4) caso seja 0.3.6 eu acho que tem que ser 2.

 

se ajudei rep+ pra fecharem o tópico.

 

Share this post


Link to post
Share on other sites
  • 0

mais tem q editar meu script lá pra ele não pegar o [Vip] no nome edita lá tbm, quero q retirar o [vip] e fica so o frase global events subindo no boneco

 

 

mas o script funcinou? se funcionou vou ver se arrumo o seu script lá.

Script VIP:

-- Script SYtem vip 2.0 --

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 isPlayer(cid) 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)
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 isPlayer 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)
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

script globalevents:

function onThink(interval, lastExecution)

local players = getPlayersOnline()
for _, pid in ipairs(getPlayersOnline()) do

	local days = 30
	local daysvalue = days * 24 * 60 * 60
	local storageplayer = getPlayerStorageValue(pid, 13540)
	local timenow = os.time()

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

	if isPlayer(pid) and getPlayerStorageValue(pid, 13540) >= timenow then
		playerpos = getPlayerPosition(pid)
		doSendAnimatedText(playerpos, "[VIP]", 180)
	end
end
return true
end

testei aqui, funcionou certinho, tenta ai e me dá uma resposta se deu certo ou não.

caso der certo rep+ pra fecharem o tópico.

Share this post


Link to post
Share on other sites
  • 0

agora como faz pra fazer um check vip de storagem baseado no meu vip system ai acabar o vip o cara ser teleportado pro templo ??

Share this post


Link to post
Share on other sites
  • 0

agora como faz pra fazer um check vip de storagem baseado no meu vip system ai acabar o vip o cara ser teleportado pro templo ??

vou dormir agora, quando acordar eu faço pra você, ok?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By Th3g1m3s
      Versão do Servidor: TFS - 0.4 Tipo de Script: creaturescript Código: Please login or register to see this spoiler.
      Player loga e logo em seguida desloga

      Please login or register to see this attachment.
      Please login or register to see this attachment.

      Please login or register to see this attachment.
    • By mixtrop10
      Alguém me ajuda pelo amor de Deus 
      É o executável do pokemon master x 
      Vou explicar 
      Você tá lá jogando de boa 
      E do nada o jogo crasha e aparece isso

      Please login or register to see this attachment.
    • By Duuhzinhow
      Eae galerinha do xtibia, vim aqui hoje para ensinar uma coisa simples, mas que muitos nao sabem, e queriam aprender de uma forma bem facil. Vou ensinar á criar spells básicas de damage, de area, e alvo unico... Primeiro, irei ensinar uma de alvo unico.
       
      Vá em data/spells/scripts copie um arquivo .lua e renomeie para o que desejar:
       
      Please login or register to see this spoiler.
    • By jenison06
      Base: PokeStorm
      Bom dia
      Queria um Sistema de Usar Potion na Pokeball ou na Portrait se possivel.
       
      Aqui esta meu Potion.lua
      local potions = { [8783] = {baseHeal = 1800, healTimes = 10, msgColor = 175}, --Full Potion [2112] = {baseHeal = 950, healTimes = 8, msgColor = 181}, --Hyper Potion [2113] = {baseHeal = 600, healTimes = 7, msgColor = 23}, --Ultra Potion [2115] = {baseHeal = 350, healTimes = 6, msgColor = 30}, --Great Potion [2114] = {baseHeal = 200, healTimes = 5, msgColor = 177}, --Small Potion [9270] = {baseHeal = 225, healTimes = 5, msgColor = 177}, --Starter's Small Potion } local texts = { [PORTUGUESE] = {"Use isso em você mesmo ou em seu pokémon.", "Você já está se curando.", "Seu pokémon já está sendo curado."}, [ENGLISH] = {"Use it in your pokemon or in yourself.", "You are already healing yourself.", "Your pokemon is already being healed."}, } local potionState = {} local function potionHeal(cid, heal, healed, maxHeal) if isCreature(cid) and healed <= maxHeal then doCreatureAddHealth(cid, heal) doSendMagicEffect(getCreaturePosition(cid), 12) addEvent(potionHeal, 1000, cid, heal, healed+1, maxHeal) else potionState[cid] = nil end end function onUse (cid,item,frompos,item2,topos) local txt = texts[getPlayerLanguage(cid)] local potion = potions[item.itemid] if not isCreature(item2.uid) or getCreatureMaster(item2.uid) ~= cid then doPlayerSendCancel(cid, txt[1]) return true end if not potionState[item2.uid] then if isPokeballIn(item2.itemid) then healQuant = potion.baseHeal*(1+getPlayerSkillLevel(cid, SKILL_FIRSTAID)*0.05) elseif isSummon(item2.uid) then healQuant = potion.baseHeal*(1+getPlayerSkillLevel(cid, SKILL_FIRSTAID)*0.05) else healQuant = potion.baseHeal*(1+getPlayerSkillLevel(cid, SKILL_FIRSTAID)*0.05/2) end potionState[item2.uid] = true doRemoveItem(item.uid, 1) doSendAnimatedText(getCreaturePosition(item2.uid), 'HEALING!', potion.msgColor) potionHeal(item2.uid, healQuant, 1, potion.healTimes) else if isPlayer(item2.uid) then doPlayerSendCancel(cid, txt[2]) else doPlayerSendCancel(cid, txt[3]) end end return true end  
    • By RIANLHP
      Versão do Servidor: TFS - 0.4 Tipo de Script: monster Código: Please login or register to see this spoiler.
      Pessoal, como adiciona RACE ao meu Wodbo, Só existe dois tipos, Blood e Energy, Queria encontrar outras, não estou conseguindo nem tirar blood dos treiners, alguém pode ajudar? 
      Encontrei solução, se tiver como fechar o tópico agradeço!
×
×
  • Create New...