• 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!

Mutated Pumpkin + Skinning

wickedd

Member
Joined
Oct 14, 2011
Messages
251
Solutions
1
Reaction score
23
Location
US
Most of the skinning script is from cykotitan.
but i changed part of it cuz with his i had to post the obsidianknife.lua script into my skinning.lua script also to get it to work....for this one youll have to make 2 different skinning lua's so you can have blessed wooden stake work also.
and the actual monster i cant remeber who i got it from but the attacks and the loot isnt right..
just posted this thread for anyone who doesnt have it working yet. anyways here it is


Mutated Pumpkin monster lua
Lua:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="The Mutated Pumpkin" nameDescription="a mutated pumpkin" race="undead" experience="35000" speed="700" manacost="0">
	<health now="550000" max="550000"/>
	<look type="292" corpse="8960"/>
	<targetchange interval="5000" chance="8"/>
	<strategy attack="100" defense="0"/>
	<flags>
		<flag summonable="0"/>
		<flag attackable="1"/>
		<flag hostile="1"/>
		<flag illusionable="0"/>
		<flag convinceable="0"/>
		<flag pushable="0"/>
		<flag canpushitems="1"/>
		<flag canpushcreatures="1"/>
		<flag targetdistance="1"/>
		<flag staticattack="85"/>
		<flag runonhealth="0"/>
	</flags>
	<attacks>
		<attack name="melee" interval="2000" skill="105" attack="85"/>
		<attack name="manadrain" interval="3000" chance="18" range="7" target="1" min="-100" max="-300">
			<attribute key="areaEffect" value="redshimmer"/>
		</attack>
		<attack name="earth" interval="2000" chance="15" radius="7" target="0" min="-100" max="-300">
			<attribute key="areaEffect" value="poison"/>
		</attack>
		<attack name="energy" interval="3000" chance="14" radius="7" target="0" min="-40" max="-300">
			<attribute key="areaEffect" value="energy"/>
		</attack>
		<attack name="death" interval="1000" chance="10" radius="8" target="0" min="-30" max="-300">
			<attribute key="areaEffect" value="poff"/>
                </attack>
                <attack name="earth" interval="3000" chance="12" length="8" spread="3" min="-100" max="-300">
                <attribute key="areaEffect" value="plantattack"/>
                </attack>
		<attack name="lifedrain" interval="1000" chance="10" length="6" spread="0" min="-100" max="-400">
			<attribute key="areaEffect" value="greenspark"/>
		</attack>
		<attack name="outfit" interval="1000" chance="2" radius="8" target="0" monster="The Mutated Pumpkin" duration="5000">
			<attribute key="areaEffect" value="bluebubble"/>
		</attack>
	</attacks>
	<defenses armor="60" defense="60">
		<defense name="invisible" interval="8000" chance="13" duration="5000">
			<attribute key="areaEffect" value="blueshimmer"/>
		</defense>
	</defenses>
	<elements>
		<element firePercent="90"/>
	</elements>
	<immunities>
		<immunity paralyze="1"/>
		<immunity invisible="1"/>
	</immunities>
	<voices interval="5000" chance="20">
		<voice sentence="I had the Halloween Hare for breakfast!"/>
		<voice sentence="Your soul will be mine...wait, wrong line"/>
		<voice sentence="Trick or treat? I saw death!"/>
		<voice sentence="No wait! Don't kill me! It's me, your friend!"/>
		<voice sentence="Bunnies, bah! I'm the real thing!"/>
		<voice sentence="Muahahahaha!"/>
		<voice sentence="I've come to avenge all those mutilated pumpkins!"/>
		<voice sentence="Wait until I get you!"/>
		<voice sentence="Fear the spirit of Halloween!"/>
	</voices>
	<loot>
		<item id="2148" countmax="25" chance1="100000" chancemax="0"/> --Gold
		<item id="2514" chance="8550"/> --mastermind shield
		<item id="8860" chance="3200"/> --spiderwebs		
		<item id="8885" chance="2222"/> --Divine Plate
		<item id="2470" chance="3800"/> --Golden Legs
		<item id="9005" countmax="40" chance1="100000" chancemax="0"/> --Gold
		<item id="2152" countmax="75" chance1="100000" chancemax="0"/> -- Gold
		<item id="9970" countmax="45" chance1="6500"/> --small topaz
		<item id="9006" chance1="100500"/> --toy spider
		<item id="10520" chance="1000000">
			<inside>
				<item id="6492" chance="2000"/> <!-- bat decoration -->
				<item id="9981" chance="3000"/> <!-- azerus figurine -->
				<item id="6574" chance="4000"/> <!-- jade hammer -->
				<item id="2160" countmax="3" chance="4000"/> <!-- mana potion -->
				<item id="2216" chance="3000"/> <!-- rusty armor -->
				<item id="2205" chance="2000"/> <!-- life ring -->
			</inside>
		</item>
	</loot>
