Ir para conteúdo

Problemas Com Frags


guixap

Posts Recomendados

Hail Xtibian's

 

Meu Problema é o Seguinte os FRAGS, não sei oque está acontecendo mais os players não arrecadan Frags ao matar.

 

Eles num Ficam Black Skul, Não Ficam Red Skull, somente withe no momento e quando eles vão ver o frag list nada de frag mesmo matando mais de 100 players Gostaria de Resolver esse Problema

 

Obg

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

tente fazer isso:

 

vá em data\creaturescripts\skullcheck.lua

retire tudo de la e poe:

 

function onThink(cid, interval)

if(not isCreature(cid)) then

return

end

 

local skull, skullEnd = getCreatureSkull(cid), getPlayerSkullEnd(cid)

if(skullEnd > 0 and skull > SKULL_WHITE and os.time() > skullEnd and not getCreatureCondition(cid, CONDITION_INFIGHT)) then

doPlayerSetSkullEnd(cid, 0, skull)

end

end

 

dps vai em playerdeath.lua

retire tudo e poe:

local config = {

deathListEnabled = getBooleanFromString(getConfigInfo('deathListEnabled')),

sqlType = getConfigInfo('sqlType'),

maxDeathRecords = getConfigInfo('maxDeathRecords')

}

 

config.sqlType = config.sqlType == "sqlite" and DATABASE_ENGINE_SQLITE or DATABASE_ENGINE_MYSQL

 

function onDeath(cid, corpse, lastHitKiller, mostDamageKiller)

if(config.deathListEnabled ~= TRUE) then

return

end

 

local hitKillerName = "field item"

local damageKillerName = ""

if(lastHitKiller ~= FALSE) then

if(isPlayer(lastHitKiller) == TRUE) then

hitKillerName = getPlayerGUID(lastHitKiller)

else

hitKillerName = getCreatureName(lastHitKiller)

end

 

if(mostDamageKiller ~= FALSE and mostDamageKiller ~= lastHitKiller and getCreatureName(mostDamageKiller) ~= getCreatureName(lastHitKiller)) then

if(isPlayer(mostDamageKiller) == TRUE) then

damageKillerName = getPlayerGUID(mostDamageKiller)

else

damageKillerName = getCreatureName(mostDamageKiller)

end

end

end

 

db.executeQuery("INSERT INTO `player_deaths` (`player_id`, `time`, `level`, `killed_by`, `altkilled_by`) VALUES (" .. getPlayerGUID(cid) .. ", " .. os.time() .. ", " .. getPlayerLevel(cid) .. ", " .. db.escapeString(hitKillerName) .. ", " .. db.escapeString(damageKillerName) .. ");")

local rows = db.getResult("SELECT `player_id` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. ";")

if(rows:getID() ~= -1) then

local amount = rows:getRows(true) - config.maxDeathRecords

if(amount > 0) then

if(config.sqlType == DATABASE_ENGINE_SQLITE) then

for i = 1, amount do

db.executeQuery("DELETE FROM `player_deaths` WHERE `rowid` = (SELECT `rowid` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT 1);")

end

else

db.executeQuery("DELETE FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT " .. amount .. ";")

end

end

end

end

Link para o comentário
Compartilhar em outros sites

vou testar.. lá em talkactions tem um negocio de frags.. precisa modificar ou n?

 

 

[10/04/2010 23:33:50] Lua Script Error: [TalkAction Interface]

[10/04/2010 23:33:50] data/talkactions/scripts/frags.lua

 

[10/04/2010 23:33:50] data/lib/function.lua:432: attempt to index local 'str' (a boolean value)

[10/04/2010 23:33:50] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/frags.lua)

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

local config = {
advancedFragList = getBooleanFromString(getConfigValue("advancedFragList"))
}

function onSay(cid, words, param, channel)
local time = os.time()
local times = {today = (time - 86400), week = (time - (7 * 86400))}

