Ir para conteúdo
  • Cadastre-se

(Resolvido)[Pedido] Bonus cast open e bloquear para x area


Ir para solução Resolvido por Yan Liima,

Posts Recomendados

Boa tarde pessoal,

Tive pesquisando sobre colocar bonus de exp e não achei para OTX 8.60 0.4

Por acaso alguem poderia me ajudar a colocar esse sistema?

Como Funciona?

O player liga o cast sem senha e ganha +5% de experiencia. 

Obs: O Player não ganha exp bonus se estiver cast aberto com senha;

E outra coisa queria saber como faz para não deixar o player abrir o cast em treiners.

Aqui está o cast que utilizo está em Mods

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Mod Cast" version="1.0" author="Martyx" contact="[email protected]" enabled="yes">
	<event type="logout" name="cast-log-out" event="script"><![CDATA[
		function onLogout(cid, forceLogout)
			db.executeQuery("UPDATE `players` SET `broadcasting` = 0, `viewers` = 0 WHERE `id` = " .. getPlayerGUID(cid) .. " LIMIT 1")
			return true
		end
	]]></event>
	<globalevent name="viewers" interval="10000" event="script"><![CDATA[
		function onThink(interval)
			local players = getPlayersOnline()
			for _, pid in ipairs(players) do
				local data = getPlayerSpectators(pid)
				if(data.broadcast) then
					db.executeQuery("UPDATE `players` set `viewers` = " .. table.maxn(data.names) .. " where `id` = " .. getPlayerGUID(pid) .. ";")
				end
			end

			return true
		end
	]]></globalevent>
	<talkaction words="/cast;!cast" event="script"><![CDATA[
		function onSay(cid, words, param, channelId)
			local t, data = string.explode(param, " ", 1), getPlayerSpectators(cid)
			if(isInArray({'off', 'no', 'disable'}, t[1])) then
				data.mutes = {}
				data.broadcast = false
				doPlayerSetSpectators(cid, data)

				db.executeQuery("UPDATE `players` SET `broadcasting` = 0, `viewers` = 0 WHERE `id` = " .. getPlayerGUID(cid))
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have disabled your cast stream.")
			elseif(isInArray({'on', 'yes', 'enable'}, t[1])) then
				data.broadcast = true
				doPlayerSetSpectators(cid, data)

				db.executeQuery("UPDATE `players` SET `broadcasting` = 1 WHERE `id` = " .. getPlayerGUID(cid))
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have enabled your cast stream.")
			elseif(isInArray({'show', 'count', 'see'}, t[1])) then
				if(data.broadcast) then
					local count = table.maxn(data.names)
					if(count > 0) then
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are currently watched by " .. count .. " people.")
						local str = ""
						for _, name in ipairs(data.names) do
							str = str .. (str:len() > 0 and ", " or "") .. name
						end

						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str .. ".")
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "None is watching your stream right now.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'kick', 'remove'}, t[1])) then
				if(data.broadcast) then
					if(t[2]) then
						if(t[2] ~= "all") then
							local found = false
							for _, name in ipairs(data.names) do
								if(t[2]:lower() == name:lower()) then
									found = true
									break
								end
							end

							if(found) then
								table.insert(data.kick, t[2])
								doPlayerSetSpectators(cid, data)
								doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been kicked.")
							else
								doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
							end
						else
							data.kick = data.names
							doPlayerSetSpectators(cid, data)
						end
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'ban', 'block'}, t[1])) then
				if(data.broadcast) then
					if(t[2]) then
						local found = false
						for _, name in ipairs(data.names) do
							if(t[2]:lower() == name:lower()) then
								found = true
								break
							end
						end

						if(found) then
							table.insert(data.bans, t[2])
							doPlayerSetSpectators(cid, data)
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been banned.")
						else
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
						end
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'unban', 'unblock'}, t[1])) then
				if(data.broadcast) then
					if(t[2]) then
						local found, i = 0, 1
						for _, name in ipairs(data.bans) do
							if(t[2]:lower() == name:lower()) then
								found = i
								break
							end

							i = i + 1
						end

						if(found > 0) then
							table.remove(data.bans, found)
							doPlayerSetSpectators(cid, data)
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been unbanned.")
						else
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
						end
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'bans', 'banlist'}, t[1])) then
				if(table.maxn(data.bans)) then
					local str = ""
					for _, name in ipairs(data.bans) do
						str = str .. (str:len() > 0 and ", " or "") .. name
					end

					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Currently banned spectators: " .. str .. ".")
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your ban list is empty.")
				end
			elseif(isInArray({'mute', 'squelch'}, t[1])) then
				if(data.broadcast) then
					if(t[2]) then
						local found = false
						for _, name in ipairs(data.names) do
							if(t[2]:lower() == name:lower()) then
								found = true
								break
							end
						end

						if(found) then
							table.insert(data.mutes, t[2])
							doPlayerSetSpectators(cid, data)
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been muted.")
						else
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
						end
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'unmute', 'unsquelch'}, t[1])) then
				if(data.broadcast) then
					if(t[2]) then
						local found, i = 0, 1
						for _, name in ipairs(data.mutes) do
							if(t[2]:lower() == name:lower()) then
								found = i
								break
							end

							i = i + 1
						end

						if(found > 0) then
							table.remove(data.mutes, found)
							doPlayerSetSpectators(cid, data)
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been unmuted.")
						else
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
						end
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'mutes', 'mutelist'}, t[1])) then
				if(table.maxn(data.mutes)) then
					local str = ""
					for _, name in ipairs(data.mutes) do
						str = str .. (str:len() > 0 and ", " or "") .. name
					end

					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Currently muted spectators: " .. str .. ".")
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your mute list is empty.")
				end
			elseif(isInArray({'auth', 'protect', 'protection', 'protected'}, t[1])) then
				if(isInArray({'off', 'no', 'disable'}, t[2])) then
					data.auth = false
					doPlayerSetSpectators(cid, data)
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your chat is now unprotected, all spectators can chat without authentication.")
				elseif(isInArray({'on', 'yes', 'enable'}, t[2])) then
					data.auth = true
					doPlayerSetSpectators(cid, data)
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your chat is now protected, all spectators have to authenticate before they can talk.")
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your chat is currently " .. (data.auth and "protected" or "unprotected") .. " from guests.")
				end
			elseif(isInArray({'password', 'guard'}, t[1])) then
				if(t[2]) then
					if(isInArray({'off', 'no', 'disable'}, t[2])) then
						if(data.password:len() ~= 0) then
							db.executeQuery("UPDATE `players` SET `broadcasting` = `broadcasting` - 2 WHERE `id` = " .. getPlayerGUID(cid))
						end

						data.password = ""
						doPlayerSetSpectators(cid, data)
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have removed password for your stream.")
					else
						if(data.password:len() ~= 0) then
							db.executeQuery("UPDATE `players` SET `broadcasting` = `broadcasting` + 2 WHERE `id` = " .. getPlayerGUID(cid))
						end

						data.password = string.trim(t[2])
						doPlayerSetSpectators(cid, data)
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have set new password for your stream.")
					end
				elseif(data.password ~= "") then
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your stream is currently protected with password: " .. data.password .. ".")
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your stream is currently not protected.")
				end
			elseif(isInArray({'status', 'info'}, t[1])) then
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your stream is currently " .. (data.broadcast and "enabled" or "disabled") .. ".")
			else
				doPlayerPopupFYI(cid, "Available commands:\n\n/cast on - enables the stream\n/cast off - disables the stream\n/cast password {password} - sets a password on the stream\n/cast password off - disables the password protection\n/cast auth on - enables requirement of authentication on chat\n/cast auth off - disables requirement of authentication on chat\n/cast kick {name} - kick a spectator from your stream\n/cast ban {name} - locks spectator IP from joining your stream\n/cast unban {name} - removes banishment lock\n/cast bans - shows banished spectators list\n/cast mute {name} - mutes selected spectator from chat\n/cast unmute {name} - removes mute\n/cast mutes - shows muted spectators list\n/cast show - displays the amount and nicknames of current spectators\n/cast status - displays stream status")
			end

			return true
		end
	]]></talkaction>
