Sok esetben szükségünk van arra, hogy az alkalmazásunk reagáljon különböző eseményekre. A PAWN még erre is biztosít lehetőséget. Fontos, hogy ezeket mind az absztrakt gépben kell megvalósítani. (Azaz az applikáció melyik függvényhívása váltson ki eseményt). Nincs előre definiált szabvány könyvtár ehhez, a programozó kódolhatja le az eseményeket. Több belépési pont is lehetséges (Multiple events), például az AmxModXben is - ami egy absztark gép.
State-ek segítségével állapotokat reprezentálhatunk, ami eghatározza egy eseménynél lefuttatandó függvényt. Ebben az esetben egy függvényt többször definiálhatunk, csupán az állapotok - amelyeket hozzárendelünk - lehetnek különbözőek, pontosabban, különbözőeknek kell lennie. Ez esemény-vezérelt programnál nagyon nagy előnyt jelent. Új állapotba a state kulcsszóval tudunk jutni.
Meg kell adni olyan esetet is, amikor nem vagyunk az adott állapotban: fall back state (<>). Ha ninCs ilyen, a script leállását eredményezheti. Native és forward függvényekhez nem rendelhetőek state-ek
Mint ahogy függvényekhez, a változókhoz is rendelhetünk állapotokat. Ekkor a felsorolt állapotokban lesz elérhető és módosítható a változó tartalma. Ebből adódóan ezek nem lehetnek stock s public változók.
További infók: