Ir para conteúdo

Featured Replies

Postado

Galera, to usando esse script pra adicionar vip por item e mudar o nick pra [VIP]. Da certo, mas quando o player reloga pra trocar o nome, a vip acaba, ele desloga e sai o [VIP] do nome.

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}

local days = 30 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 29000)
local timenow = os.time()
	if getPlayerStorageValue(cid, 13778) - os.time() <= 0 then
	time = timenow + daysvalue
		else
		time = storageplayer + daysvalue
	end
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
			setPlayerStorageValue(cid, 13778, time)
			local quantity = math.floor((getPlayerStorageValue(cid, 13778) - timenow)/(24 * 60 * 60))
			doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
				if (config.removeOnUse == "yes") then
				doRemoveItem(item.uid, 1)
				db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
				doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos para mudança de nome.")
				doPlayerAddAddons(cid, 1)
				addEvent(doRemoveCreature, 5*1000, cid, true)
				end
			return TRUE
			end
function onLogin(cid)

local temple = { x =156, y = 112, z = 7}

if vip.hasVip(cid) == true then
if getPlayerStorageValue(cid,29000) ~= 1 then
setPlayerStorageValue(cid,29000,1)
end
else
if getPlayerStorageValue(cid,29000) == 1 then
doTeleportThing(cid, temple)
doPlayerSendTextMessage(cid, 22, "Sua vip acabou!")
db.executeQuery("UPDATE `accounts` SET `vip_time` = 0 WHERE `id` = ".. getAccountIdByName(getPlayerName(cid)) ..";")
setPlayerPromotionLevel(cid, 1)
setPlayerStorageValue(cid, 29000, 0)
end
end
return true
end