local contents = {day = {}, week = {}, month = {}}
local result = db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")
if(result:getID() ~= -1) then
	repeat
		local content = {
			name = result:getDataString("name"),
			level = result:getDataInt("level"),
			date = result:getDataInt("date")
		}
		if(content.date > times.today) then
			table.insert(contents.day, content)
		elseif(content.date > times.week) then
			table.insert(contents.week, content)
		else
			table.insert(contents.month, content)
		end
	until not result:next()
	result:free()
end

local size = {
	day = table.maxn(contents.day),
	week = table.maxn(contents.week),
	month = table.maxn(contents.month)
}
if(config.advancedFragList) then
	local result = "Frags gained today: " .. size.day .. "."
	if(size.day > 0) then
		for _, content in ipairs(contents.day) do
			result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
		end

		result = result .. "\n"
	end

	result = result .. "\nFrags gained this week: " .. (size.day + size.week) .. "."
	if(size.week > 0) then
		for _, content in ipairs(contents.week) do
			result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
		end

		result = result .. "\n"
	end

	result = result .. "\nFrags gained this month: " .. (size.day + size.week + size.month) .. "."
	if(size.month > 0) then
		for _, content in ipairs(contents.month) do
			result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
		end

		result = result .. "\n"
	end

	local skullEnd = getPlayerSkullEnd(cid)
	if(skullEnd > 0) then
		result = result .. "\nYour " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)
	end

	doPlayerPopupFYI(cid, result)
else
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You currently have " .. size.day .. " frags today, " .. (size.day + size.week) .. " this week and " .. (size.day + size.week + size.month) .. " this month.")
	if(size.day > 0) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Last frag at " .. os.date("%d %B %Y %X", contents.day[1].date) .. " on level " .. contents.day[1].level .. " (" .. contents.day[1].name .. ").")
	end

	local skullEnd = getPlayerSkullEnd(cid)
	if(skullEnd > 0) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd))
	end
end

return true
end

 

 

 

po meu problema é o mesmo que o dele.. vc mata 100 nego só pega skull.. me diz oque eu devo fazer.. se tem que modificar o config.lua , sei lá uma LUZ plx

Link para o comentário
Compartilhar em outros sites

@DaniloN

 

tente usar esse:

 

frags.lua

local config = {

advancedFragList = getBooleanFromString(getConfigValue("advancedFragList"))

}

 

function onSay(cid, words, param, channel)

local time = os.time()

local times = {today = (time - 86400), week = (time - (7 * 86400))}

 

local contents = {day = {}, week = {}, month = {}}

local result = db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")

if(result:getID() ~= -1) then

repeat

local content = {

name = result:getDataString("name"),

level = result:getDataInt("level"),

date = result:getDataInt("date")

}

if(content.date > times.today) then

table.insert(contents.day, content)

elseif(content.date > times.week) then

table.insert(contents.week, content)

else

table.insert(contents.month, content)

end

until not result:next()

result:free()

end

 

local size = {

day = table.maxn(contents.day),

week = table.maxn(contents.week),

month = table.maxn(contents.month)

}

if(config.advancedFragList) then

local result = "Frags gained today: " .. size.day .. "."

if(size.day > 0) then

for _, content in ipairs(contents.day) do

result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level

end

 

result = result .. "\n"

end

 

result = result .. "\nFrags gained this week: " .. (size.day + size.week) .. "."

if(size.week > 0) then

for _, content in ipairs(contents.week) do

result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level

end

 

result = result .. "\n"

end

 

result = result .. "\nFrags gained this month: " .. (size.day + size.week + size.month) .. "."

if(size.month > 0) then

for _, content in ipairs(contents.month) do

result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level

end

 

result = result .. "\n"

end

 

local skullEnd = getPlayerSkullEnd(cid)

if(skullEnd > 0) then

result = result .. "\nYour " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)

end

 

doPlayerPopupFYI(cid, result)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You currently have " .. size.day .. " frags today, " .. (size.day + size.week) .. " this week and " .. (size.day + size.week + size.month) .. " this month.")

if(size.day > 0) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Last frag at " .. os.date("%d %B %Y %X", contents.day[1].date) .. " on level " .. contents.day[1].level .. " (" .. contents.day[1].name .. ").")

