Postado Junho 12, 2018 6 anos Preciso de uma ajuda com 1 Erro que está ocorrendo no meu otserv, é no Cast System : ERRO : [1:13:32.013] [Error - GlobalEvent Interface] [1:13:32.013] function onThink(interval) [1:13:32.013] local players = getPlayersOnline() [1:13:32.013] for _, pid in ipairs(players) do [1:13:32.013] local data = getPlayerSpectators(pid) [1:13:32.013] if(data.broadcast) then [1:13:32.013] db.executeQuery("UPDATE `players` set `viewers` = " .. table.maxn(data.names) .. " where `id` = " .. getPlayerGUID(pid) .. ";") [1:13:32.013] end [1:13:32.013] end [1:13:32.013] return true [1:13:32.013] end [1:13:32.013] :onThink [1:13:32.013] Description: [1:13:32.013] [string "LuaInterface::loadBuffer"]:4: attempt to call global 'getPlayerSpectators' (a nil value) [1:13:32.013] stack traceback: [1:13:32.013] [string "LuaInterface::loadBuffer"]:4: in function <[string "LuaInterface::loadBuffer"]:1> [1:13:32.013] [Error - GlobalEvents::think] Couldn't execute event: viewers MOD CastSystem : <?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="/live" 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 live 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 live 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 doShowTextDialog(cid, 1950, "Available commands:\n\n/live on - enables the stream\n/live off - disables the stream\n/live password {password} - sets a password on the stream\n/live password off - disables the password protection\n/live auth on - enables requirement of authentication on chat\n/live auth off - disables requirement of authentication on chat\n/live kick {name} - kick a spectator from your stream\n/live ban {name} - locks spectator IP from joining your stream\n/live unban {name} - removes banishment lock\n/live bans - shows banished spectators list\n/live mute {name} - mutes selected spectator from chat\n/live unmute {name} - removes mute\n/live mutes - shows muted spectators list\n/live show - displays the amount and nicknames of current spectators\n/live status - displays stream status") end return true end ]]></talkaction> </mod> Editado Junho 12, 2018 6 anos por tiroleivi (veja o histórico de edições)
Postado Junho 12, 2018 6 anos 3 minutos atrás, tiroleivi disse: Preciso de uma ajuda com 1 Erro que está ocorrendo no meu otserv, é no Cast System : ERRO : Ocultar conteúdo [1:13:32.013] [Error - GlobalEvent Interface] [1:13:32.013] function onThink(interval) [1:13:32.013] local players = getPlayersOnline() [1:13:32.013] for _, pid in ipairs(players) do [1:13:32.013] local data = getPlayerSpectators(pid) [1:13:32.013] if(data.broadcast) then [1:13:32.013] db.executeQuery("UPDATE `players` set `viewers` = " .. table.maxn(data.names) .. " where `id` = " .. getPlayerGUID(pid) .. ";") [1:13:32.013] end [1:13:32.013] end [1:13:32.013] return true [1:13:32.013] end [1:13:32.013] :onThink [1:13:32.013] Description: [1:13:32.013] [string "LuaInterface::loadBuffer"]:4: attempt to call global 'getPlayerSpectators' (a nil value) [1:13:32.013] stack traceback: [1:13:32.013] [string "LuaInterface::loadBuffer"]:4: in function <[string "LuaInterface::loadBuffer"]:1> [1:13:32.013] [Error - GlobalEvents::think] Couldn't execute event: viewers MOD CastSystem : Ocultar conteúdo <?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="/live" 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 live 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 live 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 doShowTextDialog(cid, 1950, "Available commands:\n\n/live on - enables the stream\n/live off - disables the stream\n/live password {password} - sets a password on the stream\n/live password off - disables the password protection\n/live auth on - enables requirement of authentication on chat\n/live auth off - disables requirement of authentication on chat\n/live kick {name} - kick a spectator from your stream\n/live ban {name} - locks spectator IP from joining your stream\n/live unban {name} - removes banishment lock\n/live bans - shows banished spectators list\n/live mute {name} - mutes selected spectator from chat\n/live unmute {name} - removes mute\n/live mutes - shows muted spectators list\n/live show - displays the amount and nicknames of current spectators\n/live status - displays stream status") end return true end ]]></talkaction> </mod> tenta usar o meu MOD Cast <?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="/live;!live;/cast;!cast;!stream;/stream" 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_INFO_DESCR, "You are not streaming.") elseif(isInArray({'on', 'yes', 'enable'}, t[1])) then data.broadcast = true doPlayerSetSpectators(cid, data) doPlayerOpenPrivateChannel(cid) db.executeQuery("UPDATE `players` SET `broadcasting` = 1 WHERE `id` = " .. getPlayerGUID(cid)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You are now streaming.") 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_ORANGE, "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_ORANGE, str .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "None is watching your stream right now.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Spectator " .. t[2] .. " has been kicked.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Spectator " .. t[2] .. " not found.") end else data.kick = data.names doPlayerSetSpectators(cid, data) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need to type a name.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Spectator " .. t[2] .. " has been banned.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Spectator " .. t[2] .. " not found.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need to type a name.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Spectator " .. t[2] .. " has been unbanned.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Spectator " .. t[2] .. " not found.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need to type a name.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Currently banned spectators: " .. str .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Spectator " .. t[2] .. " has been muted.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Spectator " .. t[2] .. " not found.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need to type a name.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Spectator " .. t[2] .. " has been unmuted.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Spectator " .. t[2] .. " not found.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need to type a name.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Currently muted spectators: " .. str .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "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_ORANGE, "Your chat is now protected, all spectators have to authenticate before they can talk.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "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_ORANGE, "You have set new password for your stream.") end elseif(data.password ~= "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your stream is currently protected with password: " .. data.password .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your stream is currently not protected.") end elseif(isInArray({'status', 'info'}, t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Guid Cast <?xml version="1.0" encoding="UTF-8"?> <mod name="GuildCast" version="1.0" author="Mattyx14" contact="[email protected]" enabled="yes"> <!-- Guild Cast Command --> <config name="guild-cast-config"><![CDATA[ exhaust = 10 -- in seconds storage = 3001 -- storage value used to save exhaustion storageColor = 3002 -- storage value used to save previously used message color ]]></config> <talkaction words="!gc;/gc;/guild" event="script"><![CDATA[ domodlib('guild-cast-config') local config = { exhaustion = exhaust, storage = storage, storageColor = storageColor } function onSay(cid, words, param, channel) if(exhaustion.check(cid, config.storage)) then doPlayerSendCancel(cid, "You can broadcast message only one time per " .. config.exhaustion .. " seconds.") return true end if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a message to broadcast!") return true end local playerGuild = getPlayerGuildId(cid) if(playerGuild == false) then doPlayerSendCancel(cid, "Sorry, you're not in a guild."); return true end if(getPlayerGuildLevel(cid) < GUILDLEVEL_VICE) then doPlayerSendCancel(cid, "You have to be at least Vice-Leader to guildcast!") return true end local messageType = MESSAGE_STATUS_WARNING local t = string.explode(param, ";") if(not t[2]) then if(getPlayerStorageValue(cid, config.storageColor) ~= -1) then messageType = getPlayerStorageValue(cid, config.storageColor) end else if(MESSAGE_TYPES[t[1]] ~= nil) then messageType = MESSAGE_TYPES[t[1]] end param = t[2] end if(messageType < MESSAGE_FIRST or messageType > MESSAGE_LAST) then messageType = MESSAGE_STATUS_WARNING --setPlayerStorageValue(cid, MESSAGE_STATUS_WARNING, messageType) --doPlayerSendCancel(cid, "Unknown message type.") --return true end local players = getPlayersOnline() local message = "*Guild* " .. getCreatureName(cid) .. " [" .. getPlayerLevel(cid) .. "]:\n" .. param local members = 0 for i, tid in ipairs(players) do if(getPlayerGuildId(tid) == playerGuild) then doPlayerSendTextMessage(tid, messageType, message) members = members + 1 end end setPlayerStorageValue(cid, config.storageColor, messageType) exhaustion.set(cid, config.storage, config.exhaustion) doPlayerSendCancel(cid, "Message sent to your guild members. (Total: " .. members .. ")") return true end ]]></talkaction> </mod> ajude +Rep
Postado Junho 12, 2018 6 anos Autor 4 minutos atrás, mullino disse: tenta usar o meu MOD Cast <?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="/live;!live;/cast;!cast;!stream;/stream" 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_INFO_DESCR, "You are not streaming.") elseif(isInArray({'on', 'yes', 'enable'}, t[1])) then data.broadcast = true doPlayerSetSpectators(cid, data) doPlayerOpenPrivateChannel(cid) db.executeQuery("UPDATE `players` SET `broadcasting` = 1 WHERE `id` = " .. getPlayerGUID(cid)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You are now streaming.") 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_ORANGE, "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_ORANGE, str .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "None is watching your stream right now.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Spectator " .. t[2] .. " has been kicked.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Spectator " .. t[2] .. " not found.") end else data.kick = data.names doPlayerSetSpectators(cid, data) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need to type a name.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Spectator " .. t[2] .. " has been banned.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Spectator " .. t[2] .. " not found.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need to type a name.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Spectator " .. t[2] .. " has been unbanned.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Spectator " .. t[2] .. " not found.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need to type a name.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Currently banned spectators: " .. str .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Spectator " .. t[2] .. " has been muted.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Spectator " .. t[2] .. " not found.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need to type a name.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Spectator " .. t[2] .. " has been unmuted.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Spectator " .. t[2] .. " not found.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need to type a name.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "Currently muted spectators: " .. str .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "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_ORANGE, "Your chat is now protected, all spectators have to authenticate before they can talk.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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_ORANGE, "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_ORANGE, "You have set new password for your stream.") end elseif(data.password ~= "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your stream is currently protected with password: " .. data.password .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your stream is currently not protected.") end elseif(isInArray({'status', 'info'}, t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "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> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Guid Cast <?xml version="1.0" encoding="UTF-8"?> <mod name="GuildCast" version="1.0" author="Mattyx14" contact="[email protected]" enabled="yes"> <!-- Guild Cast Command --> <config name="guild-cast-config"><![CDATA[ exhaust = 10 -- in seconds storage = 3001 -- storage value used to save exhaustion storageColor = 3002 -- storage value used to save previously used message color ]]></config> <talkaction words="!gc;/gc;/guild" event="script"><![CDATA[ domodlib('guild-cast-config') local config = { exhaustion = exhaust, storage = storage, storageColor = storageColor } function onSay(cid, words, param, channel) if(exhaustion.check(cid, config.storage)) then doPlayerSendCancel(cid, "You can broadcast message only one time per " .. config.exhaustion .. " seconds.") return true end if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to type a message to broadcast!") return true end local playerGuild = getPlayerGuildId(cid) if(playerGuild == false) then doPlayerSendCancel(cid, "Sorry, you're not in a guild."); return true end if(getPlayerGuildLevel(cid) < GUILDLEVEL_VICE) then doPlayerSendCancel(cid, "You have to be at least Vice-Leader to guildcast!") return true end local messageType = MESSAGE_STATUS_WARNING local t = string.explode(param, ";") if(not t[2]) then if(getPlayerStorageValue(cid, config.storageColor) ~= -1) then messageType = getPlayerStorageValue(cid, config.storageColor) end else if(MESSAGE_TYPES[t[1]] ~= nil) then messageType = MESSAGE_TYPES[t[1]] end param = t[2] end if(messageType < MESSAGE_FIRST or messageType > MESSAGE_LAST) then messageType = MESSAGE_STATUS_WARNING --setPlayerStorageValue(cid, MESSAGE_STATUS_WARNING, messageType) --doPlayerSendCancel(cid, "Unknown message type.") --return true end local players = getPlayersOnline() local message = "*Guild* " .. getCreatureName(cid) .. " [" .. getPlayerLevel(cid) .. "]:\n" .. param local members = 0 for i, tid in ipairs(players) do if(getPlayerGuildId(tid) == playerGuild) then doPlayerSendTextMessage(tid, messageType, message) members = members + 1 end end setPlayerStorageValue(cid, config.storageColor, messageType) exhaustion.set(cid, config.storage, config.exhaustion) doPlayerSendCancel(cid, "Message sent to your guild members. (Total: " .. members .. ")") return true end ]]></talkaction> </mod> ajude +Rep tem como upa o arquivo ? copiando aqui ta dando erro UTF8
Postado Junho 12, 2018 6 anos Solução 2 minutos atrás, tiroleivi disse: tem como upa o arquivo ? copiando aqui ta dando erro UTF8 GuildCast.xmlmod_cast.xml
Postado Junho 12, 2018 6 anos Autor 5 minutos atrás, mullino disse: GuildCast.xmlmod_cast.xml seu ot é otx ?
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.