</mod>

 

 

Acredito que muitas outras pessoa estão querendo esse pedido. Ajuda ai galera!

 

 

VENHAM JOGAR O MELHOR BAIAK JÁ CRIADO DE 2022!!

 

CRIE SUA CONTA AGORA MESMO!

 

www.baiakudo.com

Link para o post
Compartilhar em outros sites
  • Solução

@DeathRocks esse é um pedido que a galera costuma ignorar. As vezes por ser chato de fazer, mas não deixa de ser interessante... Apesar do que muitos pensa, isso é algo facil de se fazer, e pra não dizer que ninguém te ajudou, irei tentar ajuda-lo, pois to de bobeira mesmo ksksks. Vamos lá...

 

Aqui está o seu novo mods:

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Mod Cast" version="1.0" author="Martyx" contact="[email protected]" enabled="yes">
	<event type="logout" name="cast-log-out" event="script"><![CDATA[
		function onLogout(cid, forceLogout)
			db.executeQuery("UPDATE `players` SET `broadcasting` = 0, `viewers` = 0 WHERE `id` = " .. getPlayerGUID(cid) .. " LIMIT 1")
			return true
		end
	]]></event>
	<globalevent name="viewers" interval="10000" event="script"><![CDATA[
		function onThink(interval)
			local players = getPlayersOnline()
			for _, pid in ipairs(players) do
				local data = getPlayerSpectators(pid)
				if(data.broadcast) then
					db.executeQuery("UPDATE `players` set `viewers` = " .. table.maxn(data.names) .. " where `id` = " .. getPlayerGUID(pid) .. ";")
				end
			end

			return true
		end
	]]></globalevent>
	<talkaction words="/cast;!cast" event="script"><![CDATA[
		function onSay(cid, words, param, channelId)
			local t, data = string.explode(param, " ", 1), getPlayerSpectators(cid)	    
			if(isInArray({'off', 'no', 'disable'}, t[1])) then
				data.mutes = {}
				data.broadcast = false
				doPlayerSetSpectators(cid, data)

				db.executeQuery("UPDATE `players` SET `broadcasting` = 0, `viewers` = 0 WHERE `id` = " .. getPlayerGUID(cid))
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have disabled your cast stream.")
				setPlayerStorageValue(cid, 1013120,0) -- str do EXP
				setPlayerStorageValue(cid, 1013121,0)	
			elseif(isInArray({'on', 'yes', 'enable'}, t[1])) then
			if getPlayerStorageValue(cid, 1013121) == 1 then
			return doPlayerSendCancel(cid, "Seu cast já está ligado.")
		end
		local canto1 = {x=91, y=184, z=7} -- Canto superior esquerdo da sala do trainer
         local canto2 = {x=101, y=191, z=7} -- Canto inferior direito da sala do trainer
			if isInRange(getCreaturePosition(cid), canto1, canto2) then
            return doPlayerSendTextMessage(cid, 27, "Você não pode usar o cast nessa área.")
			end
				data.broadcast = true
				doPlayerSetSpectators(cid, data)

				db.executeQuery("UPDATE `players` SET `broadcasting` = 1 WHERE `id` = " .. getPlayerGUID(cid))
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have enabled your cast stream.")
				setPlayerStorageValue(cid, 1013120,1) -- str do EXP
				setPlayerStorageValue(cid, 1013121,1) -- para evitar usar o /cast dnv e bugar.
			elseif(isInArray({'show', 'count', 'see'}, t[1])) then
				if(data.broadcast) then
					local count = table.maxn(data.names)
					if(count > 0) then
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are currently watched by " .. count .. " people.")
						local str = ""
						for _, name in ipairs(data.names) do
							str = str .. (str:len() > 0 and ", " or "") .. name
						end

						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str .. ".")
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "None is watching your stream right now.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'kick', 'remove'}, t[1])) then
				if(data.broadcast) then
					if(t[2]) then
						if(t[2] ~= "all") then
							local found = false
							for _, name in ipairs(data.names) do
								if(t[2]:lower() == name:lower()) then
									found = true
									break
								end
							end

							if(found) then
								table.insert(data.kick, t[2])
								doPlayerSetSpectators(cid, data)
								doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been kicked.")
							else
								doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
							end
						else
							data.kick = data.names
							doPlayerSetSpectators(cid, data)
						end
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'ban', 'block'}, t[1])) then
				if(data.broadcast) then
					if(t[2]) then
						local found = false
						for _, name in ipairs(data.names) do
							if(t[2]:lower() == name:lower()) then
								found = true
								break
							end
						end

						if(found) then
							table.insert(data.bans, t[2])
							doPlayerSetSpectators(cid, data)
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been banned.")
						else
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
						end
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'unban', 'unblock'}, t[1])) then
				if(data.broadcast) then
					if(t[2]) then
						local found, i = 0, 1
						for _, name in ipairs(data.bans) do
							if(t[2]:lower() == name:lower()) then
								found = i
								break
							end

							i = i + 1
						end

						if(found > 0) then
							table.remove(data.bans, found)
							doPlayerSetSpectators(cid, data)
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been unbanned.")
						else
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
						end
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'bans', 'banlist'}, t[1])) then
				if(table.maxn(data.bans)) then
					local str = ""
					for _, name in ipairs(data.bans) do
						str = str .. (str:len() > 0 and ", " or "") .. name
					end

					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Currently banned spectators: " .. str .. ".")
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your ban list is empty.")
				end
			elseif(isInArray({'mute', 'squelch'}, t[1])) then
				if(data.broadcast) then
					if(t[2]) then
						local found = false
						for _, name in ipairs(data.names) do
							if(t[2]:lower() == name:lower()) then
								found = true
								break
							end
						end

						if(found) then
							table.insert(data.mutes, t[2])
							doPlayerSetSpectators(cid, data)
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been muted.")
						else
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
						end
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'unmute', 'unsquelch'}, t[1])) then
				if(data.broadcast) then
					if(t[2]) then
						local found, i = 0, 1
						for _, name in ipairs(data.mutes) do
							if(t[2]:lower() == name:lower()) then
								found = i
								break
							end

							i = i + 1
						end

						if(found > 0) then
							table.remove(data.mutes, found)
							doPlayerSetSpectators(cid, data)
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " has been unmuted.")
						else
							doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spectator " .. t[2] .. " not found.")
						end
					else
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a name.")
					end
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are not streaming right now.")
				end
			elseif(isInArray({'mutes', 'mutelist'}, t[1])) then
				if(table.maxn(data.mutes)) then
					local str = ""
					for _, name in ipairs(data.mutes) do
						str = str .. (str:len() > 0 and ", " or "") .. name
					end

					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Currently muted spectators: " .. str .. ".")
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your mute list is empty.")
				end
			elseif(isInArray({'auth', 'protect', 'protection', 'protected'}, t[1])) then
				if(isInArray({'off', 'no', 'disable'}, t[2])) then
					data.auth = false
					doPlayerSetSpectators(cid, data)
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your chat is now unprotected, all spectators can chat without authentication.")
				elseif(isInArray({'on', 'yes', 'enable'}, t[2])) then
					data.auth = true
					doPlayerSetSpectators(cid, data)
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your chat is now protected, all spectators have to authenticate before they can talk.")
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your chat is currently " .. (data.auth and "protected" or "unprotected") .. " from guests.")
				end
			elseif(isInArray({'password', 'guard'}, t[1])) then
				if(t[2]) then
					if(isInArray({'off', 'no', 'disable'}, t[2])) then
						if(data.password:len() ~= 0) then
							db.executeQuery("UPDATE `players` SET `broadcasting` = `broadcasting` - 2 WHERE `id` = " .. getPlayerGUID(cid))
						end

						data.password = ""
						doPlayerSetSpectators(cid, data)
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have removed password for your stream.")
						setPlayerStorageValue(cid, 1013120,1)
					else
						if(data.password:len() ~= 0) then
							db.executeQuery("UPDATE `players` SET `broadcasting` = `broadcasting` + 2 WHERE `id` = " .. getPlayerGUID(cid))
						end

						data.password = string.trim(t[2])
						doPlayerSetSpectators(cid, data)
						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have set new password for your stream.")
						setPlayerStorageValue(cid, 1013120,0)
					end
				elseif(data.password ~= "") then
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your stream is currently protected with password: " .. data.password .. ".")
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your stream is currently not protected.")
				end
			elseif(isInArray({'status', 'info'}, t[1])) then
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your stream is currently " .. (data.broadcast and "enabled" or "disabled") .. ".")
			else
				doPlayerPopupFYI(cid, "Available commands:\n\n/cast on - enables the stream\n/cast off - disables the stream\n/cast password {password} - sets a password on the stream\n/cast password off - disables the password protection\n/cast auth on - enables requirement of authentication on chat\n/cast auth off - disables requirement of authentication on chat\n/cast kick {name} - kick a spectator from your stream\n/cast ban {name} - locks spectator IP from joining your stream\n/cast unban {name} - removes banishment lock\n/cast bans - shows banished spectators list\n/cast mute {name} - mutes selected spectator from chat\n/cast unmute {name} - removes mute\n/cast mutes - shows muted spectators list\n/cast show - displays the amount and nicknames of current spectators\n/cast status - displays stream status")
			end

			return true
		end
	]]></talkaction>

 

 

