Code:
if(sscanf_s(szStageName, "[gra=%i] [zib=%i]", &newgra, &newzib)) {
// ToDo: Add Code Here
}
else {
// ToDo: Add Code Here
}
Try to move away from room name tags, aim for stage settings or channel id based modifiers.
Code:
void ZModule_Movable::UpdateGravity(float fDelta)
{
int fGravity;
string name = (string)ZGetGameClient()->GetStageName();
if(sscanf(name.c_str(), "[G=%i]", &fGravity)) {
if(fGravity > 0)
m_Velocity.z = max( m_Velocity.z - fGravity*fDelta,-MAX_FALL_SPEED);
} else
m_Velocity.z = max( m_Velocity.z - GRAVITY_CONSTANT*fDelta,-MAX_FALL_SPEED);
}