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

{REQUEST} Buy Bprunes using lever

alright, i came up with something, not sure if it will work at all, but didn't have any errors in consul when i opened it,

Code:
local suddendeath = 2268
local ultimatehealing = 2273
local greatfireball = 2304
local explotion = 2313
local heavymagicmissle = 2268

function onUse(cid, item, frompos, item2, topos)
	if item.itemid == 1945 and action.id == 10550 then
		doPlayerAddItem(uid, 2003)
		doAddContainerItem(uid, suddendeath, 20)
		doRemoveMoney(cid, 6000)
	elseif action.id == 10551 then
		doPlayerAddItem(uid, 2002)
		doAddContainerItem(uid, ultimatehealing, 20)
		doRemoveMoney(cid, 4000)
	elseif action.id == 10552 then
		doPlayerAddItem(uid, 2001)
		doAddContainerItem(uid, heavymagicmissle, 20)
		doRemoveMoney(cid, 1000)
	elseif action.id == 10553 then
		doPlayerAddItem(uid, 2001)
		doAddContainerItem(uid, explotion, 20)
		doRemoveMoney(cid, 3000)
	elseif action.id == 10554 then
		doPlayerAddItem(uid, 2000)
		doAddContainerItem(uid, greatfireball, 20)
		doRemoveMoney(cid, 2000)
	elseif item.itemid == 1946 then
		doTransformItem(item.uid, item.itemid + 1)
		doPlayerSendCancel(cid, "Sorry, you do not have enough money.")
	end
	return TRUE
end

let me know if it works, if someone sees errors please tell me how to fix (this is my first real code)
 
alright, i came up with something, not sure if it will work at all, but didn't have any errors in consul when i opened it,

Code:
local suddendeath = 2268
local ultimatehealing = 2273
local greatfireball = 2304
local explotion = 2313
local heavymagicmissle = 2268

function onUse(cid, item, frompos, item2, topos)
	if item.itemid == 1945 and action.id == 10550 then
		doPlayerAddItem(uid, 2003)
		doAddContainerItem(uid, suddendeath, 20)
		doRemoveMoney(cid, 6000)
	elseif action.id == 10551 then
		doPlayerAddItem(uid, 2002)
		doAddContainerItem(uid, ultimatehealing, 20)
		doRemoveMoney(cid, 4000)
	elseif action.id == 10552 then
		doPlayerAddItem(uid, 2001)
		doAddContainerItem(uid, heavymagicmissle, 20)
		doRemoveMoney(cid, 1000)
	elseif action.id == 10553 then
		doPlayerAddItem(uid, 2001)
		doAddContainerItem(uid, explotion, 20)
		doRemoveMoney(cid, 3000)
	elseif action.id == 10554 then
		doPlayerAddItem(uid, 2000)
		doAddContainerItem(uid, greatfireball, 20)
		doRemoveMoney(cid, 2000)
	elseif item.itemid == 1946 then
		doTransformItem(item.uid, item.itemid + 1)
		doPlayerSendCancel(cid, "Sorry, you do not have enough money.")
	end
	return TRUE
end

let me know if it works, if someone sees errors please tell me how to fix (this is my first real code)

The only error i can se is that is wrong word for explosion u wrote Explotion.

And ehere should i but this now again? in acions right ? and then make something in actions.xml for exh lever ?
 
the script for the npc only need to add ULTIMATE HP AND SPRITI POTION,

Code:
local focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false

function onThingMove(creature, thing, oldpos, oldstackpos)

end


function onCreatureAppear(creature)

end


function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Good bye then.')
focus = 0
talk_start = 0
end
end


function onCreatureTurn(creature)

end


function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end


function onCreatureSay(cid, type, msg)
local msg = string.lower(msg)

if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) < 4 then
selfSay('K pedo ' .. creatureGetName(cid) .. '! I sell bps of potions.  said  "potions" for more information.')
focus = cid
talk_start = os.clock()

elseif msgcontains(msg, 'hi') and focus ~= cid and getDistanceToCreature(cid) < 4 then
selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')

elseif focus == cid then
talk_start = os.clock()

if msgcontains(msg, 'potions') then
selfSay('I sell bp hp (2k), bp shp (5k), bp ghp (10k), bp mp (2k), smp (5k), gmp (1k).')



elseif msgcontains(msg, 'health potion') then
buyContainer(cid,2000,7618,1,2000)
elseif msgcontains(msg, 'strong health potion') then
buyContainer(cid,2000,7588,1,5000)
elseif msgcontains(msg, 'great health potion') then
buyContainer(cid,2000,7591,1,1000)
elseif msgcontains(msg, 'mana potion') then
buyContainer(cid,2001,7620,1,2000)
elseif msgcontains(msg, 'strong mana potion') then
buyContainer(cid,2001,7589,1,5000)
elseif msgcontains(msg, 'great mana potion') then
buyContainer(cid,2001,7590,1,1000)

elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 then
selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
focus = 0
talk_start = 0
end
end
end

function onCreatureChangeOutfit(creature)

end


function onThink()
if (os.clock() - talk_start) > 30 then
if focus > 0 then
selfSay('Next Please...')
end
focus = 0
end
if focus ~= 0 then
if getDistanceToCreature(focus) > 5 then
selfSay('Good bye then.')
focus = 0
end
end
end
 
Well, here is the actual script you wanted :p

Code:
local suddendeath = 2268
local ultimatehealing = 2273
local greatfireball = 2304
local explotion = 2313
local heavymagicmissle = 2268
local bp, rune, charges
 
function onUse(cid, item, frompos, item2, topos)
	if item.itemid == 1945 then
		if item.actionid == 10550 then
			if doRemoveMoney(cid, 6000) == 1 then 
				bp = doPlayerAddItem(cid, 2003)
				rune = suddendeath
				charges = 1
			else
				doPlayerSendTextMessage(player, 22, "You don\'t have enough money.")
			end
		elseif item.actionid == 10551 then
			if doRemoveMoney(cid, 4000) == 1 then
				bp = doPlayerAddItem(cid, 2002)
				rune = ultimatehealing
				charges = 1
			else
				doPlayerSendTextMessage(player, 22, "You don\'t have enough money.")
			end
		elseif item.actionid== 10552 then
			if doRemoveMoney(cid, 1000) == 1 then
				bp = doPlayerAddItem(cid, 2001)
				rune = heavymagicmissle
				charges = 10
			else
				doPlayerSendTextMessage(player, 22, "You don\'t have enough money.")
			end
		elseif item.actionid == 10553 then
			if doRemoveMoney(cid, 3000) == 1 then
				bp = doPlayerAddItem(cid, 2001)
				rune = explotion
				charges = 2
			else
				doPlayerSendTextMessage(player, 22, "You don\'t have enough money.")
			end
		elseif item.actionid == 10554 then
			if doRemoveMoney(cid, 2000) == 1 then
				bp = doPlayerAddItem(cid, 2000)
				rune = greatfireball
				charges = 2
			else
				doPlayerSendTextMessage(player, 22, "You don\'t have enough money.")
			end
		end
 
		if rune then
			for i = 1, 20 do
				doAddContainerItem(bp, rune, charges)
			end
			bp, rune, charges = nil
		end
	elseif item.itemid == 1946 then
		doTransformItem(item.uid, item.itemid + 1)
	end
		return TRUE
end

Credits to

Far Carder
helped me with errors on ot fans :)
 
Back
Top