• 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 help, Levers buy BP's of runes / pots

tito94

New Member
Joined
Jul 9, 2009
Messages
10
Reaction score
0
I need help with the script for my levers to buy bps of runes and pots, well my problem is that they give free backpacks if u dont have the money to buy the BP, and thats kinda noob lol. so here's the script, what should i "ADD" to this script so it doesnt give away free backpacks
*Note: when i mean free backpacks, its not that the backpack is full of runes or pots, I mean backpacks with nothing inside them.
Code:
function onUse(cid, item, frompos, item2, topos)

container = doPlayerAddItem(cid, 2002, 1)

if item.itemid == 1945 and doPlayerRemoveMoney(cid,4000) == 1 then
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doTransformItem(item.uid,item.itemid+1)
 
elseif item.itemid == 1946 and doPlayerRemoveMoney(cid,4000) == 1 then
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doTransformItem(item.uid,item.itemid-1)
 
else
doPlayerSendCancel(cid,"A BP of Avalanche costs 4k.")
end

return 1
end
 
Last edited by a moderator:
Code:
function onUse(cid, item, frompos, item2, topos)
 

 
if item.itemid == 1945 and doPlayerRemoveMoney(cid,4000) == 1 then
local container = doPlayerAddItem(cid, 2002, 1)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doTransformItem(item.uid,item.itemid+1)
 
elseif item.itemid == 1946 and doPlayerRemoveMoney(cid,4000) == 1 then
local container = doPlayerAddItem(cid, 2002, 1)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doAddContainerItem(container, 2274, 5)
doTransformItem(item.uid,item.itemid-1)
 
else
doPlayerSendCancel(cid,"A BP of Avalanche costs 4k.")
end
 
return 1
end

This should fix it
 
You should learn how to use loops in Lua.
Lua:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	if item.itemid == 1945 and doPlayerRemoveMoney(cid,4000) == TRUE then
		local container = doPlayerAddItem(cid, 2002, 1)
		for i = 1, 20 do
			doAddContainerItem(container, 2274, 5)
		end
		doTransformItem(item.uid,item.itemid+1)
	elseif item.itemid == 1946 and doPlayerRemoveMoney(cid,4000) == TRUE then
		local container = doPlayerAddItem(cid, 2002, 1)
		for i = 1, 20 do
			doAddContainerItem(container, 2274, 5)
		end
		doTransformItem(item.uid,item.itemid-1)
	else
		doPlayerSendCancel(cid,"A BP of Avalanche costs 4k.")
	end
	return TRUE
end
 
Easy way ^^

Well, made this script..

So, you can add INFINITES backpack of items ^^

Remember: It only works if you put an ACTIONID on item / switch

Lua:
function onUse(cid, item, frompos, item2, topos)
-- Configuracion
local palancas = {
[2800] = {item = 2273, totalcost = 3020, charges = 1},
}

    if palancas[item.actionid] then
	local cosas = palancas[item.actionid]
	if getPlayerMoney(cid) >= cosas.totalcost then
	doPlayerRemoveMoney(cid, cosas.totalcost)
		doCreatureSay(cid, "CONGRATULATIONS! You bought a backpack with some items. ", TALKTYPE_ORANGE_1)
	local labp = doPlayerAddItem(cid, 2002)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	doAddContainerItem(labp, cosas.item, cosas.charges)
	else
	doCreatureSay(cid, "You don't have money to buy. Required: ".. cosas.totalcost.." gold coins. ", TALKTYPE_ORANGE_1)
	end
	end
	return 1
	end

TO ADD MORE BP's of X

Add line:

Lua:
[SWITCH ACTIONID] = {item = ITEM IN BACKPACK, totalcost = BACKPACK TOTALCOST, charges = COUNT/CHARGES OF RUNES/POTS},
 
Last edited:
thanks

thanks guys, btw i didnt understand the last scrit u posted "Andrespro", I talk spanish very well, if u can explain it in spanish would be easier to get. thank you
 
@Spanish
Cree un script para que puedas comprar BP's con items y puedes agregar infinitas ofertas:

ACORDARSE QUE SOLO SE PUEDE USAR SI PONES UN ACTIONID EN LA PALANCA (no uses uniqueid, sino actionid , eso lo pones en el mapeditor)
Lua:
  function onUse(cid, item, frompos, item2, topos)
-- Configuracion
local palancas = {
[2800] = {item = 2273, totalcost = 3020, charges = 1},
}

    if palancas[item.actionid] then
        local cosas = palancas[item.actionid]
        if getPlayerMoney(cid) >= cosas.totalcost then
        doPlayerRemoveMoney(cid, cosas.totalcost)
                doCreatureSay(cid, "CONGRATULATIONS! You bought a backpack with some items. ", TALKTYPE_ORANGE_1)
        local labp = doPlayerAddItem(cid, 2002)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        doAddContainerItem(labp, cosas.item, cosas.charges)
        else
        doCreatureSay(cid, "You don't have money to buy. Required: ".. cosas.totalcost.." gold coins. ", TALKTYPE_ORANGE_1)
        end
        end
        return 1
        end

Ahora, para agregar una oferta mas abajo de la linea de :
Lua:
palancas = {

Agregas:
Lua:
 [ACTIONID DE LA PALANCA] = {item = ITEM QUE LLENARA LA BACKPACK, totalcost = COSTO TOTAL DE LA BACKPACK LLENA DE ITEMS, charges = CANTIDAD DE ITEM CONTABLE / CARGAS DE RUNA},

Configuracion un poco mas explicada:

Lua:
-- [4040] = Es el actionid del item
-- Item = es el ID del item que se dara al usar la palanca
-- TotalCost = es el precio por toda la bp
-- Charges = son las cargas que se daran para cada item
 
Back
Top