• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua Small problem with "Killing in the name of"

  • Thread starter Deleted member 49793
  • Start date
D

Deleted member 49793

Guest
Basicly when it comes to the task The Plagued One's (The Plagued One ingame) it doesnt give them kills when they kill this monster, anyone know why? I made a boost on the quest storage etc. due to thinking that would fix it but did nothing.

Code:
local questCreatures =
{
	["plagued rat"] = {questStarted = 1510, questStorage = 65000, creatureStorage = 15000, killsRequired = 10, raceName = "Plagued Rats"},
	
	["zombie"] = {questStarted = 1511, questStorage = 65001, creatureStorage = 15007, killsRequired = 50, raceName = "Zombies"},
 
	["plagued bat"] = {questStarted = 1512, questStorage = 65002, creatureStorage = 15011, killsRequired = 100, raceName = "Mutateds"},
	 
	["vampire"] = {questStarted = 1513, questStorage = 65003, creatureStorage = 15013, killsRequired = 50, raceName = "Vampires"},
 
	["vampire bride"] = {questStarted = 1514, questStorage = 65004, creatureStorage = 15016, killsRequired = 5, raceName = "Vampire Brides"},
 
	["fire conjurer"] = {questStarted = 1515, questStorage = 65005, creatureStorage = 15017, killsRequired = 50, raceName = "Fire Conjurers"},
 
	["slave torturer"] = {questStarted = 1516, questStorage = 65006, creatureStorage = 15018, killsRequired = 50, raceName = "Slave Torturers"},
 
	["werewolf"] = {questStarted = 1517, questStorage = 65007, creatureStorage = 16019, killsRequired = 175, raceName = "Werewolfs"},

	["nightmare"] = {questStarted = 1518, questStorage = 65008, creatureStorage = 16020, killsRequired = 150, raceName = "Nightmares"},
 
	["The Plagued One"] = {questStarted = 1519, questStorage = 65809, creatureStorage = 16821, killsRequired = 20, raceName = "The Plagued Ones"},
	["Blight Walker"] = {questStarted = 1520, questStorage = 65810, creatureStorage = 15822, killsRequired = 150, raceName = "Blight Walkers"},
	["The Forsaken One"] = {questStarted = 1521, questStorage = 65811, creatureStorage = 15823, killsRequired = 20, raceName = "The Forsaken Ones"},
	["Grim Reaper"] = {questStarted = 1522, questStorage = 65812, creatureStorage = 15824, killsRequired = 150, raceName = "Grim reapers"},	["The Forsaken One"] = {questStarted = 1521, questStorage = 65011, creatureStorage = 15023, killsRequired = 150, raceName = "Grim Reapers"},
	["quara mantassin scout"] = {questStarted = 1523, questStorage = 65013, creatureStorage = 15025, killsRequired = 300, raceName = "Quaras Scout"},
	["quara pincher scout"] = {questStarted = 1524, questStorage = 65014, creatureStorage = 15026, killsRequired = 300, raceName = "Quaras Scout"},
 
	["quara pincher"] = {questStarted = 1521, questStorage = 65015, creatureStorage = 15031, killsRequired = 300, raceName = "Quaras"},
 
	["massive water elemental"] = {questStarted = 1522, questStorage = 65016, creatureStorage = 15035, killsRequired = 70, raceName = "Water Elementals"},
 
	["muddy earth elemental"] = {questStarted = 1523, questStorage = 65017, creatureStorage = 15039, killsRequired = 70, raceName = "Earth Elementals"},
 
	["overcharged energy elemental"] = {questStarted = 1524, questStorage = 65018, creatureStorage = 15043, killsRequired = 70, raceName = "Energy Elementals"},
 
	["massive fire elemental"] = {questStarted = 1525, questStorage = 65019, creatureStorage = 15047, killsRequired = 70, raceName = "Fire Elementals"},
 
	["mutated rat"] = {questStarted = 1526, questStorage = 65016, creatureStorage = 15048, killsRequired = 200, raceName = "Mutated Rats"},
 
	["giant spider"] = {questStarted = 1527, questStorage = 65017, creatureStorage = 15049, killsRequired = 500, raceName = "Giant Spiders"},
 
	["hydra"] = {questStarted = 1528, questStorage = 65018, creatureStorage = 15050, killsRequired = 2000, raceName = "Hydras"},
 
	["sea serpent"] = {questStarted = 1529, questStorage = 65019, creatureStorage = 15051, killsRequired = 2000, raceName = "Sea Serpents"},
 
	["behemoth"] = {questStarted = 1530, questStorage = 65020, creatureStorage = 15052, killsRequired = 2000, raceName = "Behemoths"},
 
	["serpent spawn"] = {questStarted = 1531, questStorage = 65021, creatureStorage = 15053, killsRequired = 1500, raceName = "Serpents Spawn"},
 
	["green djinn"] = {questStarted = 1532, questStorage = 65022, creatureStorage = 15054, killsRequired = 500, raceName = "Green Djinns"},
	["efreet"] = {questStarted = 1532, questStorage = 65022, creatureStorage = 15055, killsRequired = 500, raceName = "Green Djinns"},
 
	["blue djinn"] = {questStarted = 1533, questStorage = 65023, creatureStorage = 15056, killsRequired = 500, raceName = "Blue Djinns"},
	["marid"] = {questStarted = 1533, questStorage = 65023, creatureStorage = 15057, killsRequired = 500, raceName = "Blue Djinns"},
 
	["pirate buccaneer"] = {questStarted = 1534, questStorage = 65024, creatureStorage = 15058, killsRequired = 3000, raceName = "Pirates"},
	["pirate corsair"] = {questStarted = 1534, questStorage = 65024, creatureStorage = 15059, killsRequired = 3000, raceName = "Pirates"},
	["pirate cutthroat"] = {questStarted = 1534, questStorage = 65024, creatureStorage = 15060, killsRequired = 3000, raceName = "Pirates"},
	["pirate ghost"] = {questStarted = 1534, questStorage = 65024, creatureStorage = 15061, killsRequired = 3000, raceName = "Pirates"},
	["pirate marauder"] = {questStarted = 1534, questStorage = 65024, creatureStorage = 15062, killsRequired = 3000, raceName = "Pirates"},
	["pirate skeleton"] = {questStarted = 1534, questStorage = 65024, creatureStorage = 15063, killsRequired = 3000, raceName = "Pirates"},
 
	["pirate buccaneer"] = {questStarted = 1535, questStorage = 65025, creatureStorage = 15064, killsRequired = 3000, raceName = "Pirates"},
	["pirate corsair"] = {questStarted = 1535, questStorage = 65025, creatureStorage = 15065, killsRequired = 3000, raceName = "Pirates"},
	["pirate cutthroat"] = {questStarted = 1535, questStorage = 65025, creatureStorage = 15066, killsRequired = 3000, raceName = "Pirates"},
	["pirate ghost"] = {questStarted = 1535, questStorage = 65025, creatureStorage = 15067, killsRequired = 3000, raceName = "Pirates"},
	["pirate marauder"] = {questStarted = 1535, questStorage = 65025, creatureStorage = 15068, killsRequired = 3000, raceName = "Pirates"},
	["pirate skeleton"] = {questStarted = 1535, questStorage = 65025, creatureStorage = 15069, killsRequired = 3000, raceName = "Pirates"},
 
	["minotaur"] = {questStarted = 1536, questStorage = 65026, creatureStorage = 15070, killsRequired = 5000, raceName = "Minotaurs"},
 
	["necromancer"] = {questStarted = 1537, questStorage = 65027, creatureStorage = 15071, killsRequired = 4000, raceName = "Magicians"},
	["priestess"] = {questStarted = 1537, questStorage = 65027, creatureStorage = 15072, killsRequired = 4000, raceName = "Magicians"},
 
	["necromancer"] = {questStarted = 1538, questStorage = 65028, creatureStorage = 15073, killsRequired = 1000, raceName = "Magicians"},
	["priestess"] = {questStarted = 1538, questStorage = 65028, creatureStorage = 15074, killsRequired = 1000, raceName = "Magicians"},
 
	["demon"] = {questStarted = 1539, questStorage = 65029, creatureStorage = 15075, killsRequired = 6666, raceName = "Demons"}
}
 