</monster>

and the skinning.. post this in obsidianknife.lua
Lua:
local MINOTAUR_LEATHER, LIZARD_LEATHER, GREEN_DRAGON_LEATHER, RED_DRAGON_LEATHER, HARDENED_BONE, BEHEMOTH_FANG = 5878, 5876, 5877, 5948, 5925, 5893
 
local config = {
	[2830] = {10, MINOTAUR_LEATHER},
	[2866] = {10, MINOTAUR_LEATHER},
	[2871] = {10, MINOTAUR_LEATHER},
	[2876] = {10, MINOTAUR_LEATHER},
	[2844] = {10, GREEN_DRAGON_LEATHER},
	[2881] = {10, RED_DRAGON_LEATHER},
	[2931] = {10, BEHEMOTH_FANG},
	[4256] = {10, LIZARD_LEATHER},
	[4259] = {10, LIZARD_LEATHER},
	[4262] = {10, LIZARD_LEATHER},
	[3031] = {10, HARDENED_BONE}
}
 
local pumpkin_items = {
	[1] = {2683},
	[2] = {2688, 50},
	[3] = {6571},
	[4] = {6492},
	[5] = {6574},
	[6] = {6526},
	[7] = {2096},
	[8] = {9005, 20},
	[9] = {9006},
	[10] = {2688},
	[11] = {8860}

}

		local Pumpkin_Items
		[8961] = {25000, 2096, 25000, 2683, 25000, 2688, 25000, 6492, 25000, 6526, 25000, 6571, 25000, 		6574, 25000, 8860, 25000, 9005, 25000, 9006}

}
 
