예제 #1
0
파일: mclient.c 프로젝트: BlueKarl/gmsv
void mproto_Que_Send( int fd, int uid, int index, char* question)
{
	char buffer[65500], wheres[256];
	int checksum=0, floor, x, y;

	char *cdkey = CHAR_getChar( index, CHAR_CDKEY);
	char *charname = CHAR_getChar( index, CHAR_NAME);

	if( strlen( question) <= 0 ){
		CHAR_talkToCli( index, -1, "字串长度不足!", CHAR_COLORYELLOW);
		return;
	}
	memset( wheres, 0, sizeof( wheres));
	floor = CHAR_getInt( index, CHAR_FLOOR);
	x = CHAR_getInt( index, CHAR_X);
	y = CHAR_getInt( index, CHAR_Y);
	sprintf( wheres, "%d,%d,%d", floor, x, y);

	memset( buffer, 0, sizeof( buffer));
	strcpy(PersonalKey, MSPERSIONALKEY);
	checksum += util_mkint(buffer, uid);
	checksum += util_mkstring(buffer, cdkey);
	checksum += util_mkstring(buffer, charname);
	checksum += util_mkstring(buffer, question);
	checksum += util_mkstring(buffer, wheres);
	util_mkint(buffer, checksum);
	util_SendMesg(fd, MPROTO_QUE_SEND, buffer);
}
예제 #2
0
void lssproto_CharLogout_send(int fd, char *result, char *data) {
  char buffer[1024 * 64];
  int checksum = 0;

  strcpy(buffer, "");

  CONNECT_getCdkey(fd, PersonalKey, 4096);
  strcat(PersonalKey, getPrivateKey());

  checksum += util_mkstring(buffer, result);
  checksum += util_mkstring(buffer, data);
  util_mkint(buffer, checksum);
  util_SendMesg(fd, LSSPROTO_CHARLOGOUT_SEND, buffer);
}
예제 #3
0
파일: mclient.c 프로젝트: BlueKarl/gmsv
// 回溯ok
void saacproto_ACRecalAllBackupOK_recv(char *uid, int userfdid, int GmCliId, char *id, int char_num, int date, char *char_data)
{
	char buffer[65500];
	int checksum=0;

	strcpy(buffer, "");
	strcpy(PersonalKey, MSPERSIONALKEY);
	checksum += util_mkstring(buffer, uid);
	checksum += util_mkint(buffer, userfdid);
	checksum += util_mkint(buffer, GmCliId);
	checksum += util_mkstring(buffer, id);
	checksum += util_mkint(buffer, char_num);
	checksum += util_mkint(buffer, date);
	checksum += util_mkstring(buffer, char_data);
	util_mkint(buffer, checksum);
	util_SendMesg(mfd, MPROTO_RECALL_BACKUP_OK_SEND, buffer);
}
예제 #4
0
void lssproto_FM_send(int fd, char *message) {
  char buffer[1024 * 64];
  int checksum = 0;

  strcpy(buffer, "");

  CONNECT_getCdkey(fd, PersonalKey, 4096);
  strcat(PersonalKey, getPrivateKey());

  checksum += util_mkstring(buffer, message);
  util_mkint(buffer, checksum);
  util_SendMesg(fd, LSSPROTO_FM_SEND, buffer);
}
예제 #5
0
void lssproto_ClientLogin_send(int fd, char *result) {
  char buffer[1024 * 64];
  int checksum = 0;

  strcpy(buffer, "");

  CONNECT_getCdkey(fd, PersonalKey, 4096);
  strcat(PersonalKey, getPrivateKey());

  checksum += util_mkstring(buffer, result);
  util_mkint(buffer, checksum);

  util_SendMesg(fd, LSSPROTO_CLIENTLOGIN_SEND, buffer);

}
예제 #6
0
void lssproto_EF_send(int fd, int effect, int level, char *option) {
  char buffer[1024 * 64];
  int checksum = 0;

  strcpy(buffer, "");

  CONNECT_getCdkey(fd, PersonalKey, 4096);
  strcat(PersonalKey, getPrivateKey());

  checksum += util_mkint(buffer, effect);
  checksum += util_mkint(buffer, level);
  checksum += util_mkstring(buffer, option);
  util_mkint(buffer, checksum);
  util_SendMesg(fd, LSSPROTO_EF_SEND, buffer);
}
예제 #7
0
void lssproto_MSG_send(int fd, int aindex, char *text, int color) {
  char buffer[1024 * 64];
  int checksum = 0;

  strcpy(buffer, "");

  CONNECT_getCdkey(fd, PersonalKey, 4096);
  strcat(PersonalKey, getPrivateKey());

  checksum += util_mkint(buffer, aindex);
  checksum += util_mkstring(buffer, text);
  checksum += util_mkint(buffer, color);
  util_mkint(buffer, checksum);
  util_SendMesg(fd, LSSPROTO_MSG_SEND, buffer);
}
예제 #8
0
void lssproto_WN_send(int fd, int windowtype, int buttontype, int seqno, int objindex, char *data) {
  char buffer[1024 * 64];
  int checksum = 0;

  strcpy(buffer, "");

  CONNECT_getCdkey(fd, PersonalKey, 4096);
  strcat(PersonalKey, getPrivateKey());

  checksum += util_mkint(buffer, windowtype);
  checksum += util_mkint(buffer, buttontype);
  checksum += util_mkint(buffer, seqno);
  checksum += util_mkint(buffer, objindex);
  checksum += util_mkstring(buffer, data);
  util_mkint(buffer, checksum);
  util_SendMesg(fd, LSSPROTO_WN_SEND, buffer);

}
예제 #9
0
void lssproto_M_send(int fd, int fl, int x1, int y1, int x2, int y2, char *data) {
  char buffer[1024 * 64];
  int checksum = 0;

  strcpy(buffer, "");

  CONNECT_getCdkey(fd, PersonalKey, 4096);
  strcat(PersonalKey, getPrivateKey());

  checksum += util_mkint(buffer, fl);
  checksum += util_mkint(buffer, x1);
  checksum += util_mkint(buffer, y1);
  checksum += util_mkint(buffer, x2);
  checksum += util_mkint(buffer, y2);
  checksum += util_mkstring(buffer, data);
  util_mkint(buffer, checksum);
  util_SendMesg(fd, LSSPROTO_M_SEND, buffer);
}
예제 #10
0
void lssproto_PME_send(int fd, int objindex, int graphicsno, int x, int y, int dir, int flg, int no, char *cdata) {
  char buffer[1024 * 64];
  int checksum = 0;

  strcpy(buffer, "");

  CONNECT_getCdkey(fd, PersonalKey, 4096);
  strcat(PersonalKey, getPrivateKey());

  checksum += util_mkint(buffer, objindex);
  checksum += util_mkint(buffer, graphicsno);
  checksum += util_mkint(buffer, x);
  checksum += util_mkint(buffer, y);
  checksum += util_mkint(buffer, dir);
  checksum += util_mkint(buffer, flg);
  checksum += util_mkint(buffer, no);
  checksum += util_mkstring(buffer, cdata);
  util_mkint(buffer, checksum);
  util_SendMesg(fd, LSSPROTO_PME_SEND, buffer);
}
예제 #11
0
파일: mclient.c 프로젝트: BlueKarl/gmsv
void recal_get_count()
{
	FILE *fp;
	int i, j;
	char temp[3][15], c;
	char buffer[256], msg[64];
	int checksum=0;

	if(mfd == -1) return;

	if( !(fp=fopen("recal_count.txt", "r")) ){
		print("\n open recal_count.txt err !!");
	}

	memset(temp, 0, sizeof(temp));

	i=0; j=0;
	do{
       c = fgetc(fp);
	   if(c==' '){
			i=0; j++;
			continue;
	   }
       temp[j][i]=c;
       i++;
    }while(c != EOF);

	temp[2][i-2]=0;

	sprintf(msg,"%5s%4d%12s", temp[0], atoi(temp[1]), temp[2]);

	strcpy(buffer, "");
	strcpy(PersonalKey, MSPERSIONALKEY);
	checksum += util_mkstring(buffer, msg);

	util_mkint(buffer, checksum);
	util_SendMesg(mfd, MPROTO_RECALL_COUNT_SEND, buffer);

	fclose(fp);

}