コード例 #1
0
    // Called when a player logs out.
    void OnLogout(Player* player)
    {
        if (!CharacterHistoryEnable || !CharacterHistoryLogout)
            return;

        WriteToHistory(player, CHARACTER_HISTORY_LOGOUT);
    }
コード例 #2
0
    // Called when a player is created.
    void OnCreate(Player* player)
    {
        if (!CharacterHistoryEnable || !CharacterHistoryCreate)
            return;

        WriteToHistory(player, CHARACTER_HISTORY_CREATE);
    }
コード例 #3
0
ファイル: lpcore.cpp プロジェクト: ElvishArtisan/LPCore
void MainWidget::messageReceivedData(const LPMessage &msg)
{
  QString str;

  for(int i=0;i<msg.size();i++) {
    str+=QString().sprintf("%02X ",0xFF&msg[i]);
  }
  str=str.left(str.length()-1);
  WriteToHistory(QString("<font color=\"")+LPCORE_RECEIVE_COLOR+"\">"+str+
		 "</font>  <font color=\""+LPCORE_NOTATION_COLOR+"\">"+
		 msg.decode()+"</font>");
}
コード例 #4
0
ファイル: lpcore.cpp プロジェクト: ElvishArtisan/LPCore
void MainWidget::returnPressedData()
{
  char data[1024];
  int ptr=0;
  QString str;
  QString text;
  int istate=0;
  bool ok=false;

  if(lp_send_edit->text().isEmpty()) {
    WriteToHistory("&nbsp;");
    return;
  }

  for(int i=0;i<lp_send_edit->text().length();i++) {
    char c=lp_send_edit->text().toUpper().toAscii()[i];
    switch(istate) {
    case 0:
      switch(c) {
      case '0':
      case '1':
      case '2':
      case '3':
      case '4':
      case '5':
      case '6':
      case '7':
      case '8':
      case '9':
      case 'A':
      case 'B':
      case 'C':
      case 'D':
      case 'E':
      case 'F':
	str=c;
        istate=1;
        break;

      case '\'':
	text="";
	istate=2;
	break;
      }
      break;

    case 1:
      switch(c) {
      case '0':
      case '1':
      case '2':
      case '3':
      case '4':
      case '5':
      case '6':
      case '7':
      case '8':
      case '9':
      case 'A':
      case 'B':
      case 'C':
      case 'D':
      case 'E':
      case 'F':
	str+=c;
        data[ptr++]=0xFF&str.toInt(&ok,16);
        istate=0;
        break;
      }
      break;

    case 2:
      switch(c) {
      case '\'':
	for(int j=0;j<text.length();j++) {
	  data[ptr++]=text.toAscii()[j];
	}
	if(((0xFF&data[2])==0x5C)&&((0xFF&data[1])==0)) {  // Calculate Length
	  data[1]=0xFF&(8+text.length());
	}
	istate=0;
	break;

      default:
	text+=lp_send_edit->text().toAscii()[i];
	break;
      }
      break;

    default:
      istate=0;
      break;
    }
  }
  if((istate!=0)||(!LPParser::validate(data,ptr))) {
    QMessageBox::warning(this,tr("LPCore - Data Entry Error"),
			 tr("Invalid data entered!"));
    return;
  }
  lp_connection->writeMessage(data,ptr);
  if(lp_connection->context()==LPConnection::Isolated) {
    WriteToHistory(QString("<font color=\"")+LPCORE_SEND_COLOR+"\">"+
		   LPParser::dump(data,ptr)+"  <font color=\""+
		   LPCORE_NOTATION_COLOR+"\">"+
		   LPMessage(data,ptr).decode()+
		   "</font>");
  }
  lp_send_edit->clear();
}