Amigão, getThingPos e getCreaturePosition, retornam tabelas X, Y, Z , STACKPOS com as devidas coordenadas. Para pegarmos valores de tabelas, utilizamos pontos, exemplo:
local pos = getCreaturePosition(cid) if (pos.x >= pos_x and pos.x <= pos_x + radiusX) and (pos.y >= pos_y and pos.y <= pos_y + radiusY) and pos_z == 9 and getPlayerStorageValue(cid, nStorage) == 1 then
Mas existem diversas funções, exemplo, isInArea, isInRange. E podemos utilizar até a isInArray, exemplo:
if isInArray({x = 1234, y = 5678, z = 9}, getThingPos(cid)) then
Sua lógica também é valida.
@Dúvida 2
Para o os.date(), temos diversos parâmetros cabíveis:
Parâmetro: Explicação: %a dia da semana abreviado (Wed) %A dia da semana completo (Sunday) %b nome do mês abreviado (Sep) %B nome do mês completo (April) %c data e hora (09/16/98 23:48:10) %d dia do mês [01-31] %H hora de um relógio de 24 horas [00-23] %I hora de um relógio de 12 horas [01-12] %M minutos [00-59] %m mês [01-12] %S segundos [00-60] %w dia da semana por números [0-6 = Domigo-Sabado] %x data (09/16/98) %X hora (23:48:10) %Y ano (1998)
Fonte: Tutorial os.date() de Demonbholder
Exemplos de uso:
if os.date("%X") == "14:48:00" and os.date("%A") == "Sunday" then
Executará caso for um dia de domingo, ás 14:48 da tade, rsrs.
GoodLuck.





info
Grupo: Artesão
Registrado: 21/07/13
Posts: 143
Reputação: +26
Boa tarde!
Qual é a sintaxe utilizada para separar as coordenadas retornadas pela função getCreaturePosition(cid)?
Exemplo:
O player está na posição x = 1234, y = 5678, z = 9. Então ao chamar a função ela retorna {1234, 5678, 9}. No entanto, preciso fazer a checagem para uma área:
if ((1234 >= pos_x and 1234 <= pos_x + radiusX) and (5678 >= pos_y and 5678 <= pos_y + radiusY) and pos_z == 9 and getPlayerStorageValue(cid, nStorage) == 1) then ..
Ou seja, irá checar se o player estiver dentro da área delimitada e tiver o nStorage ativo.
Resumindo, preciso 'quebrar' o valor retornado pela função getCreaturePosition(cid) em posições x, y, z.
Aproveito também para perguntar como distinguir os dias da semana utilizando a função os.time() ou os.date() (não sei ao certo qual é)?