WHILE koşullu bir döngüdür , belirli bir koşul doğru olduğunda kendini tekrar edecek bir kod bloğudur. Temel olarak bunu bir EĞER olarak düşünebilirsiniz. IF deyimi false değerini döndürene kadar süresiz olarak çalışacak olan ENDIF bloğu.
HER ZAMAN VE HER ZAMAN:
1. ENDWHILE ile blokları sonlandırın.
2. WHILE bloğu içinde, koşullu ifadenin sonucunu değiştirecek bir eylem gerçekleştirin.
Örneğin:
[FUNCTION remove_all_mems]
WHILE (<FINDID.i_memory.UID>) // nesnenin içinde bir i_memory öğesi bulunduğu sürece döngüye devam et
FINDID.i_memory.REMOVE // remove a memory item******
ENDWHILEDöngünün içindeyken, komut dosyasının şu ana kadar kaç kez döngüye girdiğine erişmek için LOCAL._WHILE kullanılabilir. Bazı durumlarda, WHILE bloğunuzun çıkmaya zorlanmadan önce kaç kez dönebileceğine dair bir 'sınır' koymak için bunu kullanmak isteyebilirsiniz. Bunun bir örneği şunlar olabilir:Rastgele sayılar olduğu için rastgele teorik olarak, sağlığın hiçbir zaman 10'dan küçük veya 10'a eşit bir değere ayarlanmaması mümkündür. WHILE koşulunun içindeki LOCAL._WHILE kontrol ederek, betiğin süresiz olarak döngüye girmesine ve sunucuyu dondurmasına karşı koruma ekleriz.