local msgType = MESSAGE_STATUS_CONSOLE_ORANGE
 
function onKill(cid, target, lastHit)
 
local creature = questCreatures[getCreatureName(target):lower()]
 
	if creature then
		if isPlayer(target) then
			return true
		end
		if getCreatureStorage(cid, creature.questStarted) > 0 then
			if getCreatureStorage(cid, creature.questStorage) < creature.killsRequired then
				if getCreatureStorage(cid, creature.questStorage) < 0 then
					doCreatureSetStorage(cid, creature.questStorage, 0)
				end
 
				if getCreatureStorage(cid, creature.creatureStorage) < 0 then
					doCreatureSetStorage(cid, creature.creatureStorage, 0)
				end
				doCreatureSetStorage(cid, creature.questStorage, getCreatureStorage(cid, creature.questStorage) + 1)
				doCreatureSetStorage(cid, creature.creatureStorage, getCreatureStorage(cid, creature.creatureStorage) + 1)
				doPlayerSendTextMessage(cid, msgType, "" .. getCreatureStorage(cid, creature.creatureStorage) .. " " .. getCreatureName(target) .. " defeated. Total [" .. getCreatureStorage(cid, creature.questStorage) .. "/" .. creature.killsRequired .. "] " .. creature.raceName .. ".")
			end
		end
	end
	return true
