Adrenaline
Waiting for God
Same problem have, after delete rep.xml server run
<?xml version="1.0" encoding="UTF-8"?>
<!-- To use this system, execute query:
ALTER TABLE `players` ADD COLUMN `rep` INT( 11 ) NOT NULL DEFAULT '0' COMMENT 'Cyber''s REPSystem © OTLand.net';
-->
<mod name="Cyber's REP System" revision="6.1" author="Cybermaster" web="otland.net" enabled="yes"
released="August2010" credits="Sync;Shawak;Chris;nsanee"><config name="repSystem"><![CDATA[
rep = {
--[[ CONFIG ]]--
interval = 3 * 60, --This is [3] hours, in minutes. Time to be online to gain [1] Opinion Point.
minLevel = 20, --From this level onwards player can use commands
pvpLevel = 30, --Minimum level for PVP Rep'ing
required = 5, --Opinion points required to repute with talkaction command
exhaustion = 60, --Seconds to wait to be able to use !rep command again
power = false, --Use RepPower Feature? OPTIONS 1:true 2:false
--[[ STORAGES ]]--
exhaust = 5045, --Exhaustion for !rep command.
lastName = 5036, --Used to store the last repped's GUID
lastKilled = 5037, --Used to store the last killed's GUID
opinion = 5038, --Used to store the opinion points
online = 5039, --Used to store online minutes
autoOpinion = function(cid)
if not isPlayer(cid) then
return true
end
doCreatureSetStorage(cid, rep.online, getCreatureStorage(cid, rep.online)+1)
if getCreatureStorage(cid, rep.online) >= rep.interval then
doCreatureSetStorage(cid, rep.online, 0)
doSendAnimatedText(getThingPos(cid), '+1', TEXTCOLOR_LIGHTBLUE)
doCreatureSetStorage(cid, rep.opinion, getCreatureStorage(cid, rep.opinion)+1)
doPlayerSendTextMessage(cid, 27, 'You have just obtained an opinion point.')
end
repEvent = addEvent(rep.autoOpinion, 60 * 1000, cid)
end,
getArticle = function(cid, uppercase)
return (getPlayerSex(cid) == 0 and (uppercase and 'Sh' or 'sh') or (uppercase and 'H' or 'h')) .. 'e'
end,
getPoints = function(cid)
local result = db.getResult('SELECT `rep` FROM `players` WHERE `id` = '.. getPlayerGUID(cid))
local data = result:getDataInt('rep')
result:free()
return data
end,
getPower = function(points)
local power = {{0,1},{300,2},{500,3},{1000,4},{1500,5},{2000,6},{5000,7}}
table.sort(power, function(a, b) return a[1] > b[1] end)
for _, t in ipairs(power) do
if math.abs(points) >= t[1] then
return t[2]
end
end
return power[1][2]
end,
getRank = function(points)
local ranks = {
{-5000, 'Power Abuser (*<<==========)'},
{-2000, 'Evil (=*<==========)'},
{-1500, 'Slayer (==*==========)'},
{-1000, 'Killer (===|=========)'},
{-500, 'Villain (====|========)'},
{-300, 'Creeping (=====|=======)'},
{0, 'Unknown (======|======)'},
{300, 'Avowed (=======|=====)'},
{500, 'Popular (========|====)'},
{1000, 'Hailed (=========|===)'},
{1500, 'Acclaimed (==========+==)'},
{2000, 'Hero (==========>+=)'},
{5000, 'Legend (==========>>+)'}
}
if points > -1 then
table.sort(ranks, function(a, b) return a[1] > b[1] end)
for _, t in ipairs(ranks) do if points >= t[1] then return t[2] end end
else
table.sort(ranks, function(a, b) return a[1] < b[1] end)
for _, t in ipairs(ranks) do if points <= t[1] then return t[2] end end
end
return ranks[1][2]
end,
set = function(cid, points)
db.executeQuery('UPDATE `players` SET `rep` = ' .. points .. ' WHERE `id` = ' .. getPlayerGUID(cid))
end,
add = function(cid, amount, color)
db.executeQuery('UPDATE `players` SET `rep` = `rep` + ' .. amount .. ' WHERE `id` = ' .. getPlayerGUID(cid))
doSendAnimatedText(getThingPos(cid), '+REP', color and color or math.random(255))
doPlayerSendCancel(cid, 'You have just been hailed and gained '.. amount ..' reputation points.')
end,
remove = function(cid, amount, color)
db.executeQuery('UPDATE `players` SET `rep` = `rep` - ' .. amount .. ' WHERE `id` = ' .. getPlayerGUID(cid))
doSendAnimatedText(getThingPos(cid), '-REP', color and color or math.random(255))
doPlayerSendCancel(cid, 'You have just been repudiated and lost '.. amount ..' reputation points.')
end,
format = function(str)
str = tostring(str):reverse()
str = str:gsub("(%d)(%d)(%d)", '%1%2%3' .. (',' or ' '), math.ceil(str:len() / 3)-1)
return str:reverse()
end,
}
]]></config>
<event type="login" name="repRegister" event="script"><![CDATA[
domodlib('repSystem')
function onLogin(cid)
repEvent = addEvent(rep.autoOpinion, 60 * 1000, cid)
if getCreatureStorage(cid, rep.opinion) == -1 then
doCreatureSetStorage(cid, rep.online, 0)
doCreatureSetStorage(cid, rep.opinion, 0)
end
registerCreatureEvent(cid, "repLook")
registerCreatureEvent(cid, "repKill")
registerCreatureEvent(cid, "repMonster")
return true
end
]]></event>
<event type="logout" name="repCancel" event="script"><![CDATA[
domodlib('repSystem')
function onLogout(cid)
stopEvent(repEvent)
return true
end
]]></event>
<event type="look" name="repLook" event="script"><![CDATA[
domodlib('repSystem')
function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) and thing.uid ~= cid then
doPlayerSetSpecialDescription(thing.uid,'\n'.. rep.getArticle(thing.uid, true)..' is ' .. rep.getRank(rep.getPoints(thing.uid)) ..'.')
return true
elseif thing.uid == cid then
local string = 'You see yourself.'
if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then
string = string..' You are '.. getPlayerGroupName(cid) ..'.'
elseif getPlayerVocation(cid) ~= 0 then
string = string..' You are '.. getPlayerVocationName(cid) ..'.'
else
string = string..' You have no vocation.'
end
string = string..' You are '.. rep.getRank(rep.getPoints(cid)) ..'.'
if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then
string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.'
end
if getPlayerGuildId(cid) > 0 then
string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid)
string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.'
end
if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then
string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].'
string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.'
end
if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then
string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].'
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)
return false
end
return true
end]]>
</event>
<event type="kill" name="repKill" event="script"><![CDATA[
domodlib('repSystem')
local t = {
[SKULL_WHITE] = 15,
[SKULL_RED] = 20,
[SKULL_BLACK] = 40,
[SKULL_NONE] = -30,
}
function onKill(cid, target, lastHit)
if isPlayer(cid) and isPlayer(target) and getPlayerIp(cid) ~= getPlayerIp(target) and getCreatureStorage(cid, rep.lastKilled) ~= getPlayerGUID(target) and not getTileInfo(getThingPos(cid)).nopvp or not getTileInfo(getThingPos(cid)).optional then
--THE KILLER
if t[getCreatureSkullType(target)] and getPlayerLevel(target) >= rep.pvpLevel then
doSendAnimatedText(getThingPos(cid), getCreatureSkullType(target) == 0 and '-REP' or '+REP', math.random(255))
doCreatureSetStorage(cid, rep.lastKilled, getPlayerGUID(target))
rep.set(cid, rep.getPoints(cid)+t[getCreatureSkullType(target)])
doPlayerSendCancel(cid, 'You '.. (getCreatureSkullType(target) == 0 and 'lose' or 'gain') ..' reputation because you killed a player.')
end
--THE VICTIM
if rep.getPoints(target) == 0 then
return true
elseif rep.getPoints(target) > 0 then
rep.remove(target, 5, TEXTCOLOR_RED)
doPlayerSendCancel(target, 'You lose reputation because you were killed by a player.')
else
rep.add(target, 5, TEXTCOLOR_LIGHTBLUE)
doPlayerSendCancel(target, 'You lose reputation because you were killed by a player.')
end
end
return true
end]]>
</event>
<event type="kill" name="repMonster" event="script"><![CDATA[
domodlib('repSystem')
local monster = { --add monsters names only in lowercase
['demon'] = 3,
['behemoth'] = 4,
['hellfire fighter'] = 5,
['orshabaal'] = 10,
}
function onKill(cid, target, lastHit)
if isPlayer(cid) and isMonster(target) and monster[getCreatureName(target):lower()] and lastHit then
rep.add(cid, monster[getCreatureName(target):lower()])
end
return true
end]]>
</event>
<talkaction log="yes" words="/hail;/fuck;/set" access="4" event="buffer">
<![CDATA[
domodlib('repSystem')
if param == '' then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,'[REP_SYSTEM] You must write a player\'s name.')
return true
end
local t = string.explode(param, ',')
local tid = getPlayerByNameWildcard(t[1])
if not isPlayer(tid) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '[REP_SYSTEM] Player ' .. param .. ' not found.')
return true
end
if not t[2] and isPlayer(tid) then
if words == '/hail' then
rep.add(tid, 5, TEXTCOLOR_TEAL)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '[REP_SYSTEM] You added +5 rep points to ' .. getPlayerName(tid) .. ', and now ' .. rep.getArticle(tid, false) .. ' has ' .. rep.getPoints(tid) .. ' points.')
return true
end
if words == '/fuck' then
rep.remove(tid, 5, TEXTCOLOR_RED)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '[REP_SYSTEM] You removed -5 rep points to ' .. getPlayerName(tid) .. ', and now ' .. rep.getArticle(tid, false) .. ' has ' .. rep.getPoints(tid) .. ' points.')
return true
end
end
if t[2] and isInArray({'/set','/hail','fuck'}, words) then
if not tonumber(t[2]) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '[REP_SYSTEM] Reputation amount is invalid.')
return true
end
end
if words == '/hail' then
rep.add(tid, t[2], TEXTCOLOR_TEAL)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '[REP_SYSTEM] You added ' .. t[2] .. ' rep points to ' .. getPlayerName(tid) .. ', and now ' .. rep.getArticle(tid, false) .. ' has ' .. rep.getPoints(tid) .. ' points.')
return true
end
if words == '/fuck' then
rep.remove(tid, t[2], TEXTCOLOR_RED)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '[REP_SYSTEM] You removed ' .. t[2] .. ' rep points to ' .. getPlayerName(tid) .. ', and now ' .. rep.getArticle(tid, false) .. ' has ' .. rep.getPoints(tid) .. ' points.')
return true
end
if t[2] and words == '/set' then
rep.set(tid, t[2])
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '[REP_SYSTEM] You have set ' .. getPlayerName(tid) .. '\'s points to ' .. rep.getPoints(tid))
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '[REP_SYSTEM] Absolute reputation amount not specified.')
return true
end
if not t[2] then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '[REP_SYSTEM] Absolute reputation amount not specified.')
return true
end
return true]]>
</talkaction>
<talkaction words="!rep" event="buffer"><![CDATA[
domodlib('repSystem')
if exhaustion.check(cid, rep.exhaust) then
doPlayerSendCancel(cid, 'You can\'t use this command yet['..exhaustion.get(cid, rep.exhaust)..'].')
return true
else
exhaustion.set(cid, rep.exhaust, rep.exhaustion)
end
if param ~= '' then
local str, value, name, result = '', '',' ', 0, nil
if isInArray({'hero','pos','1','+'}, param) then
str,value,name = '[#]-[Name]-[Points]-[Rank]\n--[Positive Reputation Highscores]--\n','rep','name'
result = db.getResult('SELECT `name`, `rep` FROM `players` WHERE `rep` > 0 AND `name` NOT LIKE "%Sample" AND `name`!= "Account Manager" AND `deleted` = 0 AND `group_id` = 1 ORDER BY `rep` DESC LIMIT 10;')
elseif isInArray({'evil','neg','2','-'}, param) then
str,value,name = '[#]-[Name]-[Points]-[Rank]\n--[Negative Reputation Highscores]--\n','rep','name'
result = db.getResult('SELECT `name`, `rep` FROM `players` WHERE `rep` < 0 AND `name` NOT LIKE "%Sample" AND `name`!= "Account Manager" AND `deleted` = 0 AND `group_id` = 1 ORDER BY `rep` ASC LIMIT 10;')
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Unknown parameter, use only +, -, 1, 2.')
return true
end
if isInArray({-1,nil,false,''},result:getID()) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'No results were found.')
return true
end
local i = 1
while true do
str = str .. '\n ' .. i .. '. ' .. result:getDataString('name') .. ' - [' .. result:getDataInt(value) .. '] - ' .. rep.getRank(result:getDataInt(value))
i = i + 1
if not(result:next()) then
break
end
end
result:free()
doPlayerPopupFYI(cid, str)
return true
elseif param == '' then
local points, action, name = rep.getPoints(cid), false, getPlayerNameByGUID(getCreatureStorage(cid, rep.lastName), false, false)
doPlayerSendTextMessage(cid, 27, 'You have '.. rep.format(points) ..' reputation points. You have ' .. getCreatureStorage(cid, rep.opinion) .. ' opinion points and you will gain one '.. (getCreatureStorage(cid, rep.opinion) > 0 and 'more ' or '') ..'in '.. rep.interval - getCreatureStorage(cid, rep.online) ..' minutes.'.. (rep.power and ' Your Rep Power is ' .. rep.getPower(points) ..'.' or '')..(name ~= nil and ' You last reputed ' .. name .. '.' or ''))
if points > 4999 then --female rep+++ queen outfit
disguise, text, action = getPlayerSex(cid) == 0 and 331 or 332, getPlayerSex(cid) == 0 and 'Queen!!' or 'King!!', true
elseif points > 1999 then --rep++ cm outfit
disguise, text, action = 73, 'Hero!!', true
elseif points > 1499 then --rep+ hero outfit
disguise, text, action = 63, 'Acclaimed!!', true
elseif points < -4999 then --rep*** devil outfit
disguise, text, action = 334, 'P.O.!', true
elseif points < -1999 then --rep** pig outfit
disguise, text, action = 306, 'Evil!!', true
elseif points < -1499 then --rep* orc outfit
disguise, text, action = 5, "Slayer!!", true
end
if action and getCreatureOutfit(cid).lookType ~= disguise then
doSetCreatureOutfit(cid, {lookType = disguise}, -1)
doSendAnimatedText(getThingPos(cid), text, math.random(255))
return true
end
end
return true]]>
</talkaction>
<talkaction words="!hail;!fuck" event="buffer"><![CDATA[
domodlib('repSystem')
if param == '' then
doPlayerSendCancel(cid, 'Command requires a player\'s name.')
return true
end
local target = getPlayerByNameWildcard(param)
if not isPlayer(target) then
doPlayerSendCancel(cid, 'That player does not exist or is offline.')
return true
end
if getPlayerLevel(cid) < rep.minLevel then
doPlayerSendCancel(cid,'You may repute from level ' .. rep.minLevel ..' onwards.')
return true
end
if getPlayerIp(cid) == getPlayerIp(target) then
doPlayerSendCancel(cid, 'You may not repute neither yourself nor anyone in your IP.')
return true
end
if getPlayerGUID(target) == getCreatureStorage(cid, rep.lastName) then
doPlayerSendCancel(cid, 'You may not repute that player two times in a row.')
return true
end
if getCreatureStorage(cid, rep.opinion) < rep.required then
doPlayerSendCancel(cid, 'You do not have enough opinion points to repute.')
return true
end
if words == '!hail' then
doCreatureSetStorage(cid, rep.lastName, getPlayerGUID(target))
doCreatureSetStorage(cid, rep.opinion, getCreatureStorage(cid, rep.opinion)-rep.required)
doPlayerSendCancel(cid, 'You have just reputed ' .. getCreatureName(target) .. '. You have ' .. getCreatureStorage(cid, rep.opinion) .. ' opinion points left.')
rep.add(target, rep.power and rep.getPower(rep.getPoints(cid)) or 5, TEXTCOLOR_LIGHTBLUE)
elseif words == '!fuck' then
doCreatureSetStorage(cid, rep.lastName, getPlayerGUID(target))
doCreatureSetStorage(cid, rep.opinion, getCreatureStorage(cid, rep.opinion)-rep.required)
doPlayerSendCancel(cid, 'You have just reputed ' .. getCreatureName(target) .. '. You have ' .. getCreatureStorage(cid, rep.opinion) .. ' opinion points left.')
rep.remove(target, rep.power and rep.getPower(rep.getPoints(cid)) or 5, TEXTCOLOR_RED)
end
return true
]]></talkaction>
</mod>
[23/08/2011 14:57:43] [Error - CreatureScript Interface]
[23/08/2011 14:57:43] buffer:onKill
[23/08/2011 14:57:43] Description:
[23/08/2011 14:57:43] [string "loadBuffer"]:10: attempt to call global 'getPVPOption' (a nil value)
[23/08/2011 14:57:43] stack traceback:
[23/08/2011 14:57:43] [string "loadBuffer"]:10: in function <[string "loadBuffer"]:9>
tfs?I'm getting this error when trying to kill ppl :
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Cyber's REP++ System" rev="7.0" tfs="0.3.7" author="Cybermaster" web="OTLand.net" enabled="no">
<functions>
rep.getPoints(cid)
->Returns the amount of a player's reputation points
rep.getData(points)
->Returns an array regarding player's rep information:
rep.getData(points,1) ->Returns rep rank
rep.getData(points,2) ->Returns id of rank
rep.getData(points,3) ->Returns rep power based on the specified reputation amount
rep.getData(points,4) ->Returns rep outfit looktype
rep.getData(points,5) ->Returns rep outfit message
rep.set(amount)
->Sets absolute reputation points to target.
rep.add(cid, amount[, color])
->Adds reputation amount to target with animated colored text.
rep.remove(cid, amount[, color])
->Subtracts reputation amount to target with animated colored text.
rep.format(n)
->Used to format rep amount with comma
</functions>
<config name="repSystem">
<![CDATA[
rep = {
--[[ MAIN CONFIG ]]--
interval = 3 * 60,
--THIS IS [3] HOURS, IN MINUTES. TIME IN MINUTES TO BE ONLINE TO GAIN [1] OPINION POINT
minLevel = 20,
--FROM THIS LEVEL ONWARDS PLAYERS CAN USE COMMANDS
pvpLevel = 30,
--MINIMUM LEVEL FOR PVP REPPING
required = 5,
--OPINION POINTS REQUIRED TO REPUTE WITH TALKACTION COMMAND
default = 5,
--DEFAULT REP POINTS ADDED/REMOVED
results = 10,
--RESULTS TO APPEAR FOR REP HIGHSCORES
exhaustion = 5 * 60,
--SECONDS TO WAIT TO BE ABLE TO USE !REP COMMAND AGAIN, DEFAULT IS 5 MINUTES
allowMultiRepByCommand = 'yes',
--ALLOW PLAYERS TO REPUTE AGAIN LAST REPUTED PLAYER? Options: 'yes' - 'no'
allowMultiRepByKill = 'no',
--ALLOW PLAYERS GAIN/LOSE REP WHEN KILLING VICTIM TWICE? Options: 'yes' - 'no'
allowRepInPvPTile = 'no',
--PLAYERS GAIN/LOSE REP WHEN KILLING/KILLED AT PVP(HARDCORE) TILES? Options: 'yes' - 'no'
usePower = 'no',
--USE REP POWER FEATURE? Options: 'yes' - 'no'
--[[ PLAYER STORAGES ]]--
points = 5044,
--STORES PLAYERS REP POINTS
exhaust = 5045,
--EXHAUSTION FOR !REP COMMAND
lastName = 5036,
--STORES LAST REPPED'S GUID
lastKilled = 5037,
--STORES LAST KILLED'S GUID, USED ONLY IF allowMultiRepByKill == 'no'
opinion = 5038,
--STORES OPINION POINTS
online = 5039,
--STORES ONLINE MINUTES
alert = {
[1] = 'You have just obtained an opinion point.',
[2] = 'You have just been hailed and gained %d reputation points.',
[3] = 'You have just been repudiated and lost %d reputation points.',
[4] = 'You %s reputation because you killed a player.',
[5] = 'You lose reputation because you were killed by a player.',
[6] = '[REP_SYSTEM] You must write a player\'s name.',
[7] = '[REP_SYSTEM] Player %s not found.',
[8] = '[REP_SYSTEM] You %s %d rep points to %s, and now %s has %d points.',
[9] = '[REP_SYSTEM] Reputation amount is invalid.',
[10] = '[REP_SYSTEM] You have set %s\'s rep points to %d',
[11] = 'You can not use this command yet[%d].',
[12] = 'Unknown parameter, use only (+|-|1|2).',
[13] = 'No results were found.',
[14] = 'Player %s not found.',
[15] = 'You may repute from level %d onwards.',
[16] = 'You may not repute neither yourself nor anyone in your IP.',
[17] = 'You are not allowed to repute same player two times in a row.',
[18] = 'You do not have enough opinion points.',
[19] = 'You have just reputed %s. You have %d opinion points left.',
},
skull = {
[SKULL_WHITE] = 15,
[SKULL_RED] = 20,
[SKULL_BLACK] = 40,
[SKULL_NONE] = -30,
},
monster = { --[monstername in lowercase] = +rep amount
['demon'] = 3,
['behemoth'] = 4,
['hellfire fighter'] = 5,
['orshabaal'] = 10,
},
doOpinion = function(cid)
if isPlayer(cid) then
doCreatureSetStorage(cid, rep.online, getCreatureStorage(cid, rep.online)+1)
if getCreatureStorage(cid, rep.online) >= rep.interval then
doCreatureSetStorage(cid, rep.online, 0)
doCreatureSetStorage(cid, rep.opinion, getCreatureStorage(cid, rep.opinion)+1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, rep.alert[1])
end
repEvent = addEvent(rep.doOpinion, 60*1000, cid)
end
end,
getArticle = function(cid, uppercase)
return (getPlayerSex(cid)==0 and (uppercase and 'Sh' or 'sh') or (uppercase and 'H' or 'h'))..'e'
end,
getPoints = function(cid)
return getCreatureStorage(cid, rep.points)
end,
getData = function(points, data)
table = { --[FROM, TO] = {RANK, ID, POWER[[, OUTFIT LOOKTYPE, OUTFIT MESSAGE]]}
[{-math.huge, -5000}] = {'Power Abuser (*<<==========)',13,7,40,'Devil!!!'},
[{-4999, -2000}] = {'Evil (=*<==========)',12,6,60,'Pig!!'},
[{-1999, -1500}] = {'Slayer (==*==========)',11,5,5,'Orc!'},
[{-1499, -1000}] = {'Killer (===|=========)',10,4},
[{-999, -500}] = {'Villain (====|========)',9,3},
[{-499, -300}] = {'Creeping (=====|=======)',8,2},
[{-299, 299}] = {'Unknown (======|======)',7,1},
[{300, 499}] = {'Avowed (=======|=====)',6,2},
[{500, 999}] = {'Popular (========|====)',5,3},
[{1000, 1499}] = {'Hailed (=========|===)',4,4},
[{1500, 1999}] = {'Acclaimed (==========+==)',3,5,266,'Famous!'},
[{2000, 4999}] = {'Hero (==========>+=)',2,6,266,'Hero!!'},
[{5000, math.huge}] = {'Legend (==========>>+)',1,7,331,'Legend!!!'},
}
for a, b in pairs(table) do
if points >= a[1] and points <= a[2] then
return b[data]
--[[
b[1] = rank
b[2] = id
b[3] = power
b[4] = looktype
b[5] = message
]]--
end
end
end,
set = function(cid, points)
doCreatureSetStorage(cid, rep.points, points)
end,
add = function(cid, amount, color)
doCreatureSetStorage(cid, getCreatureStorage(cid,rep.points)+amount, points)
doSendAnimatedText(getThingPos(cid), '+REP', color or math.random(255))
doPlayerSendCancel(cid, rep.alert[2]:format(amount))
end,
remove = function(cid, amount, color)
doCreatureSetStorage(cid, getCreatureStorage(cid,rep.points)-amount, points)
doSendAnimatedText(getThingPos(cid), '-REP', color or math.random(255))
doPlayerSendCancel(cid, rep.alert[3]:format(amount))
end
}
]]>
</config>
<event type="login" name="repRegister" event="script">
<![CDATA[
domodlib('repSystem')
function onLogin(cid)
repEvent = addEvent(rep.doOpinion, 60*1000, cid)
if getCreatureStorage(cid, rep.opinion) == EMPTY_STORAGE then
doCreatureSetStorage(cid, rep.points, 0)
doCreatureSetStorage(cid, rep.online, 0)
doCreatureSetStorage(cid, rep.opinion, 0)
end
registerCreatureEvent(cid, "repLook")
registerCreatureEvent(cid, "repKill")
registerCreatureEvent(cid, "repMonster")
return 1
end
]]>
</event>
<event type="look" name="repLook" event="script">
<![CDATA[
domodlib('repSystem')
function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) and thing.uid ~= cid then
return doPlayerSetSpecialDescription(thing.uid,'\n'.. rep.getArticle(thing.uid, 1)..' is ' .. rep.getData(rep.getPoints(thing.uid),1))
elseif thing.uid == cid then
local string = 'You see yourself.'
if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then
string = string..' You are '.. getPlayerGroupName(cid) ..'.'
elseif getPlayerVocation(cid) ~= 0 then
string = string..' You are '.. getPlayerVocationName(cid) ..'.'
else
string = string..' You have no vocation.'
end
if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then
string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.'
end
if getPlayerGuildId(cid) > 0 then
string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid)
string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.'
end
string = string..'\nYou are '.. rep.getData(rep.getPoints(cid),1) .. '.'
if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then
string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].'
string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.'
end
if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then
string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].'
end
return false, doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)
end
return 1
end
]]>
</event>
<event type="kill" name="repKill" event="script">
<![CDATA[
domodlib('repSystem')
function onKill(cid, target, damage, flags)
if not isPlayer(target) or not isInArray({1,3},flags) or getPlayerIp(cid) == getPlayerIp(target) then
return 1
end
if not getBooleanFromString(rep.allowMultiRepByKill) and getCreatureStorage(cid, rep.lastKilled) == getPlayerGUID(target) then
return 1
end
if not getBooleanFromString(rep.allowRepInPvpTile) and getTileInfo(getThingPos(cid)).hardcore then
return 1
end
--THE KILLER
if rep.skull[getCreatureSkullType(target)] and getPlayerLevel(target) >= rep.pvpLevel then
doSendAnimatedText(getThingPos(cid), getCreatureSkullType(target) == 0 and '-REP' or '+REP', math.random(255))
rep.set(cid, rep.getPoints(cid)+rep.skull[getCreatureSkullType(target)])
doPlayerSendCancel(cid, rep.alert[4]:format(getCreatureSkullType(target) == 0 and 'lose' or 'gain'))
if not getBooleanFromString(rep.allowMultiRepByKill) then
doCreatureSetStorage(cid, rep.lastKilled, getPlayerGUID(target))
end
end
--THE VICTIM
if rep.getPoints(target) == 0 then
return 1
elseif rep.getPoints(target) > 0 then
rep.remove(target, 5, COLOR_RED)
doPlayerSendCancel(target, rep.alert[5])
else
rep.add(target, 5, COLOR_LIGHTBLUE)
doPlayerSendCancel(target, rep.alert[5])
end
return 1
end
]]>
</event>
<event type="kill" name="repMonster" event="script">
<![CDATA[
domodlib('repSystem')
function onKill(cid, target, damage, flags)
if isMonster(target) and rep.monster[getCreatureName(target):lower()] and isInArray({1,3},flags) then
rep.add(cid, rep.monster[getCreatureName(target):lower()])
end
return 1
end
]]>
</event>
<talkaction log="yes" words="/hail;/fuck;/set" access="4" event="buffer">
<![CDATA[
domodlib('repSystem')
if param == '' then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,rep.alert[6])
end
local t = string.explode(param, ',')
local tid = getPlayerByNameWildcard(t[1])
if not isPlayer(tid) then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[7]:format(param))
end
if not t[2] then
if words == '/hail' then
rep.add(tid, rep.default, COLOR_TEAL)
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[8]:format('added',rep.default,getCreatureName(tid),rep.getArticle(tid),rep.getPoints(tid)))
elseif words == '/fuck' then
rep.remove(tid, rep.default, COLOR_RED)
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[8]:format('removed',rep.default,getCreatureName(tid),rep.getArticle(tid),rep.getPoints(tid)))
end
end
if not isNumeric(t[2]) then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[9])
end
if words == '/hail' then
rep.add(tid, math.abs(t[2]), COLOR_TEAL)
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[8]:format('added',math.abs(t[2]),getCreatureName(tid),rep.getArticle(tid),rep.getPoints(tid)))
elseif words == '/fuck' then
rep.remove(tid, math.abs(t[2]), COLOR_RED)
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[8]:format('removed',math.abs(t[2]),getCreatureName(tid),rep.getArticle(tid),rep.getPoints(tid)))
elseif words == '/set' then
rep.set(tid, t[2])
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[10]:format(getCreatureName(tid),rep.getPoints(tid)))
end
]]>
</talkaction>
<talkaction words="!rep" event="buffer">
<![CDATA[
domodlib('repSystem')
if exhaustion.check(cid, rep.exhaust) then
return doPlayerSendCancel(cid, rep.alert[11]:format(exhaustion.get(cid, rep.exhaust)))
end
exhaustion.set(cid, rep.exhaust, rep.exhaustion)
if param ~= '' then
local str, value, name, result = '', '',' ', 0, nil
if isInArray({'hero','pos','1','+'}, param) then
str,value,name = '[#]-[Name]-[Points]-[Rank]\n--[Positive Reputation Highscores]--\n','rep','name'
result = db.getResult('SELECT `name`, `rep` FROM `players` WHERE `rep` > 0 AND `name` NOT LIKE "%Sample" AND `name`!= "Account Manager" AND `deleted` = 0 AND `group_id` = 1 ORDER BY `rep` DESC LIMIT '.. rep.results)
elseif isInArray({'evil','neg','2','-'}, param) then
str,value,name = '[#]-[Name]-[Points]-[Rank]\n--[Negative Reputation Highscores]--\n','rep','name'
result = db.getResult('SELECT `name`, `rep` FROM `players` WHERE `rep` < 0 AND `name` NOT LIKE "%Sample" AND `name`!= "Account Manager" AND `deleted` = 0 AND `group_id` = 1 ORDER BY `rep` ASC LIMIT '.. rep.results)
else
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[12])
end
if isInArray({-1,nil,false,''},result:getID()) then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[13])
end
local i = 1
while 1 do
str = str .. '\n ' .. i .. '. ' .. result:getDataString('name') .. ' - [' .. result:getDataInt(value) .. '] - ' .. rep.getData(result:getDataInt(value),1)
i = i + 1
if not(result:next()) then
break
end
end
result:free()
return doPlayerPopupFYI(cid, str)
elseif param == '' then
local points, name = rep.getPoints(cid), getPlayerNameByGUID(getCreatureStorage(cid, rep.lastName), false, false)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'You have '.. doNumberFormat(points) ..' reputation points. You have ' .. getCreatureStorage(cid, rep.opinion) .. ' opinion points and you will gain one '.. (getCreatureStorage(cid, rep.opinion) > 0 and 'more ' or '') ..'in '.. rep.interval - getCreatureStorage(cid, rep.online) ..' minutes.'.. (getBooleanFromString(rep.usePower) and ' Your Rep Power is ' .. rep.getData(points,3) ..'.' or '')..(name ~= nil and ' You last reputed ' .. name .. '.' or ''))
if rep.getData(points,4) ~= nil and getCreatureOutfit(cid).lookType ~= rep.getData(points,4) then
doSetCreatureOutfit(cid, {lookType = rep.getData(points,4)}, -1)
doSendAnimatedText(getThingPos(cid), rep.getData(points,5), math.random(255))
end
end
return 1
]]>
</talkaction>
<talkaction words="!hail;!fuck" event="buffer">
<![CDATA[
domodlib('repSystem')
local target = getPlayerByNameWildcard(param)
if not isPlayer(target) then
return doPlayerSendCancel(cid, rep.alert[14]:format(param))
end
if getPlayerLevel(cid) < rep.minLevel then
return doPlayerSendCancel(cid, rep.alert[15]:format(rep.minLevel))
end
if getPlayerIp(cid) == getPlayerIp(target) then
return doPlayerSendCancel(cid, rep.alert[16])
end
if not getBooleanFromString(rep.allowMultiRepByCommand) and getPlayerGUID(target) == getCreatureStorage(cid, rep.lastName) then
return doPlayerSendCancel(cid, rep.alert[17])
end
if getCreatureStorage(cid, rep.opinion) < rep.required then
return doPlayerSendCancel(cid, rep.alert[18])
end
doCreatureSetStorage(cid, rep.lastName, getPlayerGUID(target))
doCreatureSetStorage(cid, rep.opinion, getCreatureStorage(cid, rep.opinion)-rep.required)
doPlayerSendCancel(cid, rep.alert[19]:format(getCreatureName(target),getCreatureStorage(cid, rep.opinion)))
if words == '!hail' then
return rep.add(target, getBooleanFromString(rep.usePower) and rep.getData(rep.getPoints(cid),3) or rep.default, COLOR_LIGHTBLUE)
elseif words == '!fuck' then
return rep.remove(target, getBooleanFromString(rep.usePower) and rep.getData(rep.getPoints(cid),3) or rep.default, COLOR_RED)
end
]]>
</talkaction>
</mod>
yes, this is the next version which now uses player storages instead of sql columns
only for tfs 0.3.7(0.4) thoughXML:<?xml version="1.0" encoding="UTF-8"?> <mod name="Cyber's REP++ System" rev="7.0" tfs="0.3.7" author="Cybermaster" web="OTLand.net" enabled="no"> <functions> rep.getPoints(cid) ->Returns the amount of a player's reputation points rep.getData(points) ->Returns an array regarding player's rep information: rep.getData(points,1) ->Returns rep rank rep.getData(points,2) ->Returns id of rank rep.getData(points,3) ->Returns rep power based on the specified reputation amount rep.getData(points,4) ->Returns rep outfit looktype rep.getData(points,5) ->Returns rep outfit message rep.set(amount) ->Sets absolute reputation points to target. rep.add(cid, amount[, color]) ->Adds reputation amount to target with animated colored text. rep.remove(cid, amount[, color]) ->Subtracts reputation amount to target with animated colored text. rep.format(n) ->Used to format rep amount with comma </functions> <config name="repSystem"> <=!=[=C=D=A=T=A=[ rep = { --[[ MAIN CONFIG ]]-- interval = 3 * 60, --THIS IS [3] HOURS, IN MINUTES. TIME IN MINUTES TO BE ONLINE TO GAIN [1] OPINION POINT minLevel = 20, --FROM THIS LEVEL ONWARDS PLAYERS CAN USE COMMANDS pvpLevel = 30, --MINIMUM LEVEL FOR PVP REPPING required = 5, --OPINION POINTS REQUIRED TO REPUTE WITH TALKACTION COMMAND default = 5, --DEFAULT REP POINTS ADDED/REMOVED results = 10, --RESULTS TO APPEAR FOR REP HIGHSCORES exhaustion = 5 * 60, --SECONDS TO WAIT TO BE ABLE TO USE !REP COMMAND AGAIN, DEFAULT IS 5 MINUTES allowMultiRepByCommand = 'yes', --ALLOW PLAYERS TO REPUTE AGAIN LAST REPUTED PLAYER? Options: 'yes' - 'no' allowMultiRepByKill = 'no', --ALLOW PLAYERS GAIN/LOSE REP WHEN KILLING VICTIM TWICE? Options: 'yes' - 'no' allowRepInPvPTile = 'no', --PLAYERS GAIN/LOSE REP WHEN KILLING/KILLED AT PVP(HARDCORE) TILES? Options: 'yes' - 'no' usePower = 'no', --USE REP POWER FEATURE? Options: 'yes' - 'no' --[[ PLAYER STORAGES ]]-- points = 5044, --STORES PLAYERS REP POINTS exhaust = 5045, --EXHAUSTION FOR !REP COMMAND lastName = 5036, --STORES LAST REPPED'S GUID lastKilled = 5037, --STORES LAST KILLED'S GUID, USED ONLY IF allowMultiRepByKill == 'no' opinion = 5038, --STORES OPINION POINTS online = 5039, --STORES ONLINE MINUTES alert = { [1] = 'You have just obtained an opinion point.', [2] = 'You have just been hailed and gained %d reputation points.', [3] = 'You have just been repudiated and lost %d reputation points.', [4] = 'You %s reputation because you killed a player.', [5] = 'You lose reputation because you were killed by a player.', [6] = '[REP_SYSTEM] You must write a player\'s name.', [7] = '[REP_SYSTEM] Player %s not found.', [8] = '[REP_SYSTEM] You %s %d rep points to %s, and now %s has %d points.', [9] = '[REP_SYSTEM] Reputation amount is invalid.', [10] = '[REP_SYSTEM] You have set %s\'s rep points to %d', [11] = 'You can not use this command yet[%d].', [12] = 'Unknown parameter, use only (+|-|1|2).', [13] = 'No results were found.', [14] = 'Player %s not found.', [15] = 'You may repute from level %d onwards.', [16] = 'You may not repute neither yourself nor anyone in your IP.', [17] = 'You are not allowed to repute same player two times in a row.', [18] = 'You do not have enough opinion points.', [19] = 'You have just reputed %s. You have %d opinion points left.', }, skull = { [SKULL_WHITE] = 15, [SKULL_RED] = 20, [SKULL_BLACK] = 40, [SKULL_NONE] = -30, }, monster = { --[monstername in lowercase] = +rep amount ['demon'] = 3, ['behemoth'] = 4, ['hellfire fighter'] = 5, ['orshabaal'] = 10, }, doOpinion = function(cid) if isPlayer(cid) then doCreatureSetStorage(cid, rep.online, getCreatureStorage(cid, rep.online)+1) if getCreatureStorage(cid, rep.online) >= rep.interval then doCreatureSetStorage(cid, rep.online, 0) doCreatureSetStorage(cid, rep.opinion, getCreatureStorage(cid, rep.opinion)+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, rep.alert[1]) end repEvent = addEvent(rep.doOpinion, 60*1000, cid) end end, getArticle = function(cid, uppercase) return (getPlayerSex(cid)==0 and (uppercase and 'Sh' or 'sh') or (uppercase and 'H' or 'h'))..'e' end, getPoints = function(cid) return getCreatureStorage(cid, rep.points) end, getData = function(points, data) table = { --[FROM, TO] = {RANK, ID, POWER[[, OUTFIT LOOKTYPE, OUTFIT MESSAGE]]} [{-math.huge, -5000}] = {'Power Abuser (*<<==========)',13,7,40,'Devil!!!'}, [{-4999, -2000}] = {'Evil (=*<==========)',12,6,60,'Pig!!'}, [{-1999, -1500}] = {'Slayer (==*==========)',11,5,5,'Orc!'}, [{-1499, -1000}] = {'Killer (===|=========)',10,4}, [{-999, -500}] = {'Villain (====|========)',9,3}, [{-499, -300}] = {'Creeping (=====|=======)',8,2}, [{-299, 299}] = {'Unknown (======|======)',7,1}, [{300, 499}] = {'Avowed (=======|=====)',6,2}, [{500, 999}] = {'Popular (========|====)',5,3}, [{1000, 1499}] = {'Hailed (=========|===)',4,4}, [{1500, 1999}] = {'Acclaimed (==========+==)',3,5,266,'Famous!'}, [{2000, 4999}] = {'Hero (==========>+=)',2,6,266,'Hero!!'}, [{5000, math.huge}] = {'Legend (==========>>+)',1,7,331,'Legend!!!'}, } for a, b in pairs(table) do if points >= a[1] and points <= a[2] then return b[data] --[[ b[1] = rank b[2] = id b[3] = power b[4] = looktype b[5] = message ]]-- end end end, set = function(cid, points) doCreatureSetStorage(cid, rep.points, points) end, add = function(cid, amount, color) doCreatureSetStorage(cid, getCreatureStorage(cid,rep.points)+amount, points) doSendAnimatedText(getThingPos(cid), '+REP', color or math.random(255)) doPlayerSendCancel(cid, rep.alert[2]:format(amount)) end, remove = function(cid, amount, color) doCreatureSetStorage(cid, getCreatureStorage(cid,rep.points)-amount, points) doSendAnimatedText(getThingPos(cid), '-REP', color or math.random(255)) doPlayerSendCancel(cid, rep.alert[3]:format(amount)) end } ]=]=> </config> <event type="login" name="repRegister" event="script"> <=!=[=C=D=A=T=A=[ domodlib('repSystem') function onLogin(cid) repEvent = addEvent(rep.doOpinion, 60*1000, cid) if getCreatureStorage(cid, rep.opinion) == EMPTY_STORAGE then doCreatureSetStorage(cid, rep.points, 0) doCreatureSetStorage(cid, rep.online, 0) doCreatureSetStorage(cid, rep.opinion, 0) end registerCreatureEvent(cid, "repLook") registerCreatureEvent(cid, "repKill") registerCreatureEvent(cid, "repMonster") return 1 end ]=]=> </event> <event type="look" name="repLook" event="script"> <=!=[=C=D=A=T=A=[ domodlib('repSystem') function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and thing.uid ~= cid then return doPlayerSetSpecialDescription(thing.uid,'\n'.. rep.getArticle(thing.uid, 1)..' is ' .. rep.getData(rep.getPoints(thing.uid),1)) elseif thing.uid == cid then local string = 'You see yourself.' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end string = string..'\nYou are '.. rep.getData(rep.getPoints(cid),1) .. '.' if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end return false, doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) end return 1 end ]=]=> </event> <event type="kill" name="repKill" event="script"> <=!=[=C=D=A=T=A=[ domodlib('repSystem') function onKill(cid, target, damage, flags) if not isPlayer(target) or not isInArray({1,3},flags) or getPlayerIp(cid) == getPlayerIp(target) then return 1 end if not getBooleanFromString(rep.allowMultiRepByKill) and getCreatureStorage(cid, rep.lastKilled) == getPlayerGUID(target) then return 1 end if not getBooleanFromString(rep.allowRepInPvpTile) and getTileInfo(getThingPos(cid)).hardcore then return 1 end --THE KILLER if rep.skull[getCreatureSkullType(target)] and getPlayerLevel(target) >= rep.pvpLevel then doSendAnimatedText(getThingPos(cid), getCreatureSkullType(target) == 0 and '-REP' or '+REP', math.random(255)) rep.set(cid, rep.getPoints(cid)+rep.skull[getCreatureSkullType(target)]) doPlayerSendCancel(cid, rep.alert[4]:format(getCreatureSkullType(target) == 0 and 'lose' or 'gain')) if not getBooleanFromString(rep.allowMultiRepByKill) then doCreatureSetStorage(cid, rep.lastKilled, getPlayerGUID(target)) end end --THE VICTIM if rep.getPoints(target) == 0 then return 1 elseif rep.getPoints(target) > 0 then rep.remove(target, 5, COLOR_RED) doPlayerSendCancel(target, rep.alert[5]) else rep.add(target, 5, COLOR_LIGHTBLUE) doPlayerSendCancel(target, rep.alert[5]) end return 1 end ]=]=> </event> <event type="kill" name="repMonster" event="script"> <=!=[=C=D=A=T=A=[ domodlib('repSystem') function onKill(cid, target, damage, flags) if isMonster(target) and rep.monster[getCreatureName(target):lower()] and isInArray({1,3},flags) then rep.add(cid, rep.monster[getCreatureName(target):lower()]) end return 1 end ]=]=> </event> <talkaction log="yes" words="/hail;/fuck;/set" access="4" event="buffer"> <=!=[=C=D=A=T=A=[ domodlib('repSystem') if param == '' then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,rep.alert[6]) end local t = string.explode(param, ',') local tid = getPlayerByNameWildcard(t[1]) if not isPlayer(tid) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[7]:format(param)) end if not t[2] then if words == '/hail' then rep.add(tid, rep.default, COLOR_TEAL) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[8]:format('added',rep.default,getCreatureName(tid),rep.getArticle(tid),rep.getPoints(tid))) elseif words == '/fuck' then rep.remove(tid, rep.default, COLOR_RED) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[8]:format('removed',rep.default,getCreatureName(tid),rep.getArticle(tid),rep.getPoints(tid))) end end if not isNumeric(t[2]) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[9]) end if words == '/hail' then rep.add(tid, math.abs(t[2]), COLOR_TEAL) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[8]:format('added',math.abs(t[2]),getCreatureName(tid),rep.getArticle(tid),rep.getPoints(tid))) elseif words == '/fuck' then rep.remove(tid, math.abs(t[2]), COLOR_RED) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[8]:format('removed',math.abs(t[2]),getCreatureName(tid),rep.getArticle(tid),rep.getPoints(tid))) elseif words == '/set' then rep.set(tid, t[2]) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[10]:format(getCreatureName(tid),rep.getPoints(tid))) end ]=]=> </talkaction> <talkaction words="!rep" event="buffer"> <=!=[=C=D=A=T=A=[ domodlib('repSystem') if exhaustion.check(cid, rep.exhaust) then return doPlayerSendCancel(cid, rep.alert[11]:format(exhaustion.get(cid, rep.exhaust))) end exhaustion.set(cid, rep.exhaust, rep.exhaustion) if param ~= '' then local str, value, name, result = '', '',' ', 0, nil if isInArray({'hero','pos','1','+'}, param) then str,value,name = '[#]-[Name]-[Points]-[Rank]\n--[Positive Reputation Highscores]--\n','rep','name' result = db.getResult('SELECT `name`, `rep` FROM `players` WHERE `rep` > 0 AND `name` NOT LIKE "%Sample" AND `name`!= "Account Manager" AND `deleted` = 0 AND `group_id` = 1 ORDER BY `rep` DESC LIMIT '.. rep.results) elseif isInArray({'evil','neg','2','-'}, param) then str,value,name = '[#]-[Name]-[Points]-[Rank]\n--[Negative Reputation Highscores]--\n','rep','name' result = db.getResult('SELECT `name`, `rep` FROM `players` WHERE `rep` < 0 AND `name` NOT LIKE "%Sample" AND `name`!= "Account Manager" AND `deleted` = 0 AND `group_id` = 1 ORDER BY `rep` ASC LIMIT '.. rep.results) else return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[12]) end if isInArray({-1,nil,false,''},result:getID()) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, rep.alert[13]) end local i = 1 while 1 do str = str .. '\n ' .. i .. '. ' .. result:getDataString('name') .. ' - [' .. result:getDataInt(value) .. '] - ' .. rep.getData(result:getDataInt(value),1) i = i + 1 if not(result:next()) then break end end result:free() return doPlayerPopupFYI(cid, str) elseif param == '' then local points, name = rep.getPoints(cid), getPlayerNameByGUID(getCreatureStorage(cid, rep.lastName), false, false) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'You have '.. doNumberFormat(points) ..' reputation points. You have ' .. getCreatureStorage(cid, rep.opinion) .. ' opinion points and you will gain one '.. (getCreatureStorage(cid, rep.opinion) > 0 and 'more ' or '') ..'in '.. rep.interval - getCreatureStorage(cid, rep.online) ..' minutes.'.. (getBooleanFromString(rep.usePower) and ' Your Rep Power is ' .. rep.getData(points,3) ..'.' or '')..(name ~= nil and ' You last reputed ' .. name .. '.' or '')) if rep.getData(points,4) ~= nil and getCreatureOutfit(cid).lookType ~= rep.getData(points,4) then doSetCreatureOutfit(cid, {lookType = rep.getData(points,4)}, -1) doSendAnimatedText(getThingPos(cid), rep.getData(points,5), math.random(255)) end end return 1 ]=]=> </talkaction> <talkaction words="!hail;!fuck" event="buffer"> <=!=[=C=D=A=T=A=[ domodlib('repSystem') local target = getPlayerByNameWildcard(param) if not isPlayer(target) then return doPlayerSendCancel(cid, rep.alert[14]:format(param)) end if getPlayerLevel(cid) < rep.minLevel then return doPlayerSendCancel(cid, rep.alert[15]:format(rep.minLevel)) end if getPlayerIp(cid) == getPlayerIp(target) then return doPlayerSendCancel(cid, rep.alert[16]) end if not getBooleanFromString(rep.allowMultiRepByCommand) and getPlayerGUID(target) == getCreatureStorage(cid, rep.lastName) then return doPlayerSendCancel(cid, rep.alert[17]) end if getCreatureStorage(cid, rep.opinion) < rep.required then return doPlayerSendCancel(cid, rep.alert[18]) end doCreatureSetStorage(cid, rep.lastName, getPlayerGUID(target)) doCreatureSetStorage(cid, rep.opinion, getCreatureStorage(cid, rep.opinion)-rep.required) doPlayerSendCancel(cid, rep.alert[19]:format(getCreatureName(target),getCreatureStorage(cid, rep.opinion))) if words == '!hail' then return rep.add(target, getBooleanFromString(rep.usePower) and rep.getData(rep.getPoints(cid),3) or rep.default, COLOR_LIGHTBLUE) elseif words == '!fuck' then return rep.remove(target, getBooleanFromString(rep.usePower) and rep.getData(rep.getPoints(cid),3) or rep.default, COLOR_RED) end ]=]=> </talkaction> </mod>
function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) and thing.uid ~= cid then
return doPlayerSetSpecialDescription(thing.uid,'\n'' 'some description...')
elseif thing.uid == cid then
local string = 'You see yourself.'
if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then
string = string..' You are '.. getPlayerGroupName(cid) ..'.'
elseif getPlayerVocation(cid) ~= 0 then
string = string..' You are '.. getPlayerVocationName(cid) ..'.'
else
string = string..' You have no vocation.'
end
if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then
string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.'
end
if getPlayerGuildId(cid) > 0 then
string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid)
string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.'
end
string = string..'\nYou are '.. rep.getData(rep.getPoints(cid),1) .. '.'
if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then
string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].'
string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.'
end
if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then
string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].'
end
return false, doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)
end
return 1
end
[24/08/2011 13:53:58] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:53:58] [Error - CreatureScript Interface]
[24/08/2011 13:53:58] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:53:58] Description:
[24/08/2011 13:53:58] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:53:58] stack traceback:
[24/08/2011 13:53:58] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:53:58] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:53:58] [Error - CreatureScript Interface]
[24/08/2011 13:53:58] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:53:58] Description:
[24/08/2011 13:53:58] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:53:58] stack traceback:
[24/08/2011 13:53:58] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:53:58] [Error - CreatureScript Interface]
[24/08/2011 13:53:58] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:53:58] Description:
[24/08/2011 13:53:58] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:53:59] stack traceback:
[24/08/2011 13:53:59] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:53:59] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:53:59] [Error - CreatureScript Interface]
[24/08/2011 13:53:59] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:53:59] Description:
[24/08/2011 13:53:59] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:53:59] stack traceback:
[24/08/2011 13:53:59] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:53:59] [Error - CreatureScript Interface]
[24/08/2011 13:53:59] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:53:59] Description:
[24/08/2011 13:53:59] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:53:59] stack traceback:
[24/08/2011 13:53:59] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:53:59] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:00] [Error - CreatureScript Interface]
[24/08/2011 13:54:00] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:00] Description:
[24/08/2011 13:54:00] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:00] stack traceback:
[24/08/2011 13:54:00] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:00] [Error - CreatureScript Interface]
[24/08/2011 13:54:00] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:00] Description:
[24/08/2011 13:54:00] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:54:00] stack traceback:
[24/08/2011 13:54:00] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:54:00] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:00] [Error - CreatureScript Interface]
[24/08/2011 13:54:00] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:01] Description:
[24/08/2011 13:54:01] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:01] stack traceback:
[24/08/2011 13:54:01] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:01] [Error - CreatureScript Interface]
[24/08/2011 13:54:01] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:01] Description:
[24/08/2011 13:54:01] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:54:01] stack traceback:
[24/08/2011 13:54:01] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:54:01] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:01] [Error - CreatureScript Interface]
[24/08/2011 13:54:01] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:01] Description:
[24/08/2011 13:54:02] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:02] stack traceback:
[24/08/2011 13:54:02] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:02] [Error - CreatureScript Interface]
[24/08/2011 13:54:02] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:02] Description:
[24/08/2011 13:54:02] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:54:02] stack traceback:
[24/08/2011 13:54:02] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:54:02] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:02] [Error - CreatureScript Interface]
[24/08/2011 13:54:02] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:02] Description:
[24/08/2011 13:54:02] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:02] stack traceback:
[24/08/2011 13:54:03] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:03] [Error - CreatureScript Interface]
[24/08/2011 13:54:03] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:03] Description:
[24/08/2011 13:54:03] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:54:03] stack traceback:
[24/08/2011 13:54:03] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:54:03] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:03] [Error - CreatureScript Interface]
[24/08/2011 13:54:03] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:03] Description:
[24/08/2011 13:54:03] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:03] stack traceback:
[24/08/2011 13:54:03] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:04] [Error - CreatureScript Interface]
[24/08/2011 13:54:04] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:04] Description:
[24/08/2011 13:54:04] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:54:04] stack traceback:
[24/08/2011 13:54:04] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:54:04] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:04] [Error - CreatureScript Interface]
[24/08/2011 13:54:04] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:04] Description:
[24/08/2011 13:54:04] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:05] stack traceback:
[24/08/2011 13:54:05] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:05] [Error - CreatureScript Interface]
[24/08/2011 13:54:05] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:05] Description:
[24/08/2011 13:54:05] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:54:05] stack traceback:
[24/08/2011 13:54:05] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:54:05] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:05] [Error - CreatureScript Interface]
[24/08/2011 13:54:05] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:05] Description:
[24/08/2011 13:54:05] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:06] stack traceback:
[24/08/2011 13:54:06] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:06] [Error - CreatureScript Interface]
[24/08/2011 13:54:06] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:06] Description:
[24/08/2011 13:54:06] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:54:06] stack traceback:
[24/08/2011 13:54:06] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:54:06] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:06] [Error - CreatureScript Interface]
[24/08/2011 13:54:06] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:06] Description:
[24/08/2011 13:54:06] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:07] stack traceback:
[24/08/2011 13:54:07] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:07] [Error - CreatureScript Interface]
[24/08/2011 13:54:07] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:07] Description:
[24/08/2011 13:54:07] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:54:07] stack traceback:
[24/08/2011 13:54:07] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:54:07] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:08] [Error - CreatureScript Interface]
[24/08/2011 13:54:08] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:08] Description:
[24/08/2011 13:54:08] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:08] stack traceback:
[24/08/2011 13:54:08] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:08] [Error - CreatureScript Interface]
[24/08/2011 13:54:08] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:08] Description:
[24/08/2011 13:54:08] data/creaturescripts/scripts/FragsOnLook.lua:13: attempt to call field 'insert' (a nil value)
[24/08/2011 13:54:08] stack traceback:
[24/08/2011 13:54:08] data/creaturescripts/scripts/FragsOnLook.lua:13: in function 'getPlayerFrags'
[24/08/2011 13:54:09] data/creaturescripts/scripts/FragsOnLook.lua:36: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:09] [Error - CreatureScript Interface]
[24/08/2011 13:54:09] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:09] Description:
[24/08/2011 13:54:09] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:09] stack traceback:
[24/08/2011 13:54:09] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:09] [Error - CreatureScript Interface]
[24/08/2011 13:54:09] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:09] Description:
[24/08/2011 13:54:09] data/creaturescripts/scripts/FragsOnLook.lua:22: attempt to call field 'maxn' (a nil value)
[24/08/2011 13:54:09] stack traceback:
[24/08/2011 13:54:09] data/creaturescripts/scripts/FragsOnLook.lua:22: in function 'getPlayerFrags'
[24/08/2011 13:54:10] data/creaturescripts/scripts/FragsOnLook.lua:39: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:10] [Error - CreatureScript Interface]
[24/08/2011 13:54:10] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:10] Description:
[24/08/2011 13:54:10] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:10] stack traceback:
[24/08/2011 13:54:10] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>
[24/08/2011 13:54:10] [Error - CreatureScript Interface]
[24/08/2011 13:54:10] data/creaturescripts/scripts/FragsOnLook.lua:onLook
[24/08/2011 13:54:10] Description:
[24/08/2011 13:54:11] data/creaturescripts/scripts/FragsOnLook.lua:22: attempt to call field 'maxn' (a nil value)
[24/08/2011 13:54:11] stack traceback:
[24/08/2011 13:54:11] data/creaturescripts/scripts/FragsOnLook.lua:22: in function 'getPlayerFrags'
[24/08/2011 13:54:11] data/creaturescripts/scripts/FragsOnLook.lua:39: in function <data/creaturescripts/scripts/FragsOnLook.lua:34>
[24/08/2011 13:54:11] [Error - CreatureScript Interface]
[24/08/2011 13:54:11] data/creaturescripts/scripts/questLook.lua:onLook
[24/08/2011 13:54:11] Description:
[24/08/2011 13:54:11] data/creaturescripts/scripts/questLook.lua:7: attempt to call field '?' (a nil value)
[24/08/2011 13:54:11] stack traceback:
[24/08/2011 13:54:11] data/creaturescripts/scripts/questLook.lua:7: in function <data/creaturescripts/scripts/questLook.lua:1>