function nshc_w(evPP,nid,pW) local sI = E().sI or 1 chauthc(nid,evPP,pW) while true do if ev[1] == "net_msg" then local V,msg=false,tostring(ev[4]) if ev[3] == evPP and ev[2] == nid then if msg:sub(1,3) == "dis" then write(msg:sub(4)) end end elseif ev[1] == "key" and ev[2] == sI and ev[3] == 29 and ev[4] == 27 then break elseif ev[1] == "key" and ev[2] == sI then ns(nid,evPP,"key"..tostring(ev[3])) end C.yield() end ns(nid,evPP,"exit") end function nshc(P,nid,pW) pW=(pW or readln("*")) ns(nid,P,"initnsh") while true do if ev[1] == "net_msg" and ev[2] == nid and ev[3] == P then break elseif ev[1] == "key" and ev[2] == sI and ev[3] == 29 and ev[4] == 27 then break end C.yield() end nshc_w(ev[4],nid,pW) end