local sculpting = {
	[7441] = {randsize = 4, newid = 7442},
	[7442] = {randsize = 5, newid = 7444},
	[7444] = {randsize = 6, newid = 7445},
	[7445] = {randsize = 7, newid = 7446},
}
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
	if itemEx.itemid == 8961 then
		if getPlayerStorageValue(cid, 65060) <= 0 then
			doCreatureSay(cid, "Happy Halloween!", TALKTYPE_ORANGE_1)
			doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
			setPlayerStorageValue(cid, 65060, 1)
			local v = pumpkin_items[math.random(#pumpkin_items)]
			doPlayerAddItem(cid, v[1], v[2] or 2)
		end
		if getPlayerStorageValue(cid, 65061) <= 0 then
			doCreatureSay(cid, "Happy Halloween!", TALKTYPE_ORANGE_1)
			doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
			setPlayerStorageValue(cid, 65061, 1)
			local v = pumpkin_items[math.random(#pumpkin_items)]
			doPlayerAddItem(cid, v[1], v[2] or 1)
		else
			doCreatureSay(cid, "You already used your knife on the corpse.", TALKTYPE_ORANGE_1, false, cid)
		end
		return true
	end
 
	-- Sculpting
	local v = sculpting[itemEx.itemid]
	if v then
		if(math.random(v.randsize) == 1) then
			doTransformItem(itemEx.uid, v.newid)
		else
			doRemoveItem(itemEx.uid)
			doCreatureSay(cid, "The attempt at sculpting failed miserably.", TALKTYPE_ORANGE_1)
		end
		doSendMagicEffect(toPosition, CONST_ME_HITAREA)
		return true
	end
 
	-- Skinning
	v = config[itemEx.itemid]
	if not v then
		return false
	elseif math.random(100) <= v[2] then
		doPlayerAddItem(cid, v[2], 1)
		doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)
	else
		doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT)
	end
	doTransformItem(itemEx.uid, itemEx.itemid + 1)
	doDecayItem(itemEx.uid)
	return true
end
you should be able to leave blessed wooden stake as it is but if u have problems with that here's my script.. blessedwoodenstake.lua
Lua:
local config = {
	level = 2
}

local DUSTS = {
	-- Vampires
	[2956] = {25000, 5905},

	-- Demons
	[2916] = {25000, 5906}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(getPlayerLevel(cid) < config.level) then
		doPlayerSendCancel(cid, "You have to be at least Level " .. config.level .. " to use this tool.")
		return true
	end

	local dust = DUSTS[itemEx.itemid]
	if(not dust) then
		doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
		return true
	end

	local random = math.random(1, 100000)
	if(random <= dust[1]) then
		doSendMagicEffect(toPosition, CONST_ME_GROUNDSHAKER)
		doPlayerAddItem(cid, dust[2], 1)
	elseif(dust[3] and random >= dust[3]) then
		doSendMagicEffect(toPosition, CONST_ME_GROUNDSHAKER)
		doPlayerAddItem(cid, dust[4], 1)
	else
		doSendMagicEffect(toPosition, CONST_ME_POFF)
	end

	doTransformItem(itemEx.uid, itemEx.itemid + 1)
	return true
end

skinningknife.lua
Lua:
local SKINS = {
	[5908] = {
		-- Minotaurs
		[2830] = {25000, 5878},
		[2871] = {25000, 5878},
		[2866] = {25000, 5878},
		[2876] = {25000, 5878},
		[3090] = {25000, 5878},

		-- Lizards
		[4259] = {25000, 5876},
		[4262] = {25000, 5876},
		[4256] = {25000, 5876},

		-- Dragons
		[3104] = {25000, 5877},
		[2844] = {25000, 5877},

		-- Dragon Lords
		[2881] = {25000, 5948},

		-- Behemoths
		[2931] = {25000, 5930, 90000, 5893},

		-- Bone Beasts
		[3031] = {25000, 5925},

		-- Pumpkin_Items
		[8961] = {25000, 2096, 25000, 2683, 25000, 2688, 25000, 6492, 25000, 6526, 25000, 6571, 25000, 		6574, 25000, 8860, 25000, 9005, 25000, 9006}

	}
}

local pumpkin_items = {
	[1] = {2683},
	[2] = {2688, 50},
	[3] = {6571},
	[4] = {6492},
	[5] = {6574},
	[6] = {6526},
	[7] = {2096},
	[8] = {9005, 20},
	[9] = {9006},
	[10] = {2688},
	[11] = {8860}

}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if itemEx.itemid == 8961 then
		if getPlayerStorageValue(cid, 65060) <= 0 then
			doCreatureSay(cid, "Happy Halloween!", TALKTYPE_ORANGE_1)
			doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
			setPlayerStorageValue(cid, 65060, 1)
			local v = pumpkin_items[math.random(#pumpkin_items)]
			doPlayerAddItem(cid, v[1], v[2] or 1)
		end
		if getPlayerStorageValue(cid, 65061) <= 0 then
			doCreatureSay(cid, "Happy Halloween!", TALKTYPE_ORANGE_1)
			doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
			setPlayerStorageValue(cid, 65061, 1)
			local v = pumpkin_items[math.random(#pumpkin_items)]
			doPlayerAddItem(cid, v[1], v[2] or 1)
		else
			doCreatureSay(cid, "You already used your knife on the corpse.", TALKTYPE_ORANGE_1, false, cid)
		end
		return true
	end
  
	local skin = SKINS[item.itemid][itemEx.itemid]
	if(skin == nil) then
		doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
		return true
	end

	local random, effect = math.random(1, 100000), CONST_ME_MAGIC_GREEN
	if(random <= skin[1]) then
		doPlayerAddItem(cid, skin[2], 1)
	elseif(skin[3] and random >= skin[3]) then
		doPlayerAddItem(cid, skin[4], 1)
	else
		effect = CONST_ME_POFF
	end

	doSendMagicEffect(toPosition, effect)
	doTransformItem(itemEx.uid, itemEx.itemid + 1)
	return true
end

and this is for wooden stake its just my original skinning lua

skinningstake.lua
Lua:
local SKINS = {
	[5908] = {
		-- Minotaurs
		[2830] = {25000, 5878},
		[2871] = {25000, 5878},
		[2866] = {25000, 5878},
		[2876] = {25000, 5878},
		[3090] = {25000, 5878},

		-- Lizards
		[4259] = {25000, 5876},
		[4262] = {25000, 5876},
		[4256] = {25000, 5876},

		-- Dragons
		[3104] = {25000, 5877},
		[2844] = {25000, 5877},

		-- Dragon Lords
		[2881] = {25000, 5948},

		-- Behemoths
		[2931] = {25000, 5930, 90000, 5893},

		-- Bone Beasts
		[3031] = {25000, 5925}
	},
	[5942] = {
		-- Demon
		[2956] = {25000, 5905},

		-- Vampire
		[2916] = {25000, 5906}
	}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local skin = SKINS[item.itemid][itemEx.itemid]
	if(skin == nil) then
		doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
		return true
	end

	local random, effect = math.random(1, 100000), CONST_ME_MAGIC_GREEN
	if(random <= skin[1]) then
		doPlayerAddItem(cid, skin[2], 1)
	elseif(skin[3] and random >= skin[3]) then
		doPlayerAddItem(cid, skin[4], 1)
	else
		effect = CONST_ME_POFF
	end

	doSendMagicEffect(toPosition, effect)
	doTransformItem(itemEx.uid, itemEx.itemid + 1)
	return true
end
post this into actions.xml
Lua:
	<action itemid="5908" event="script" value="tools/skinningknife.lua"/>
	<action itemid="5942" event="script" value="tools/skinningstake.lua"/>

oh and i made it so when you skin the pumpkin u get 2 items instead of just one.. if u wanna change it to just one go into skinningknife.lua and obsidianknife.lua and change this
Lua:
 function onUse(cid, item, fromPosition, itemEx, toPosition)
	if itemEx.itemid == 8961 then
		if getPlayerStorageValue(cid, 65060) <= 0 then
			doCreatureSay(cid, "Happy Halloween!", TALKTYPE_ORANGE_1)
			doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
			setPlayerStorageValue(cid, 65060, 1)
			local v = pumpkin_items[math.random(#pumpkin_items)]
			doPlayerAddItem(cid, v[1], v[2] or 1)
		end
		if getPlayerStorageValue(cid, 65061) <= 0 then
			doCreatureSay(cid, "Happy Halloween!", TALKTYPE_ORANGE_1)
			doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
			setPlayerStorageValue(cid, 65061, 1)
			local v = pumpkin_items[math.random(#pumpkin_items)]
			doPlayerAddItem(cid, v[1], v[2] or 1)
		else
			doCreatureSay(cid, "You already used your knife on the corpse.", TALKTYPE_ORANGE_1, false, cid)
		end
		return true
	end
to this
Lua:
 function onUse(cid, item, fromPosition, itemEx, toPosition)
	if itemEx.itemid == 8961 then
		if getPlayerStorageValue(cid, 65060) <= 0 then
			doCreatureSay(cid, "Happy Halloween!", TALKTYPE_ORANGE_1)
			doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
			setPlayerStorageValue(cid, 65060, 1)
			local v = pumpkin_items[math.random(#pumpkin_items)]
			doPlayerAddItem(cid, v[1], v[2] or 1)
		else
			doCreatureSay(cid, "You already used your knife on the corpse.", TALKTYPE_ORANGE_1, false, cid)
		end
		return true
	end

if you want more then 1 or 2 just add
Lua:
 		end
		if getPlayerStorageValue(cid, 65061) <= 0 then
			doCreatureSay(cid, "Happy Halloween!", TALKTYPE_ORANGE_1)
			doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
			setPlayerStorageValue(cid, 65061, 1)
			local v = pumpkin_items[math.random(#pumpkin_items)]
			doPlayerAddItem(cid, v[1], v[2] or 1)
after this line
Lua:
 doPlayerAddItem(cid, v[1], v[2] or 1)
and make sure you change storage numbers for each different time you'll have to have a different number.... thats it i think
 
Last edited:
Just noticed the chance for a toy spider to drop is 100.5% (chance="100500") and the chance for item 10520 is 1000% (chance="1000000")

Edit: You don't need to add that much code to make it give you two items, all you need to do is put another doPlayerAddItem(cid, v[1], v[2] or 1) right under the first doPlayerAddItem line.

e.g.

Lua:
                if getPlayerStorageValue(cid, 65060) <= 0 then
			doCreatureSay(cid, "Happy Halloween!", TALKTYPE_ORANGE_1)
			doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
			setPlayerStorageValue(cid, 65060, 1)
			local v = pumpkin_items[math.random(#pumpkin_items)]
			doPlayerAddItem(cid, v[1], v[2] or 1)
                        doPlayerAddItem(cid, v[1], v[2] or 1) --gives a second item
                        doPlayerAddItem(cid, v[1], v[2] or 1) --gives a third item, etc
		else
			doCreatureSay(cid, "You already used your knife on the corpse.", TALKTYPE_ORANGE_1, false, cid)
		end
 
Last edited:
yeah lol im new to otland, wasnt sure where to put it

and im a noob scripter, but i got it to work lol and i didnt no chance was in %.. thanks for the info

just tried it and it gives 2 of the same item
 
Last edited:
Back
Top