Exemplo n.º 1
0
	void OnUserPostNick(User* user, const std::string& oldnick) override
	{
		// Detect and ignore nickname case change
		if (ServerInstance->FindNickOnly(oldnick) == user)
			return;

		SendAlert(RPL_MONOFFLINE, oldnick);
		SendAlert(RPL_MONONLINE, user->nick);
	}
Exemplo n.º 2
0
bool CMailMgr::InsertMail( const int iType, const char *szSender, const char *szReceiver, char *szTitle, char *szBody )
{		
	char szMailQuerry[3072] = {0,};
	char szMailBody[2048] = {0,};
	
	::ConvertQueryString(szBody,szMailBody,1000);

	switch(iType)
	{
	case GUILD_MAIL:
		{
			int iGuildCode = 0;
			if(!::GetGuildCode(szSender, iGuildCode)){return false;}
		
			::sprintf(szMailQuerry, "EXEC MailInsertGuild %d, %d, %d, '%s', '%s', '%s'",
				MVT_RECV_LIST,	iType,	iGuildCode,
				szSender, szTitle, szMailBody );
		}break;
	default:
		{
			::sprintf(szMailQuerry, "EXEC MailInsert %d, %d, '%s', '%s', '%s', '%s'",
				MVT_RECV_LIST,	iType,	
				szSender, szReceiver, szTitle, szMailBody );
		}break;
	}

	if( 1 == ::Querry_SQL( szMailQuerry ))
	{
		SendAlert(szReceiver);//메일 왔음을 알린다.
		return true;
	}
	return false;
}
Exemplo n.º 3
0
	void OnUserQuit(User* user, const std::string& message, const std::string& oper_message) override
	{
		LocalUser* localuser = IS_LOCAL(user);
		if (localuser)
			manager.UnwatchAll(localuser);
		SendAlert(RPL_MONOFFLINE, user->nick);
	}
Exemplo n.º 4
0
void MainObject::SetAudioStatus(bool status)
{
  if(main_monitor->audioStatus(Am::This)!=status) {
    if(status) {
      SendAlert("Audio replication has RESUMED between servers \""+
		main_config->hostname(Am::This)+"\" and \""+
		main_config->hostname(Am::That)+"\".");
    }
    else {
      SendAlert("Audio replication has STOPPED between servers \""+
		main_config->hostname(Am::This)+"\" and \""+
		main_config->hostname(Am::That)+"\".");
    }
    main_monitor->setThisAudioStatus(status);
    main_cmd_server->sendCommand(Am::StateCommand,StateUpdateArgs());
  }
}
Exemplo n.º 5
0
bool CMailMgr::IsExistNotRead(const int cn,t_packet *p)//안읽은 메일이 있는가?
{
	char		szQuerry[MAX_PATH] = {0,};

	k_start_game_mail *pSGM = &p->u.kein.start_game_mail;
	
	::sprintf(szQuerry, "EXEC  MailGetNotReadCount '%s'",
	pSGM->name);

	HSTMT		hStmt = NULL;
	RETCODE		retCode;
	SDWORD		cbValue;

	::SQLAllocStmt(hDBC, &hStmt);

	retCode = SQLExecDirect(hStmt, (UCHAR *)szQuerry, SQL_NTS);

	int iCount = 0;

	if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
	{		
		retCode = SQLFetch(hStmt);
		int column = 0;
		
		retCode = ::SQLGetData(hStmt, ++column, SQL_C_LONG, &iCount, 0, &cbValue);
		
		::SQLFreeStmt(hStmt, SQL_DROP);
		
		if(iCount)
		{
			SendAlert(pSGM->name);//얼럿을 때린다
		}
		return ((iCount)?true:false);
	}
	else 
	{
		::SQLFreeStmt(hStmt, SQL_DROP);
		return false;
	}
	return false;
}
Exemplo n.º 6
0
	void OnUserBack(User* user) override
	{
		SendAlert(user, user->nick, RPL_NOTAWAY, "is no longer away", ServerInstance->Time());
	}
Exemplo n.º 7
0
	void OnUserAway(User* user) override
	{
		SendAlert(user, user->nick, RPL_GONEAWAY, user->awaymsg.c_str(), user->awaytime);
	}
Exemplo n.º 8
0
	void Offline(User* user, const std::string& nick)
	{
		SendAlert(user, nick, RPL_LOGOFF, "went offline", user->age);
	}
Exemplo n.º 9
0
	void Online(User* user)
	{
		SendAlert(user, user->nick, RPL_LOGON, "arrived online", user->age);
	}
Exemplo n.º 10
0
	void OnPostConnect(User* user) override
	{
		SendAlert(RPL_MONONLINE, user->nick);
	}