Em seu creaturescript crie um arquivo com qualquer nome e coles isto lá:

function onKill(cid, target)
if isPlayer(cid) and isMonster(target) then
if getPlayerStorageValue(cid, 1013120) >= 1 then
local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)
local count = ((getMonsterInfo(string.lower(getCreatureName(target))).experience*1.05*exp)/2) -- 1.05 = 5%
doPlayerAddExperience(cid, count)
addEvent(doSendAnimatedText, 500, getCreaturePosition(cid), '+'..count, math.random(50,60))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou 5% a mais de exp por estar com cast ligado.")
end
return true
end
return true
end

TAG:

<event type="kill" name="ExpCast" event="script" value="arquivo.lua"/>

Agora vá em seu login.lua e adicione isso junto com os demais:

registerCreatureEvent(cid, "ExpCast")

Ainda em login.lua procure pela mensagem de ultimo login, por padrão ele estará assim:

str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."

Logo abaixo adicione:

setPlayerStorageValue(cid, 1013120,0)
setPlayerStorageValue(cid, 1013121,0)

Separador.PNG

Prontinho xD

Não tinha como eu testar aqui, então se der algum problema me avise. Sobre o de não usar o cast em trainers eu coloquei ali para você por a posição do fromPosition e toPosition. Mas ai só evitaria de poder ativar o cast nessa área, caso o jogador já tenha ativado antes de ir para esse local, irá funcionar normal. Não consegui pensar em algo para cancelar o cast...

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

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

Te Ajudei? Rep + e ficamos Quits

166420979_logoyanliimaornight.png.33f822b8970081a5b3646e85dbfd5934.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.png.890d5a38d7bcde75543c72b624a65de1.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

Link para o post
Compartilhar em outros sites
  • 9 months later...

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo