Ir para conteúdo
  • 0

Adriez

Pergunta

22:51:05.905] [Error - CreatureScript Interface]
[22:51:05.906] data/creaturescripts/scripts/deathbroadcast.lua:onDeath
[22:51:05.906] Description:
[22:51:05.906] data/creaturescripts/scripts/deathbroadcast.lua:39: bad argument #2 to 'max' (number expected, got string)
[22:51:05.906] stack traceback:
[22:51:05.906]     [C]: in function 'max'
[22:51:05.906]     data/creaturescripts/scripts/deathbroadcast.lua:39: in function <data/creaturescripts/scripts/deathbroadcast.lua:35>

 

Spoiler

local config = {
affected = 10, -- how many players (deathAssits) from table deathList should this script be executed for?
killStorageValue = 3943,
deathStorageValue = 3944,
-- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME
rewardItem = {
  use = true,
  itemid = 2152,
  minLevel = false, -- false if you don't want any level req
  minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
},
killMessage = {
  use = true,
  text = "You owned |TARGETNAME|!",
  messageClass = MESSAGE_STATUS_CONSOLE_RED
},
broadcastMessage = {
  use = true,
  minLevel = false, -- false if you don't want any level req
  minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
  text = "|KILLERNAME| [|KILLERLEVEL|] matou |TARGETNAME| [|TARGETLEVEL|]",
  messageClass = MESSAGE_STATUS_CONSOLE_BLUE
},
killerAnimation = {
  use = true,
  text = "Frag!", -- Only 9 letters! No "commands" here.
  color = 144
},
targetAnimation = {
  use = true,
  text = "Owned!", -- Only 9 letters! No "commands" here.
  color = 180
}
}
function onDeath(cid, corpse, deathList)
for i = 1, math.min(config.affected, getConfigInfo('deathAssistCount')) do
  local killer = deathList
  if(isPlayer(killer) == TRUE) then
   local targetKills = math.max(0, getPlayerStorageValue(cid, config.killStorageValue)) + 1
   local targetDeaths = math.max(0, getPlayerStorageValue(cid, config.deathStorageValue)) + 1
 
   local killerKills = math.max(0, getPlayerStorageValue(killer, config.killStorageValue)) + 1
   local killerDeaths = math.max(0, getPlayerStorageValue(killer, config.deathStorageValue)) + 1
 
   setPlayerStorageValue(killer, config.killStorageValue, targetKills)
   setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths)
   local killerLevel = getPlayerLevel(killer)
   local targetLevel = getPlayerLevel(cid)
   local levelDiff = targetLevel - killerLevel
   local values = {
    ["KILLERKILLS"]              = killerKills,
    ["KILLERDEATHS"]        = killerDeaths,
    ["KILLERNAME"]                = getCreatureName(killer),
    ["KILLERLEVEL"]              = killerLevel,
   
    ["TARGETKILLS"]              = targetKills,
    ["TARGETDEATHS"]        = targetDeaths,
    ["TARGETNAME"]                = getCreatureName(cid),
    ["TARGETLEVEL"]              = targetLevel
   }
   function formateString(str)
    return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end)))
   end
 
   if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then
    local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 50)
   end
   if(config.killMessage.use) then
    doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text))
   end
   if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then
    broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass)
   end
   if(config.killerAnimation.use) then
    doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color)
   end
   if(config.targetAnimation.use) then
    doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color)
   end
  end
end
return true
end

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

 

 



local config = {
affected = 10, -- how many players (deathAssits) from table deathList should this script be executed for?
killStorageValue = 3943,
deathStorageValue = 3944,
-- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME
rewardItem = {
  use = true,
  itemid = 2152,
  minLevel = false, -- false if you don't want any level req
  minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
},
killMessage = {
  use = true,
  text = "You owned |TARGETNAME|!",
  messageClass = MESSAGE_STATUS_CONSOLE_RED
},
broadcastMessage = {
  use = true,
  minLevel = false, -- false if you don't want any level req
  minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
  text = "|KILLERNAME| [|KILLERLEVEL|] matou |TARGETNAME| [|TARGETLEVEL|]",
  messageClass = MESSAGE_STATUS_CONSOLE_BLUE
},
killerAnimation = {
  use = true,
  text = "Frag!", -- Only 9 letters! No "commands" here.
  color = 144
},
targetAnimation = {
  use = true,
  text = "Owned!", -- Only 9 letters! No "commands" here.
  color = 180
}
}
function onDeath(cid, corpse, deathList)
for i = 1, math.min(config.affected, getConfigInfo('deathAssistCount')) do
  local killer = deathList
  if(isPlayer(killer) == TRUE) then
   local targetKills = getPlayerStorageValue(cid, config.killStorageValue) + 1
   local targetDeaths = getPlayerStorageValue(cid, config.deathStorageValue) + 1
 
   local killerKills = getPlayerStorageValue(killer, config.killStorageValue) + 1
   local killerDeaths = getPlayerStorageValue(killer, config.deathStorageValue) + 1
 
   setPlayerStorageValue(killer, config.killStorageValue, targetKills)
   setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths)
   local killerLevel = getPlayerLevel(killer)
   local targetLevel = getPlayerLevel(cid)
   local levelDiff = targetLevel - killerLevel
   local values = {
    ["KILLERKILLS"]              = killerKills,
    ["KILLERDEATHS"]        = killerDeaths,
    ["KILLERNAME"]                = getCreatureName(killer),
    ["KILLERLEVEL"]              = killerLevel,
   
    ["TARGETKILLS"]              = targetKills,
    ["TARGETDEATHS"]        = targetDeaths,
    ["TARGETNAME"]                = getCreatureName(cid),
    ["TARGETLEVEL"]              = targetLevel
   }
   function formateString(str)
    return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end)))
   end
 
   if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then
    local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 50)
   end
   if(config.killMessage.use) then
    doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text))
   end
   if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then
    broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass)
   end
   if(config.killerAnimation.use) then
    doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color)
   end
   if(config.targetAnimation.use) then
    doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color)
   end
  end
end
return true
end

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...