это основа:
BitStream bsSend;
BitStream bsSpawn;
bsSend.Write(rand()%7);
g_RakClient->RPC( RPC_Spawn, &bsSpawn );
далее можно нопить SetPlayerPos или прерывать телепорт на принятые координаты ( RPC_ScrSetPlayerPos ) RPC хуком. Так легче будет. И да , после смены класса лучше делать таймер 30мс, а после спавна 100+ мс
Ты то написал про хук но здесь мало кто это сможет сотворить