Script

luishgazarolla
em Lixeira Pública

luishgazarolla

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/08/10Posts: 0

Ola boa tarde eu estou tentando adicionar algumas linhas nesse script, mas n esta dando muito certo.

 

Logo abaixo o script

 

local config = {
maxLevel = getConfigInfo('maximumDoorLevel')
}

local increasingItems = {[416] = 417, [426] = 425, [446] = 447, [3216] = 3217, [3202] = 3215, [11062] = 11063}
local decreasingItems = {[417] = 416, [425] = 426, [447] = 446, [3217] = 3216, [3215] = 3202, [11063] = 11062}
local depots = {2589, 2590, 2591, 2592}

local checkCreature = {isPlayer, isMonster, isNpc}
local function pushBack(cid, position, fromPosition, displayMessage)
doTeleportThing(cid, fromPosition, false)
doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
if(displayMessage) then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The tile seems to be protected against unwanted intruders.")
end
end

function onStepIn(cid, item, position, fromPosition)
if(not increasingItems[item.itemid]) then
	return false
end

if(not isPlayerGhost(cid)) then
	doTransformItem(item.uid, increasingItems[item.itemid])
    doCreateItem(1548,1, getPlayerPosition(cid)) 
end

if(item.actionid >= 194 and item.actionid <= 196) then
	local f = checkCreature[item.actionid - 193]
	if(f(cid)) then
		pushBack(cid, position, fromPosition, false)
	end

	return true
end

if(item.actionid >= 191 and item.actionid <= 193) then
	local f = checkCreature[item.actionid - 190]
	if(not f(cid)) then
		pushBack(cid, position, fromPosition, false)
	end

	return true
end

if(not isPlayer(cid)) then
	return true
end

if(item.actionid == 189 and not isPremium(cid)) then
	pushBack(cid, position, fromPosition, true)
	return true
end

local gender = item.actionid - 186
if(isInArray({PLAYERSEX_FEMALE,  PLAYERSEX_MALE, PLAYERSEX_GAMEMASTER}, gender)) then
	if(gender ~= getPlayerSex(cid)) then
		pushBack(cid, position, fromPosition, true)
	end

	return true
end

local skull = item.actionid - 180
if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
	if(skull ~= getCreatureSkullType(cid)) then
		pushBack(cid, position, fromPosition, true)
	end

	return true
end

local group = item.actionid - 150
if(group >= 0 and group < 30) then
	if(group > getPlayerGroupId(cid)) then
		pushBack(cid, position, fromPosition, true)
	end

	return true
end

local vocation = item.actionid - 100
if(vocation >= 0 and vocation < 50) then
	local playerVocationInfo = getVocationInfo(getPlayerVocation(cid))
	if(playerVocationInfo.id ~= vocation and playerVocationInfo.fromVocation ~= vocation) then
		pushBack(cid, position, fromPosition, true)
	end

	return true
end

if(item.actionid >= 1000 and item.actionid <= config.maxLevel) then
	if(getPlayerLevel(cid) < item.actionid - 1000) then
		pushBack(cid, position, fromPosition, true)
	end
	return true
end

if(item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) <= 0) then
	pushBack(cid, position, fromPosition, true)
	return true
end

if(getTileInfo(position).protection) then
	local depotPos, depot = getCreatureLookPosition(cid), {}
	depotPos.stackpos = STACKPOS_GROUND
	while(true) do
		if(not getTileInfo(depotPos).depot) then
			break
		end

		depotPos.stackpos = depotPos.stackpos + 1
		depot = getThingFromPos(depotPos)
		if(depot.uid == 0) then
			break
		end

		if(isInArray(depots, depot.itemid)) then
			local depotItems = getPlayerDepotItems(cid, getDepotId(depot.uid))
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Your depot contains " .. depotItems .. " item" .. (depotItems > 1 and "s" or "") .. ".")
			break
		end
	end

	return true
end

return false
end

function onStepOut(cid, item, position, fromPosition)
if(not decreasingItems[item.itemid]) then
	return false
end

if(not isPlayerGhost(cid)) then
       doRemoveItem(1548)
	doTransformItem(item.uid, decreasingItems[item.itemid])
	return true
end

return false
end

 

eu adicionei as seguintes linas.

 

Essa quando o player pisa.

doCreateItem(1548,1, getPlayerPosition(cid))

 

Essa quando o player sai do piso.

doRemoveItem(1548)

,

 

Meu problema esta na parte de remover o item, ele n remove ou quando ele remove ele retira tambem o item de baixo, e eu queria q ele removece apenas o item 1548, se alguem puder me ajudar fico grato.

jedian1

Cuidado, Espada inflamável!
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/01/10Posts: 17Char no Tibia: NemTeConto

Olá, você disse que estava adicionando a linha (doRemoveItem(xxxx)), não lembro do id, tenta fazer assim olha:

doRemoveItem(XXXX, 1)

é que essa função requer 2 parametros, o UID, e a QT,(quantidade)

tenta la

Afogamento é uma coisa de dar água na boca!



 

Todos os Cogumélos são comestíveis, alguns, só uma vez!

 

920384.png

 

Ei Você aí!

É, Você mesmo, que está lendo minha assinatura!

Você concerteza viu que meu post ali em cima foi muuuuito útil né?

Então...

Me da REP +!!

e Upa o Barkis(meu pet) também!

Eskylo

boa sorte
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 11/08/10Posts: 477Gênero: Masculino

tenta isso mano

function onStepOut(cid, item, position, fromPosition)
   	if(not decreasingItems[item.itemid]) then
           	return false
   	end

   	if(not isPlayerGhost(cid)) then
	i = getThingFromPos({x=fromPosition.x,y=fromPosition.y,z=fromPosition.z,stackpos=1})
   	doRemoveItem(i.uid, 1)
           	doTransformItem(item.uid, decreasingItems[item.itemid])
           	return true
   	end

   	return false
end

Atenciosamente, Eskylo

 

 

Ironman-icon.png

.

.