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

tablica, lua, nagordy

Aleh

Active Member
Joined
Jan 9, 2009
Messages
1,228
Reaction score
39
Location
Rzeszów
witajcie,
mam sobie tablice, w niej pozycje ['cos1'], ['cos2'] i w tych pozycjach jest jeszcze jedna tablica z nagrodami, w jednej jest dwie nagrody, w drugie cztery. W jaki sposób mogę je rozdać? for? w jaki sposób? dodam że to talkactions.
 
Lua:
local config =
{
	["first"]	=
	{
		rewards = {[0] = 0, [0] = 0}
	},
	["second"] 	= 
	{
		rewards = {[0] = 0, [0] = 0, [0] = 0, [0] = 0}
	}
}

function onSay(...)
	...
	for key, value in pairs(config) do
		...
		for itemId, count in pairs(value.rewards) do
			doPlayerAddItem(cid, itemId, count)
		end
	end
	...
	return true
end
O takie coś ci chodzi?
 
Last edited:
for i, value in ipairs({})
lub key, value in pairs({})

zależy od tego, jak masz skonstruowaną tablicę i co z niej potrzebujesz ;)
 
Lua:
local config = {
	['rotworm queen'] = {storageStart = 33333, storageKill = 31333, kill = 250, monster = 'Rotworm Queen', reward = {exp = 10000, item1 = 2160, item1c= 20}},
	['dragon'] = {storageStart = 33343, storageKill = 31343, kill = 2500, monster = 'Dragon', reward = {exp = 1070100, item1 = 2160, item1c= 50, item2 = 2492, item2c = 1, item3 = 2498, item3c = 1}}
}
Tak to wygląda, z reward chce dodać te wszystkie pozycje playerowi

@Ralcoral
spróbuje rano -dzieki
 
lolol po co robisz item1 item2 item3, nie lepiej nowy zbiór
{x, y, x2,y2} i zrobić, że dzielisz ten zbiór na 2 i reszta z dzielenia to = item, a tak to jeśli podzielne przez 2 to = count?

np.

{1234, 1, 1234, 5, 1234, 8}
i potem podziel zbiór, żeby count zczytywało z co drugiej wartości, a item -1
 
{1234, 1, 1234, 5, 1234, 8}
i potem podziel zbiór, żeby count zczytywało z co drugiej wartości, a item -1
Lepiej tak:
Lua:
local config = {[itemId] = count, [itemId] = count}
 
Zrobiłem tak jak napisał Ralcoral: reward = {[2160] = 50, [2492] = 1}
pentelka ale tylko jedna for key, value in pairs(config[param].reward) do

Do zamknięcia.
 
Back
Top