end
Code:
local tasks =
{
	[1] = {questStarted = 1510, questStorage = 65000, killsRequired = 10, raceName = "Plagued Rats", rewards = {{enable = true, type = "exp", values = 20000}, {enable = true, type = "money", values = 1000}}},
 
	[2] = {questStarted = 1511, questStorage = 65001, killsRequired = 50, raceName = "Zombies", rewards = {{enable = true, type = "exp", values = 40000}, {enable = true, type = "money", values = 2000}}},
 
	[3] = {questStarted = 1512, questStorage = 65002, killsRequired = 100, raceName = "Plagued Bats", rewards = {{enable = true, type = "exp", values = 50000}, {enable = true, type = "money", values = 3000}}},
 
	[4] = {questStarted = 1513, questStorage = 65003, killsRequired = 50, raceName = "Vampires", rewards = {{enable = true, type = "exp", values = 70000}, {enable = true, type = "money", values = 5000}}},
 
	[5] = {questStarted = 1514, questStorage = 65004, killsRequired = 5, raceName = "Vampire Brides", rewards = {{enable = true, type = "exp", values = 90000}, {enable = true, type = "money", values = 5000}}},
 
	[6] = {questStarted = 1515, questStorage = 65005, killsRequired = 50, raceName = "Fire Conjurers", rewards = {{enable = true, type = "exp", values = 120000}, {enable = true, type = "money", values = 20000}}},
 
	[7] = {questStarted = 1516, questStorage = 65006, killsRequired = 50, raceName = "Slave Torturers", rewards = {{enable = true, type = "exp", values = 150000}, {enable = true, type = "money", values = 20000}}},
 
	[8] = {questStarted = 1517, questStorage = 65007, killsRequired = 175, raceName = "Werewolves", rewards = {{enable = true, type = "exp", values = 150000}, {enable = true, type = "money", values = 25000}}},
	
    [9] = {questStarted = 1518, questStorage = 65008, killsRequired = 150, raceName = "Nightmares", rewards = {{enable = true, type = "exp", values = 200000}, {enable = true, type = "money", values = 30000}}},

    [10] = {questStarted = 1519, questStorage = 65809, killsRequired = 20, raceName = "The Plagued Ones", rewards = {{enable = true, type = "exp", values = 200000}, {enable = true, type = "money", values = 30000}}},

    [11] = {questStarted = 1520, questStorage = 65810, killsRequired = 150, raceName = "Blight Walkers", rewards = {{enable = true, type = "exp", values = 300000}, {enable = true, type = "money", values = 30000}}},

    [12] = {questStarted = 1521, questStorage = 65811, killsRequired = 20, raceName = "The Forsaken Ones", rewards = {{enable = true, type = "exp", values = 300000}, {enable = true, type = "money", values = 30000}}},

    [13] = {questStarted = 1522, questStorage = 65812, killsRequired = 100, raceName = "Grim Reapers", rewards = {{enable = true, type = "exp", values = 400000}, {enable = true, type = "money", values = 30000}}},

    [14] = {questStarted = 1523, questStorage = 65013, killsRequired = 20, raceName = "The Forsaken Ones", rewards = {{enable = true, type = "exp", values = 300000}, {enable = true, type = "money", values = 30000}}},

    [15] = {questStarted = 1524, questStorage = 65014, killsRequired = 20, raceName = "The Forsaken Ones", rewards = {{enable = true, type = "exp", values = 300000}, {enable = true, type = "money", values = 30000}}},

}
 
local rankStorage = 32150
local storage = 64521
 
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local voc = {}
 
function onCreatureAppear(cid)                          npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid)                       npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg)                  npcHandler:onCreatureSay(cid, type, msg) end
function onThink()                                      npcHandler:onThink() end
 