end

 

local skullEnd = getPlayerSkullEnd(cid)

if(skullEnd > 0) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd))

end

end

 

return true

end

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

Coloquei mas ta dando os seguintes erros :

 

[12/04/2010 00:09:54] Lua Script Error: [TalkAction Interface]

[12/04/2010 00:09:54] data/talkactions/scripts/frags.lua

 

[12/04/2010 00:09:54] data/lib/function.lua:432: attempt to index local 'str' (a boolean value)

[12/04/2010 00:09:54] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/frags.lua)

Link para o comentário
Compartilhar em outros sites

Cara você não precisa de scrpit algum, apenas ative a deathlist na Config.lua:

 

-- Deathlist

deathListEnabled = true

deathListRequiredTime = 1 * 60 * 1000

deathAssistCount = 19

maxDeathRecords = 5

Lembre-se de tirar a tag da Talkactions...

Link para o comentário
Compartilhar em outros sites

tenta um desses dois entao...

 

local config = {
   useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')),
   advancedFragList = getBooleanFromString(getConfigValue('advancedFragList'))
}

function onSay(cid, words, param, channel)
   if(not config.useFragHandler) then
       return false
   end

   local time = os.time()
   local times = {today = (time - 86400), week = (time - (7 * 86400))}

   local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")
   if(result:getID() ~= -1) then
       repeat
           local content = {
               name = result:getDataString("name"),
               level = result:getDataInt("level"),
               date = result:getDataInt("date")
           }
           if(content.date > times.today) then
               table.insert(contents.day, content)
           elseif(content.date > times.week) then
               table.insert(contents.week, content)
           else
               table.insert(contents.month, content)
           end
       until not result:next()
       result:free()
   end

   local size = {
       day = table.maxn(contents.day),
       week = table.maxn(contents.week),
       month = table.maxn(contents.month)
   }
   if(config.advancedFragList) then
       local result = "Frags gained today: " .. size.day .. "."
       if(size.day > 0) then
           for _, content in ipairs(contents.day) do
               result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
           end

           result = result .. "\n"
       end

       result = result .. "\nFrags gained this week: " .. (size.day + size.week) .. "."
       if(size.week > 0) then
           for _, content in ipairs(contents.week) do
               result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
           end

           result = result .. "\n"
       end

       result = result .. "\nFrags gained this month: " .. (size.day + size.week + size.month) .. "."
       if(size.month > 0) then
           for _, content in ipairs(contents.month) do
               result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
           end

           result = result .. "\n"
       end

       local skullEnd = getPlayerSkullEnd(cid)
       if(skullEnd > 0) then
           result = result .. "\nYour " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)
       end

       doPlayerPopupFYI(cid, result)
   else
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You currently have " .. size.day .. " frags today, " .. (size.day + size.week) .. " this week and " .. (size.day + size.week + size.month) .. " this month.")
       if(size.day > 0) then
           doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Last frag at " .. os.date("%d %B %Y %X", contents.day[1].date) .. " on level " .. contents.day[1].level .. " (" .. contents.day[1].name .. ").")
       end

       local skullEnd = getPlayerSkullEnd(cid)
       if(skullEnd > 0) then
           doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd))
       end
   end

   return true
end

 

 

caso o de cima não dê

tenta esse:

 

local config = {
fragTime = getConfigInfo('timeToDecreaseFrags')
}

function onSay(cid, words, param)
local amount = getPlayerSkullEnd(cid)
if(amount > 0 and config.fragTime > 0) then
local frags = math.floor((amount / config.fragTime) + 1)
local remainingTime = math.floor(amount - (config.fragTime * (frags - 1)))

local hours = math.floor(((remainingTime / 1000) / 60) / 60)
local minutes = math.floor(((remainingTime / 1000) / 60) - (hours * 60))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have " .. frags .. " unjustified frag" .. (frags > 2 and "s" or "") .. ". The amount of unjustified frags will decrease after: " .. hours .. "h and " .. minutes .. "m.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You do not have any unjustified frag.") 
end
return TRUE
end 

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

×
×
  • Criar Novo...