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

Pobieranie wartości z tabel

Natrov

New Member
Joined
Dec 14, 2013
Messages
72
Reaction score
2
Zły dział.
Cześć orientuje się ktoś jak pobrać wartość z tabeli wirtualnej tabeli?
Dodaje wartość do tabeli
Code:
table.insert(tbl, randomTask.storage)
Nie wiem natomiast jak w/w wartość pobrać i sprawdzić czy występuje w tablicy.. Pomoże ktoś? Dzięki za każde informacje.

Code:
if getGlobalStorageValue(777) == 2 then
if getGlobalStorageValue(778) < 3 then
for _, pid in ipairs(getPlayersOnline()) do
local randomTask = config[math.random(#config)]
doPlayerOpenChannel(pid, 10)
addEvent(next_question, 5*1000) --- 10 sec ---
local tbl = {}
table.insert(tbl, randomTask.storage)
for i = 1, #tbl do
addEvent(doPlayerSendChannelMessage, 500, pid, "Quiz", "" .. randomTask.question .. "Storage: "..randomTask.storage.."", TALKTYPE_CHANNEL_O, 10)
setGlobalStorageValue(1000, randomTask.storage)
local get = getGlobalStorageValue(778)
setGlobalStorageValue(778, get + 1)  
print(unpack(tbl))
end
end
end
end
 
A jak sprawdzić co znajduje się w tabeli? Próbuję zrobić:
Code:
if zmienne z tabeli ~= randomTask.storage then
Tylko nie wiem jak wyciągnąć całą tabelę... PS: Nie
print(unpack(tbl))

### EDIT

Po prostu mam sporą tablicę w niej znajdują się pytania oraz odpowiedzi funkcją: math.random losuje losowe pytanie, lecz chce uniknąć powtórek.. :)
 
Last edited:
@UP
Subzero chce sie ukryc :) ale slabu mu to wychodzi xD

@Topic
local COS = { "subzero","czy","ty","kiedys","ogarniesz","?"}
local COSS = COS[math.random(1,#COS)]
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Twoje COS to ".. COSS ..", Gratulacje!")

Ta funkcja robi to co chcesz pobiera z tablicy COS.


@BTW widze twoj 2 post
Ja polecal bym to zrobic na zasadzie tabeli:

local COS =
{
[PYTANIE] = { "ODPOWIEDZ"}
}

a nie pewnie jak nasz geniusz zrobil:

local table = { "PYTANIE","ODPOWIEDZ")


@EDIT LAST
Daj ktos IP OTKa tego goscia
 
Last edited:
Chodzi mi o to, piszę quiz event, gracze będą odpowiadać na kanale quiz. Globaleventa już mam, teraz tylko talkaction. Jak zrobić żebym mógł wysyłać odpowiedzi na quiz channel w formacie np. Pytanie: W którym roku powstała tibia? Odpowiedź: 1997 . Co zrobić aby moja odpowiedź wysłana na kanale quiz była taka 1997 a nie np. /quiz 1997. Podsumowując chodzi mi o to abym mógł od razu wysyłać samą odpowiedź na w/w kanale. :)
 
Last edited:
@UP
Ja nic nie rozumiec co ty pisac.
Ale jak dasz caly skrypt to zrozumiem....

@Temat
Czekam na IP, chyba ze to noob od Cantebia?
 
Dało by się zrobić coś działającego na bazie tego:
Code:
for t, v in ipairs(getPlayersOnline()) do
t[cała tabela] = v
end

addEvent(doPlayerSendChannelMessage, 500, v, "Event", "Tekst.", 13, 10)

Abym nie musiał
zamieszczać wszystkich funkcji w
Code:
for t, v in ipairs(getPlayersOnline()) do
ponieważ posiadam wiele funkcji addEvent i wykonuje się ona tyle razy ile jest graczy ;/ Proszę i pomoc :D
 
@UP
Tobie chodzi zeby ta funkcja nie byla czesto wykonywana?

@BTW
Po co to wszystko pisesz w globalEvents? Chcesz zeby kazdy gracz w tym samym czasie robil tego questa? A nie zeby on sie znajdowal w quest roomie?
 
Bo to musi być w globalevents, system o danej godzinie załącza event, pojawia się informacja na na Broadcast oraz na Quiz Channel. Są generowane pytania, gdy nikt nie odpowie wyświetlana jest odpowiednia informacja. Aby wziąć udział wystarczy otworzyć Quiz Channel i najszybciej odpowiedzieć na 20 pytań.... :) Wszystko ładnie pyka, tylko gdy jest online > 1 wszystko się buguje.. ;(((

#EDIT
Sądzę, że przyczyną błędnego wyświetlania pytań itp jest:
Code:
for _, pid in ipairs(getPlayersOnline()) do
      addEvent(question, go_question*1000)
end

Ipairs zawiera w sobie dużo więcej funkcji i AddEventów, i nie mam jak osobno tam wcisnąć addEvent(question, go_question*1000) żeby nie był w w/w tabeli...
 
Back
Top