function creatureSayCallback(cid, type, msg)
 
	local s = getCreatureStorage(cid, storage)
 
	if(not npcHandler:isFocused(cid)) then
		return false
	end
	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid
	if msgcontains(msg, "task") then
 
		if(s < 1) then
			doCreatureSetStorage(cid, storage, 1)
			s = getCreatureStorage(cid, storage)
		end
 
		if(getCreatureStorage(cid, rankStorage) < 1) then
			doCreatureSetStorage(cid, rankStorage, 0)
		end
 
		if tasks[s] then
			if(getCreatureStorage(cid, tasks[s].questStarted) < 1) then
				if(getCreatureStorage(cid, tasks[s].creatureStorage) < 0) then
					doCreatureSetStorage(cid, tasks[s].creatureStorage, 0)
				end
 
				if(getCreatureStorage(cid, tasks[s].questStorage) < 0) then
					doCreatureSetStorage(cid, tasks[s].questStorage, 0)
				end
 
				doCreatureSetStorage(cid, tasks[s].questStarted, 1)
				selfSay("You have started the task number " .. getPlayerStorageValue(cid, storage) .. ", in this task you need to kill " .. tasks[s].killsRequired .. " " .. tasks[s].raceName .. ".", cid)
			else
				selfSay("You are currently making task about " .. tasks[s].raceName .. ".", cid)
			end
		else
			print("[Warning - Error::Killing in the name of::Tasks config] Something is wrong.")
		end
 
	elseif msgcontains(msg, "report") then
		if tasks[s] and tasks[s].questStarted > 0 then
			if(getCreatureStorage(cid, tasks[s].creatureStorage) < 0) then
				doCreatureSetStorage(cid, tasks[s].creatureStorage, 0)
			end
 
			if(getCreatureStorage(cid, tasks[s].questStorage) < 0) then
				doCreatureSetStorage(cid, tasks[s].questStorage, 0)
			end
 
			if(getCreatureStorage(cid, tasks[s].questStorage) >= tasks[s].killsRequired) then
				for i = 1, table.maxn(tasks[s].rewards) do
					if(tasks[s].rewards[i].enable) then
						if tasks[s].rewards[i].type == "boss" or tasks[s].rewards[i].type == 1 then
							doTeleportThing(cid, tasks[s].rewards[i].values)
						elseif tasks[s].rewards[i].type == "exp" or tasks[s].rewards[i].type == 2 then
							doPlayerAddExperience(cid, tasks[s].rewards[i].values)
						elseif tasks[s].rewards[i].type == "item" or tasks[s].rewards[i].type == 3 then
							doPlayerAddItem(cid, tasks[s].rewards[i].values[1], tasks[s].rewards[i].values[2])
						elseif tasks[s].rewards[i].type == "money" or tasks[s].rewards[i].type == 4 then
							doPlayerAddMoney(cid, tasks[s].rewards[i].values)
						elseif tasks[s].rewards[i].type == "storage" or tasks[s].rewards[i].type == 5 then
							doCreatureSetStorage(cid, tasks[s].rewards[i].values[1], tasks[s].rewards[i].values[2])
						elseif tasks[s].rewards[i].type == "points" or tasks[s].rewards[i].type == 6 then
							doCreatureSetStorage(cid, rankStorage, getCreatureStorage(cid, rankStorage) + tasks[s].rewards[i].values)
						else
							print("[Warning - Error::Killing in the name of::Tasks config] Bad reward type: " .. tasks[s].rewards[i].type .. ", reward could not be loaded.")
						end
					end
				end
				local rank = getCreatureStorage(cid, rankStorage)
				selfSay("Great!... you have finished the task number " .. s .. "" .. (rank > 4 and ", you are a " or "") .. "" .. (((rank > 4 and rank < 10) and ("Huntsman") or (rank > 9 and rank < 20) and ("Ranger") or (rank > 19 and rank < 30) and ("Big Game Hunter") or (rank > 29 and rank < 50) and ("Trophy Hunter") or (rank > 49) and ("Elite Hunter")) or "") .. ". Good job.", cid)
				doCreatureSetStorage(cid, storage, s + 1)
			else
				selfSay("Current " .. getCreatureStorage(cid, tasks[s].questStorage) .. " " .. tasks[s].raceName .. " killed, you need to kill " .. tasks[s].killsRequired .. ".", cid)
			end
		else
			selfSay("You do not have started any task.", cid)
		end
	end
	return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
add to script:
after:
local creature = questCreatures[getCreatureName(target):lower()]

print(getCreatureName(target))

kill that plagued thing, and look in console wich name it shows for that mob!
after that copy it exactly in the array, should help to find reason...
 
Back
Top