function onLogin(cid)
local name = string.gsub(""..getCreatureName(cid).."", ".VIP. ", "")
if getPlayerStorageValue(cid, 29000) <= 0 then
if getCreatureName(cid) ~= name then
db.executeQuery("UPDATE `players` SET `name` = '"..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")
addEvent(doRemoveCreature, 2*1000, cid, true)
end
end
return true
end

 

Queria adicionar também uma nova vocação quando o player usar o item, mas quero que seja removida quando a vip acabar.

  • Respostas 8
  • Visualizações 547
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Seu script de addvip está botando uma storage diferente. Isso irá corrigir:   function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover qua

  • action function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 30 -- dias que serão adicionado

Postado

Seu script de addvip está botando uma storage diferente.
Isso irá corrigir:
 

function onUse(cid, item, fromPosition, itemEx, toPosition)
	
	local config={
		removeOnUse = "yes" -- remover quando usar ("yes" or "no")
	}
	
	local days = 30 -- dias que serão adicionados
	local daysvalue = days * 24 * 60 * 60
	local storageplayer = getPlayerStorageValue(cid, 29000)
	local timenow = os.time()
	if getPlayerStorageValue(cid, 29000) - os.time() <= 0 then
		time = timenow + daysvalue
	else
		time = storageplayer + daysvalue
	end
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
	setPlayerStorageValue(cid, 29000, time)
	local quantity = math.floor((getPlayerStorageValue(cid, 29000) - timenow)/(24 * 60 * 60))
	doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
	if (config.removeOnUse == "yes") then
		doRemoveItem(item.uid, 1)
		db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
		doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos para mudança de nome.")
		doPlayerAddAddons(cid, 1)
		addEvent(doRemoveCreature, 5*1000, cid, true)
	end
	return TRUE
end

Sobre a promotion, vc já tem ela configurada no vocations.xml?
Se tiver, poste o ID das vocations que eu faço pra vc.

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

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Postado
  • Autor

Obrigado brother, eu percebi isso ontem, só a promotion que não fiz ainda!
São essas aqui:

 

<?xml version="1.0" encoding="UTF-8"?>
<vocations>
	<vocation id="0" name="None" description="none" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="0">
		<formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/> 
		<skill id="0" multiplier="1.5"/>
		<skill id="1" multiplier="2.0"/>
		<skill id="2" multiplier="2.0"/>
		<skill id="3" multiplier="2.0"/>
		<skill id="4" multiplier="2.0"/>
		<skill id="5" multiplier="1.5"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="1" name="Sorcerer" description="a sorcerer" gaincap="1" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="250" gainmanaticks="2" gainmanaamount="300" manamultiplier="1.1" attackspeed="580" soulmax="100" gainsoulticks="120" fromvoc="1">
		<formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/> 
		<skill id="0" multiplier="1.5"/>
		<skill id="1" multiplier="2.0"/>
		<skill id="2" multiplier="2.0"/>
		<skill id="3" multiplier="2.0"/>
		<skill id="4" multiplier="2.0"/>
		<skill id="5" multiplier="1.5"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="2" name="Druid" description="a druid" gaincap="1" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="250" gainmanaticks="2" gainmanaamount="300" manamultiplier="1.1" attackspeed="580" soulmax="100" gainsoulticks="120" fromvoc="2">
		<formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
		<skill id="0" multiplier="1.5"/>
		<skill id="1" multiplier="1.8"/>
		<skill id="2" multiplier="1.8"/>
		<skill id="3" multiplier="1.8"/>
		<skill id="4" multiplier="1.8"/>
		<skill id="5" multiplier="1.5"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="3" name="Paladin" description="a paladin" gaincap="1" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="250" gainmanaticks="2" gainmanaamount="250" manamultiplier="1.6" attackspeed="550" soulmax="100" gainsoulticks="120" fromvoc="3">
		<formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
		<skill id="0" multiplier="1.2"/>
		<skill id="1" multiplier="1.2"/>
		<skill id="2" multiplier="1.2"/>
		<skill id="3" multiplier="1.2"/>
		<skill id="4" multiplier="1.1"/>
		<skill id="5" multiplier="1.1"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="4" name="Knight" description="a knight" gaincap="1" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="250" gainmanaticks="2" gainmanaamount="250" manamultiplier="4.0" attackspeed="520" soulmax="100" gainsoulticks="120" fromvoc="4">
		<formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
		<skill id="0" multiplier="1.1"/>
		<skill id="1" multiplier="1.1"/>
		<skill id="2" multiplier="1.1"/>
		<skill id="3" multiplier="1.1"/>
		<skill id="4" multiplier="1.4"/>
		<skill id="5" multiplier="1.1"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="5" name="Master Sorcerer" description="a master sorcerer" gaincap="1" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="300" gainmanaticks="2" gainmanaamount="350" manamultiplier="1.1" attackspeed="500" soulmax="200" gainsoulticks="15" fromvoc="1">
		<formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
		<skill id="0" multiplier="1.5"/>
		<skill id="1" multiplier="2.0"/>
		<skill id="2" multiplier="2.0"/>
		<skill id="3" multiplier="2.0"/>
		<skill id="4" multiplier="2.0"/>
		<skill id="5" multiplier="1.5"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="6" name="Elder Druid" description="an elder druid" gaincap="1" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="300" gainmanaticks="2" gainmanaamount="350" manamultiplier="1.1" attackspeed="500" soulmax="200" gainsoulticks="15" fromvoc="2">
		<formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
		<skill id="0" multiplier="1.5"/>
		<skill id="1" multiplier="1.8"/>
		<skill id="2" multiplier="1.8"/>
		<skill id="3" multiplier="1.8"/>
		<skill id="4" multiplier="1.8"/>
		<skill id="5" multiplier="1.5"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="7" name="Royal Paladin" description="a royal paladin" gaincap="1" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="300" gainmanaticks="2" gainmanaamount="300" manamultiplier="1.6" attackspeed="480" soulmax="200" gainsoulticks="15" fromvoc="3">
		<formula meleeDamage="1.0" distDamage="1.1" defense="1.0" armor="1.0"/>
		<skill id="0" multiplier="1.2"/>
		<skill id="1" multiplier="1.2"/>
		<skill id="2" multiplier="1.2"/>
		<skill id="3" multiplier="1.2"/>
		<skill id="4" multiplier="1.1"/>
		<skill id="5" multiplier="1.1"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="8" name="Elite Knight" description="an elite knight" gaincap="1" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="300" gainmanaticks="2" gainmanaamount="300" manamultiplier="4.0" attackspeed="450" soulmax="200" gainsoulticks="15" fromvoc="4">
		<formula meleeDamage="1.2" distDamage="1.0" defense="1.4" armor="1.0"/>
		<skill id="0" multiplier="1.1"/>
		<skill id="1" multiplier="1.1"/>
		<skill id="2" multiplier="1.1"/>
		<skill id="3" multiplier="1.1"/>
		<skill id="4" multiplier="1.4"/>
		<skill id="5" multiplier="1.1"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="9" name="Illusionist Mage" description="a Illusionist Mage" gaincap="1" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="300" gainmanaticks="2" gainmanaamount="400" manamultiplier="1.1" attackspeed="300" soulmax="200" gainsoulticks="15" fromvoc="5">
		<formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
		<skill id="0" multiplier="1.5"/>
		<skill id="1" multiplier="2.0"/>
		<skill id="2" multiplier="2.0"/>
		<skill id="3" multiplier="2.0"/>
		<skill id="4" multiplier="2.0"/>
		<skill id="5" multiplier="1.5"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="10" name="Elemental Master" description="a Elemental Master" gaincap="1" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="300" gainmanaticks="2" gainmanaamount="400" manamultiplier="1.1" attackspeed="300" soulmax="200" gainsoulticks="15" fromvoc="6">
		<formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
		<skill id="0" multiplier="1.5"/>
		<skill id="1" multiplier="1.8"/>
		<skill id="2" multiplier="1.8"/>
		<skill id="3" multiplier="1.8"/>
		<skill id="4" multiplier="1.8"/>
		<skill id="5" multiplier="1.5"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="11" name="Sniper" description="a Sniper" gaincap="1" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="300" gainmanaticks="2" gainmanaamount="300" manamultiplier="1.6" attackspeed="300" soulmax="200" gainsoulticks="15" fromvoc="7">
		<formula meleeDamage="1.0" distDamage="1.2" defense="1.0" armor="1.0"/>
		<skill id="0" multiplier="1.2"/>
		<skill id="1" multiplier="1.2"/>
		<skill id="2" multiplier="1.2"/>
		<skill id="3" multiplier="1.2"/>
		<skill id="4" multiplier="1.1"/>
		<skill id="5" multiplier="1.1"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
	<vocation id="12" name="Blade Master" description="a Blade Master" gaincap="1" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="300" gainmanaticks="2" gainmanaamount="300" manamultiplier="4.0" attackspeed="300" soulmax="200" gainsoulticks="15" fromvoc="8">
		<formula meleeDamage="1.3" distDamage="1.0" defense="1.5" armor="1.0"/>
		<skill id="0" multiplier="1.1"/>
		<skill id="1" multiplier="1.1"/>
		<skill id="2" multiplier="1.1"/>
		<skill id="3" multiplier="1.1"/>
		<skill id="4" multiplier="1.4"/>
		<skill id="5" multiplier="1.1"/>
		<skill id="6" multiplier="1.1"/>
	</vocation>
</vocations>

 

Postado

action

function onUse(cid, item, fromPosition, itemEx, toPosition)
	
	local config={
		removeOnUse = "yes" -- remover quando usar ("yes" or "no")
	}
	
	local days = 30 -- dias que serão adicionados
	local daysvalue = days * 24 * 60 * 60
	local storageplayer = getPlayerStorageValue(cid, 29000)
	local timenow = os.time()
	if getPlayerStorageValue(cid, 29000) - os.time() <= 0 then
		time = timenow + daysvalue
	else
		time = storageplayer + daysvalue
	end
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
	setPlayerStorageValue(cid, 29000, time)
	local quantity = math.floor((getPlayerStorageValue(cid, 29000) - timenow)/(24 * 60 * 60))
	doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
	if (config.removeOnUse == "yes") then
		doRemoveItem(item.uid, 1)
		db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
		doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos para mudança de nome.")
		doPlayerAddAddons(cid, 1)
		local voc = getPlayerVocation(cid)
		if voc <= 4 then
			newvoc = voc + 8
		elseif voc > 4 and voc <= 8 then
			newvoc = voc + 4
		end
		doPlayerSetVocation(cid, newvoc)
		addEvent(doRemoveCreature, 5*1000, cid, true)
	end
	return TRUE
end

Creaturescript

function onLogin(cid)
	
	local temple = { x =156, y = 112, z = 7}
	
	if vip.hasVip(cid) == true then
		if getPlayerStorageValue(cid,29000) ~= 1 then
			setPlayerStorageValue(cid,29000,1)
		end
	else
		if getPlayerStorageValue(cid,29000) == 1 then
			doTeleportThing(cid, temple)
			doPlayerSendTextMessage(cid, 22, "Sua vip acabou!")
			local voc = getPlayerVocation(cid)
			if voc > 8 and voc < 13 then
				newvoc = voc - 4
				doPlayerSetVocation(cid, newvoc)
			end
			db.executeQuery("UPDATE `accounts` SET `vip_time` = 0 WHERE `id` = ".. getAccountIdByName(getPlayerName(cid)) ..";")
			setPlayerPromotionLevel(cid, 1)
			setPlayerStorageValue(cid, 29000, 0)
		end
	end
	return true
end


function onLogin(cid)
	local name = string.gsub(""..getCreatureName(cid).."", ".VIP. ", "")
	if getPlayerStorageValue(cid, 29000) <= 0 then
		if getCreatureName(cid) ~= name then
			db.executeQuery("UPDATE `players` SET `name` = '"..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")
			addEvent(doRemoveCreature, 2*1000, cid, true)
		end
	end
	return true
end

 

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo