, 그 다음은 작동합니다 : 긴 목록에 대한
messages = {
"text1",
"text2",
"text3",
"text4",
-- ...
}
SendChatMessage(GetRandomArgument(unpack(messages)), "RAID")
을, 당신이 잘 인수로서 하나의 테이블을 것 GetRandomElement
와 GetRandomArgument
를 대체 제공 될 것이며, 테이블에서 임의의 항목을 리턴하십시오.
편집 :Olle's answer은 GetRandomElement
과 같은 것을 구현할 수 있습니다. 그러나 루아 5.1에서 더 이상 사용되지 않는 모든 호출에 table.getn
을 사용했으며 그 대체 (table.maxn
)는 테이블의 요소 수에 비례하는 런타임 비용을 가지고 있습니다.
함수 table.maxn
은 사용중인 테이블의 배열 부분에 요소가 누락 된 경우에만 필요합니다. 그러나이 중에서 선택할 항목 목록의 경우 목록에 구멍을 허용 할 필요가 없습니다. 런타임에 목록을 편집해야하는 경우 table.remove
을 사용하여 항목을 제거 할 수 있으므로 간격을 줄일 수 있습니다. 이 같은 메시지를 보낼 수 있도록
function GetRandomElement(a)
return a[math.random(#a)]
end
: 텍스트의 배열 간격이 없도록 보장으로
, 당신은이 같은
GetRandomElement
을 구현할 수
SendChatMessage(GetRandomElement(messages), "RAID")
최고를 - 그냥 뭐 나는 끝났어. 큰 감사를 드린다. 조 – Joe