Ir para conteúdo
  • 0

[Talkaction] Ajuda Aki Rep+


Zmovir

Pergunta

quem poderia me ajudar nesse script ele da um erro no distro sobre 'explode' e 'insert'

 

ai segue o script

 

string.explode = function (str, sep)

local pos, t = 1, {}

if #sep == 0 or #str == 0 then

return

end

 

for s, e in function() return str:find(sep, pos) end do

table.insert(t, str:sub(pos, s - 1):trim())

pos = e + 1

end

 

table.insert(t, str:sub(pos):trim())

return t

end

 

local conditions = {}

for i = 1, 100 do

table.insert(conditions, createConditionObject(CONDITION_MUTED))

setConditionParam(conditions, CONDITION_PARAM_TICKS, i * 60 * 1000)

end

 

 

function onSay(cid, words, param)

local t = string.explode(param, ",")

local type = (par[3]) "string"

local target = getPlayerByNameWildcard(t[1])

 

if(param == '') then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o nome de um player.")

return TRUE

end

if(getPlayerGroupId(target) > 1) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode mutar membros da staff.")

return TRUE

end

if(not target) then

target = getCreatureByName(param)

if(not target) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player esta offline, ou nao existe.")

return TRUE

end

end

 

doAddCondition(target, conditions[tonumber(t[2])])

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have muted "..getCreatureName(target).." for "..t[2]..".")

doBroadcastMessage("O jogador ".. getCreatureByName .. " foi mutado por ".. getCreatureName(cid).. ". Motivo: ".. par[3] .. ".", BroadCast_Type)

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SLEEP)

return TRUE

end

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0


local v = {}
for k = 1, 100 do
table.insert(v, createConditionObject(CONDITION_MUTED))
setConditionParam(v[k], CONDITION_PARAM_TICKS, k*60*1000)
end
function onSay(cid, words, param)
local t = string.explode(param, ",")  
if param == '' then  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")  return true end  
local player = getPlayerByName(t[1])   
local time = 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
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você mutou o jogador "..t[1].." por "..time.." minutos.")
doAddCondition(player, v[tonumber(time)])
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi mutado por "..time.." minutos.") 
return true   
end 

 

flw

Link para o comentário
Compartilhar em outros sites

  • 0

Mais teria como modificar pra aparecer uma broadcast message O jogador xxx foi mutado por xxx motivo:

 

ai o comando seria assim /mute Nome,tempo,motivo

Link para o comentário
Compartilhar em outros sites

  • 0

porque você mesmo não adicionou?


local v = {}
for k = 1, 100 do
table.insert(v, createConditionObject(CONDITION_MUTED))
setConditionParam(v[k], CONDITION_PARAM_TICKS, k*60*1000)
end
function onSay(cid, words, param)
local t = string.explode(param, ",")  
if param == '' then  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")  return true end  
local player,time,motivo,pid = getPlayerByName(t[1]),t[2],t[3],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
if not motivo then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "digite nome,tempo,motivo")  return TRUE  end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você mutou o jogador "..t[1].." por "..time.." minutos.")
doAddCondition(player, v[tonumber(time)])
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi mutado por "..time.." minutos.")
doBroadcastMessage("O jogador ".. getCreatureName(player).. " foi mutado por ".. getCreatureName(cid).. ". Motivo:\n".. motivo .. ".", BroadCast_Type)
return true   
end

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

  • 0

mais nesse caso se o player relogar ou morrer vai poder voltar a falar normalmente,nao éh? nao sou mt bom em scriot mais tem como fazer com que ao ele relogar nao saia o mute?

Link para o comentário
Compartilhar em outros sites

  • 0

o comando vc usa esse:

 


local v = {}
for k = 1, 100 do
table.insert(v, createConditionObject(CONDITION_MUTED))
setConditionParam(v[k], CONDITION_PARAM_TICKS, k*60*1000)
end
function onSay(cid, words, param)
local t = string.explode(param, ",")  
if param == '' then  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")  return true end  
local player,time,pid = getPlayerByName(t[1]),t[2],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
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você mutou o jogador "..t[1].." por "..time.." minutos.")
doAddCondition(player, v[tonumber(time)])
setPlayerStorageValue(player, 90000, os.time()+time*60) 
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi mutado por "..time.." minutos.") 
return true   
end 

 

e em creaturescript/script cria um arquivo.lua e renomeie para:

 

mute_check.lua


local v = {}
for k = 1, 100000 do
table.insert(v, createConditionObject(CONDITION_MUTED))
setConditionParam(v[k], CONDITION_PARAM_TICKS, k*1000)
end
function onLogin(cid)
if getPlayerStorageValue(cid, 90000) >= os.time() then
local i =  getPlayerStorageValue(cid, 90000) - os.time() 
doAddCondition(cid, v[tonumber(i)])
end
return TRUE
end

 

em creaturescript.xml add

<event type="login" name="MutePlayer" event="script" value="mute_check.lua"/>

 

Pois é,simples assim não é?

 

se você não sabe mexer em scripts,procure aprender pelo menos o básico,pois ninguém nasceu sabendo.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...