Add command to eternally trap players ingame

This commit is contained in:
kaetemi 2014-04-01 13:52:36 +02:00
parent 9edd54c446
commit 7af85d6f2f
5 changed files with 28 additions and 2 deletions

View file

@ -69,6 +69,8 @@ bool PermanentlyBanned = false;
bool IgnoreEntityDbUpdates = false; bool IgnoreEntityDbUpdates = false;
bool FreeTrial = false; bool FreeTrial = false;
bool NoLogout = false;
std::vector<std::pair< std::vector<std::pair<
std::string, std::string> > VRDeviceCache; std::string, std::string> > VRDeviceCache;

View file

@ -130,6 +130,8 @@ extern std::string Cookie, FSAddr;
extern std::string RingMainURL; extern std::string RingMainURL;
extern bool FreeTrial; extern bool FreeTrial;
extern bool NoLogout;
void resetTextContext (const char *font, bool resetInterfaceManager); void resetTextContext (const char *font, bool resetInterfaceManager);
#endif // CL_GLOBAL_H #endif // CL_GLOBAL_H

View file

@ -1089,6 +1089,7 @@ void CInterfaceManager::configureQuitDialogBox()
// Show Launch Editor if not in editor mode // Show Launch Editor if not in editor mode
CInterfaceElement *eltCancel = quitDlg->getElement(quitDialogStr+":cancel"); CInterfaceElement *eltCancel = quitDlg->getElement(quitDialogStr+":cancel");
CInterfaceElement *eltEdit = quitDlg->getElement(quitDialogStr+":launch_editor"); CInterfaceElement *eltEdit = quitDlg->getElement(quitDialogStr+":launch_editor");
if (eltEdit) if (eltEdit)
{ {
if (UserRoleInSession != R2::TUserRole::ur_editor && !sessionOwner) if (UserRoleInSession != R2::TUserRole::ur_editor && !sessionOwner)
@ -1159,6 +1160,18 @@ void CInterfaceManager::configureQuitDialogBox()
eltQuitNow->setActive(false); eltQuitNow->setActive(false);
} }
} }
if (NoLogout)
{
eltEdit->setY(0);
eltEdit->setActive(false);
eltQuit->setY(0);
eltQuit->setActive(false);
eltQuitNow->setY(0);
eltQuitNow->setActive(false);
eltRet->setY(0);
eltRet->setActive(false);
}
} }
// Make all controls have the same size // Make all controls have the same size

View file

@ -3555,6 +3555,13 @@ void impulseSetNpcIconTimer(NLMISC::CBitMemStream &impulse)
CNPCIconCache::getInstance().setMissionGiverTimer(delay); CNPCIconCache::getInstance().setMissionGiverTimer(delay);
} }
void impulseEventDisableLogoutButton(NLMISC::CBitMemStream &impulse)
{
NoLogout = true;
CInterfaceManager *im = CInterfaceManager::getInstance();
im->configureQuitDialogBox();
}
//----------------------------------------------- //-----------------------------------------------
// initializeNetwork : // initializeNetwork :
//----------------------------------------------- //-----------------------------------------------
@ -3704,6 +3711,8 @@ void initializeNetwork()
GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_DESC", impulseSetNpcIconDesc ); GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_DESC", impulseSetNpcIconDesc );
GenericMsgHeaderMngr.setCallback( "NPC_ICON:SVR_EVENT_MIS_AVL", impulseServerEventForMissionAvailability ); GenericMsgHeaderMngr.setCallback( "NPC_ICON:SVR_EVENT_MIS_AVL", impulseServerEventForMissionAvailability );
GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_TIMER", impulseSetNpcIconTimer ); GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_TIMER", impulseSetNpcIconTimer );
GenericMsgHeaderMngr.setCallback( "EVENT:DISABLE_LOGOUT_BUTTON", impulseEventDisableLogoutButton );
} }

View file

@ -1111,8 +1111,8 @@
sendto="EGS" sendto="EGS"
format="u32 u32 uc" format="u32 u32 uc"
description="set the cursom of the item in inventory $inventory in slot $slot to $text" /> description="set the cursom of the item in inventory $inventory in slot $slot to $text" />
<leaf name="DUMMY" <leaf name="DISABLE_LOGOUT_BUTTON"
description="stupid server....." /> description="disables the logout button on the client" />
</branch> </branch>
<branch name="TOTEM"> <branch name="TOTEM">
<leaf name="BUILD" <leaf name="BUILD"