Witam, ostatnio pisząc pewien fragment skryptu w squirrelu natknąłem się na drobny problem, nie wiem, może ja coś źle robię, mianowicie client-side'owy event "onRender" nie wywołuje się. Poniżej zamieszczam fragmentu kodu:
Squirrel Script
- addEventHandler("onRender",function()
- {
- local pos = getPlayerPosition(heroId)
-
- foreach (i,v in Area.region)
- {
- local condition
-
- if (v.rawin("polyY") && v.polyY == "table")
- {
- condition = (v.polyY.min <= pos.y && v.polyY.max >= pos.y)
- }
- else
- {
- condition = true
- }
-
- if (checkAreaPoint(i, pos.x, pos.z, condition))
- {
- if (!Area.current.rawin(i))
- {
- Area.current[i] <- i
- onEnterArea(i)
- }
- }
- else if (i == Area.current[i])
- {
- delete Area.current[i]
- onExitArea(i)
- }
- }
- })
Powyższy fragment kodu działa bez problemu, testowałem go na timerze, więc problem na pewno nie leży po stronie skryptu, no chyba że źle podczepiłem funkcje pod event.