그래서 나는 꽤 딜레마가 있습니다. 나는 예를 들어, 특정 MSG를 읽는 코드를 가지고 :루아 테이블 (배열 또는 사전 테이블)의 문자열 인덱스 저장
m.content:sub(1,8) == 'Loot of ' then
읽
01:50 Loot of a starving wolf: a dirty fur, a salad, 2 pancakes, 60 gold
지금 나는 그것이 테이블에 삽입하기 위해 노력하고있어. 지금까지 가지고있는 문제는 문자열의 유형을 계산할 수 없으며 색인을 추가하기 위해 그것을 테이블에서 비교할 수 없다는 것입니다. 예를 들어
:
foreach newmessage m do
m.content:sub(1,8) == 'Loot of ' then
하고 난 그냥 잃었어요 :
t = {dirty fur="quantity of msgs that show this",insert a new msg="how many times haves appear}
내가 지금까지 작업 한 것은. 이 테이블을 만드는 방법을 모르겠습니다. 그것은 로컬이어야하지만, 내가 가진 주요 문제는 내가 쌍으로 인쇄하고 싶지 않다는 것입니다. 삽입 된 순서대로 1에서 #table까지 값을 호출하고 싶습니다. 그것은 내 고통이 시작되는 곳입니다. 나는이 표를 (나는 아직도 할 수없는) 얻을 때, 나는 다른 기능에 대한 동일한 테이블을 호출 할 수 있습니다
table msgs = {spear='100',something='2', ovni='123'}
, 그 잘 난 테이블을 호출 할 :
내가 좋아하는 뭔가를 원한다. "xmsg"= 수량. 누군가가 내가 원하는 것을 이해하기를 바랍니다. 이 기능의
function loot()
foreach newmessage m do
if m.type == MSG_INFO and m.content:sub(1,8) == 'Loot of ' then
local content = (m.content:match('Loot of .-: (.+)')):token(nil,', ')
for i,j in ipairs(content) do
return content
end
end
end
end
반환 MSG를이 :
{"3 gold coins"}
{"3 gold coins"}
{"nothing"}
{"6 gold coins", "a hand axe"}
{"12 gold coins", "a hand axe"}
사례를 실제 사례로 다시 쓸 수 있습니까? "asdf"라고 쓰면 당신이 말하는 것을 알기가 어렵습니다. 그런 다음 "창"과 "ovni"에 대해 언급하지만 이전에는 나타나지 않습니다. – kikito
자신을 더 잘 설명하기 위해 [SSCCE] (http://sscce.org/)를 만들 수 있습니다. –