• 01-04.05.2026 - DOUBLE EXP / SKILL EVENT!

Actions Wydobywanie item?w z kamieni za pomoc? kilofa

Status
Zamknięty.

DanJ93

ElfBot Helper
Przyjaciel forum
Dołączył
Styczeń 18, 2009
Posty
2631
Liczba reakcji
198
Skrypt polega na tym, ?e u?ywaj?c jakiego? itema (np. kilofa) na innych itemach wypisanych w [kwadratowych nawiasach] (np. kamienie szlachetne) i mamy X% szansy ?e otrzymamy losowy item z {nawias?w} przypisanych do item?w, na kt?rych u?yli?my np. kilofa

Skrypt jest autorstwa [USER]DanJ93[/USER], przy skrypcie pomaga? [USER]Oskar[/USER].

data/actions/actions.xml
PHP:
<action itemid="XXX" event="script" value="gornik.lua"/>
data/actions/scripts/ tworzymy plik gornik.lua i wklejamy do niego:
PHP:
--[[ 
Author: DanJ93 & Oskar
--]] 
local config = {
				[1294] = {111, 112, 113, 114}, -- small stone
				[2145] = {222, 223, 224, 225}, -- small diamond
				[2146] = {2493, 2494, 2495, 7891}, -- small sapphire
				[2147] = {2493, 2494, 2495, 7891}, -- small ruby
				[2149] = {2493, 2494, 2495, 7891}, -- small emerald
				[2150] = {2493, 2494, 2495, 7891} -- small amethyst
				}
				
local items = {}
for item, _ in pairs(config) do
	table.insert(items, item)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
local teksty = {'Nic sie nie krylo w ' .. getItemNameById(itemEx.itemid) .. '', 'Zbyt mocno udezyles, roztrzaskales przedmiot znajdujacy sie w ' .. getItemNameById(itemEx.itemid) .. '', 'Nic nie bylo w ' .. getItemNameById(itemEx.itemid) .. '', 'Upusciles ' .. getItemNameById(itemEx.itemid) .. ' ktory sie rozwalil'}
local tekst = math.random(1, #teksty)
if config[itemEx.itemid] then
	local itemek = config[itemEx.itemid][math.random(1, #config[itemEx.itemid])]
	if math.random(100) <= 33 then
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Uderzenie bylo za lekkie, aby rozlupac' .. getItemNameById(itemEx.itemid) .. '.')
	end
	if math.random(100) <= 14 then
		doRemoveItem(item.uid, 1)
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Zniszczyles ' .. getItemNameById(item.itemid) .. '.')
	end
	doRemoveItem(itemEx.uid, 1)
	if math.random(100) <= 4 then
		doRemoveItem(item.uid, 1)
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Zniszczyles ' .. getItemNameById(item.itemid) .. ' i ' .. getItemNameById(itemEx.itemid) .. '.')
	end
	if math.random(100) <= 13 then
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, '' .. teksty[tekst] .. '.')
	end
	if math.random(100) <= 20 then
		doPlayerAddItem(cid, itemek)
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Wykules ' .. getItemNameById(itemek) .. ', ale ' .. getItemNameById(item.itemid) .. ' ulegl zniszczeniu!')
		return doRemoveItem(item.uid, 1)
	else
		doPlayerAddItem(cid, itemek)
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Wykules ' .. getItemNameById(itemek) .. '!')
	end
else 
	local x = ''
	for i = 1, #items do
		x = x .. getItemNameById(items[i]) .. (i < #items-1 and ', ' or i == #items-1 and ' lub ' or '.')
	end
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, '' .. getItemNameById(item.itemid) .. ' musisz uzyc na jednym z tych kamieni: ' .. x) 
end 
return true 
end
 
Odp: Wydobywanie item?w z kamieni za pomoc? kilofa

Kod:
 [22/06/2012 14:14:39] [Error - Action Interface] 
[22/06/2012 14:14:39] data/actions/scripts/tools/gornik.lua:onUse
[22/06/2012 14:14:39] Description: 
[22/06/2012 14:14:39] (luaDoPlayerAddItem) Item not found

[22/06/2012 14:14:43] [Error - Action Interface] 
[22/06/2012 14:14:43] data/actions/scripts/tools/gornik.lua:onUse
[22/06/2012 14:14:43] Description: 
[22/06/2012 14:14:43] (luaDoPlayerAddItem) Item not found

1294 na ziemi i u?ycie pick axe [2553]. Gdy pojawi si?"wydoby?e?"
0.3.6 v4 8.6
 
Odp: Wydobywanie item?w z kamieni za pomoc? kilofa

Od?wie?am.
Gdyby kto? mia? jakie? b??dy pisa? w temacie
 
Status
Zamknięty.
Back
Do góry