/*#ifdef __NEW_PROTOCOL /* output by ./lsgen.perl 0.41 ( 1998 May) * made Mon Jun 12 11:17:33 2000 * user kawata * host unicorn.lan.titan.co.jp * file /opt/kawata/sa/bin/output/lssproto_cli.c * util output/lssproto_util.c , output/lssproto_util.h * src /opt/kawata/sa/bin/../doc/lssproto.html *//* #define _LSSPROTOCLI_C_ #include #include "../systeminc/version.h" #include "../systeminc/lssproto_cli.h" void lssproto_SetClientLogFiles( char *r , char *w ) { lssproto_strcpysafe( lssproto_readlogfilename , r , sizeof( lssproto_readlogfilename ) ); lssproto_strcpysafe( lssproto_writelogfilename , w , sizeof( lssproto_writelogfilename ) ); } int lssproto_InitClient( int (*writefunc)(int,char*,int) ,int bufsiz ,int fd) { int i; if( (void*)writefunc == NULL){lssproto.write_func = lssproto_default_write_wrap;} else {lssproto.write_func = writefunc;} lssproto_AllocateCommonWork(bufsiz); lssproto_stringwrapper = (char**)MALLOC(sizeof(char*) * MAXLSRPCARGS); if(lssproto_stringwrapper ==NULL)return -1; memset( lssproto_stringwrapper , 0, sizeof(char*)*MAXLSRPCARGS); for(i=0;i #include "../systeminc/version.h" #include "../systeminc/lssproto_cli.h" // nuke: TNJ: ttom & nuke & jongan : prevent packet cheat //extern char *NJT_dummy; //extern char *NJT[NJT_MAX]; /*#define JNT \ ((lssproto.work[0]+lssproto.work[1]+lssproto.work[2]+lssproto.work[3]+ \ lssproto.work[4]+lssproto.work[5]+lssproto.work[6]+lssproto.work[7])%NJT_MAX) #define TNJ { if(NJT[JNT]) lssproto.work=NJT[JNT]; } */ //cary void old_lssproto_FC_send( int fd ) { lssproto_CreateHeader( lssproto.work , "FC" ); lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } //end /* 166 :
  • clienttoserver W( int x, int y, string direction);
    167 : (Walk)?????????????????????e???????? 168 : ????????????????????????????????? 169 : ???Re??????????????????u?u???????qn? 170 : ??????????W???????????????????????? 171 : ?????????????????\??????????????? 172 : ?????????? 173 : ????????????????MC???????????????MC 174 : ???????????????????????????????????? 175 : ????֢t???????????????????? 176 : 177 : 178 : 179 :

    180 :
    181 :
    int x,y 182 :
    ?????????????????? 183 : 184 :
    string direction 185 :
    ???? a,b,c,d,e,f,g,h???????h?? 186 : a?(dx,dy)=(0,-1)???????? h??(-1,-1) 187 : A,B,C,D,E,F,G,H ????????????? 188 : ???????????????? "ccae"??? 189 : ?????????????????"G"?? 190 : ????????????11??n??????? 191 : ????????????? 192 : 193 :
    194 :
    195 :
    196 :
    197 :
    */ void old_lssproto_W_send( int fd,int x,int y,char* direction ) { lssproto_CreateHeader( lssproto.work , "W" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( direction ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 198 :
  • clienttoserver w( int x, int y, string direction);
    199 : ?o????u?i?????????????????????h????? 200 : ???????????????????MC?????????OK?????? 201 : ??MC??????????MC?????????????????w????????? 202 : ???????????????????????????????? CHAR_EVENT_ALTERRATIVE 203 : ??????????????????????????u??????G??????????????????? 204 :
    205 :
    206 :
    207 :
    208 : */ void old_lssproto_w_send( int fd,int x,int y,char* direction ) { lssproto_CreateHeader( lssproto.work , "w" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( direction ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 212 :
  • clienttoserver EV( int event,int seqno,int x, int y, int dir);
    213 : ??????????????????_????D??? 214 : ?????e??????????????? 215 : 216 :

    217 :
    218 :
    int event 219 :
    ???????char_base.h????????e???????
    220 :
    221 : typedef enum
    222 : {
    223 : 	CHAR_EVENT_NONE,		?????D???
    224 : 	CHAR_EVENT_NPC,			?eNPC???
    225 : 	CHAR_EVENT_ENEMY,		?e??????????
    226 : 	CHAR_EVENT_WARP,		???????
    227 : 	CHAR_EVENT_ALTERRATIVE,		??????????????????????????????
    228 : 	CHAR_EVENTNUM,
    229 : }CHAR_EVENT;
    230 : 	    
    231 : 	
    232 : CHAR_EVENT_NPC????O??NPC?????????????????? 233 : ???????EV????????????Re??q??????????
    234 :
    int seqno 235 :
    ??????????No?e?????????????T?????????????? 236 : ??????????????? 237 : ?????EV????n?????????? 238 :
    int x,y 239 :
    ??t 240 :
    int dir 241 :
    ????????????t??????????????S???i?????-1? 242 :
    243 :
    244 :
    245 :
    246 :
    */ void old_lssproto_EV_send( int fd,int event,int seqno,int x,int y,int dir ) { lssproto_CreateHeader( lssproto.work , "EV" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( event ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( seqno ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dir ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 261 :
  • clienttoserver EN( int x, int y );
    262 : ?????????e????????????????????? 263 : ????????????????????????????? 264 :

    265 :
    266 :
    int x,y 267 :
    ??????????????????????? 268 :
    269 :
    270 :
    271 :
    272 :
    */ void old_lssproto_EN_send( int fd,int x,int y ) { lssproto_CreateHeader( lssproto.work , "EN" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 273 :
  • clienttoserver DU( int x, int y);
    274 : ????????????i?????????????????? 275 : ????????????????????????????? 276 :

    277 :
    278 :
    int x,y 279 :
    ??????????????????????? 280 :
    281 :
    282 :
    283 :
    284 :
    */ void old_lssproto_DU_send( int fd,int x,int y ) { lssproto_CreateHeader( lssproto.work , "DU" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 298 :
  • clienttoserver EO( int dummy );
    299 : ????????????????????????? 300 :
    301 :
    int dummy 302 :
    ??????????????? 303 :
    304 :
    305 :
    306 :
    307 :
    308 : */ void old_lssproto_EO_send( int fd,int dummy ) { lssproto_CreateHeader( lssproto.work , "EO" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dummy ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 309 :
  • clienttoserver BU( int dummy );
    310 : ???????????????e???????? 311 :
    312 :
    int dummy 313 :
    ??????????????? 314 :
    315 :
    316 :
    317 :
    318 :
    319 : */ void old_lssproto_BU_send( int fd,int dummy ) { lssproto_CreateHeader( lssproto.work , "BU" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dummy ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 320 :
  • clienttoserver JB( int x, int y );
    321 : \?Pf?ӡP??????????? EN ????? 322 :
    323 :
    int x, int y; 324 :
    ???????????? 325 :
    326 :
    327 :
    328 :
    329 :
    330 : */ void old_lssproto_JB_send( int fd,int x,int y ) { lssproto_CreateHeader( lssproto.work , "JB" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 331 :
  • clienttoserver LB( int x, int y );
    332 : \?Pf??P??????????? EN ????? 333 :
    334 :
    int x, int y; 335 :
    ???????????? 336 :
    337 :
    338 :
    339 :
    340 :
    341 : */ void old_lssproto_LB_send( int fd,int x,int y ) { lssproto_CreateHeader( lssproto.work , "LB" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 354 :
  • clienttoserver B( string command );
    355 : ??????????????Pf??????e???????k????????e????????????D???ul?e??????D???ul??????????ul???

    356 :
      357 :
    • H|?k?(%X)(0?19)
      G?????k??e

      358 :
    • E
      `???

      359 :
    • G
      \??

      360 :
    • N
      ??????

      361 :
    • T|?k?(%X)
      ??

      362 :
    • J|?k?(%X)|?k?(%X)? 363 :
      ???????k???????????k???? 364 : ???(0?5)?

      365 :
    • W|????k?(%X)|?k?(%X)
      366 : ?????????????????k?????????k?? 367 : ???(0?7)

      368 :
    • S|????k?(%d)?
      ????????????????

      369 :
    • I|?????k?(%X)|?k?(%X)? 370 :
      ???????????????k???????????????k???? 371 : ???(5?19)?

      372 :
    373 :
    374 :
    375 :
    376 : */ void old_lssproto_B_send( int fd,char* command ) { lssproto_CreateHeader( lssproto.work , "B" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( command ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 542 :
  • clienttoserver SKD( int dir , int index );
    543 : (SKillDir) 544 : e???????????? 545 :

    546 :
    547 :
    int dir 548 :
    ?????? 549 :
    int index 550 :
    ????????????index. 551 :
    552 : ???????G?????????????????????? 553 :
    554 : 
    555 :       ?????????????
    556 :       rpcgen C???????????????????G??????
    557 :       ?????????enum
    558 : 
    559 :       ???q??????????s???????
    560 :       typedef enum
    561 :       {
    562 :       SKILL_FIRE,
    563 :       SKILL_MAGICIAN,         ??
    564 :       SKILL_PRIEST,           ?
    565 :       SKILL_ALOTOFTHINGS,     ????
    566 :                               ????
    567 :                              7(?) + 8 (?? ) + 4*(???????)
    568 :       SKILL_AVOIDRATEUP,      ???????? 3% ?????
    569 :       SKILL_DETERMINEITEM,    ????
    570 : 
    571 :       SKILL_DETERMINOTHERS,   J??
    572 :                              0 ??Re???(?)
    573 :                              1 ?????????????V??
    574 :                                  ???????V???????
    575 :                              2 ?????
    576 :                              3 NPC
    577 :                              4 ????
    578 :                              5 
    579 : 
    580 :       SKILL_FIRECUT,         ???  5 %
    581 :       SKILL_THUNDERCUT,      ????  5 %
    582 :       SKILL_ICECUT,          ??  5 %
    583 :       SKILL_MERCHANT,         ??20% ??100% ?? 5%?????
    584 :       SKILL_HEALER,          ?
    585 :                               ?????????k??????????
    586 :                               1 
    587 :                               2 ???
    588 :                               3 ?
    589 :                               4 ?
    590 :                               5 ??
    591 :                               6 ??
    592 :                               7 HP 1 ???
    593 :                               8 HP ???????
    594 :       ????u?
    595 :       ????????????
    596 :       0  0
    597 :       1 50
    598 :       2 57
    599 :       3 64
    600 :       4 71
    601 :       5 78
    602 :       6 85
    603 :       7 92
    604 :       8 100
    605 :       ?????????( 100 ??? )??k??? 1 10 ????
    606 :       ??? + ?????
    607 :       0 0
    608 :       1 1
    609 :       2 2
    610 :       3 3
    611 :       4 4
    612 :       5 5
    613 :       6 6
    614 :       7 7
    615 :       8 8
    616 : 
    617 :       SKILL_FIST,             ?
    618 :       SKILL_SWORD,            ??
    619 :       SKILL_AXE,              ??
    620 :       SKILL_SPEAR,            ??
    621 :       SKILL_BOW,              ??
    622 :       SKILL_CANE,             ?
    623 : 
    624 :       SKILL_LARGEVOICE,       ??   Lv 8
    625 :                               ?????????? TK ?
    626 :       SKILL_NUM
    627 :       }SKILL_ID;
    628 :       
    629 :
    630 :
    631 :
    632 : */ void old_lssproto_SKD_send( int fd,int dir,int index ) { lssproto_CreateHeader( lssproto.work , "SKD" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dir ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( index ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 633 :
  • clienttoserver ID( int x, int y, int haveitemindex,int toindex);
    634 : (useItemDir)?????????????????????????????????????????? 635 : ??????????? 636 : 637 : 638 :
    639 :
    int x,y 640 :
    ?x,y ? 641 :
    int haveitemindex 642 :
    ????????????????????? 643 :
    int toindex 644 :
    M?????????????????????????index???????????????? 645 :
    646 : 	      = 0
    647 : 	  ???  = 1 ?5
    648 : 	  ??    = 6 ?10 ?S N ?0?4?n??????????
    649 : 	
    650 : n?u??????????????-1?????
    651 :
    652 :
    653 :
    654 :
    655 :
    656 :
    657 : 658 : 659 : 660 : 661 : */ void old_lssproto_ID_send( int fd,int x,int y,int haveitemindex,int toindex ) { lssproto_CreateHeader( lssproto.work , "ID" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( haveitemindex ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( toindex ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 662 :
  • clienttoserver PI( int x, int y,int dir );
    663 : (PickupItem) 664 : ??????????K????????9??????

    665 :
    666 :
    int x,y 667 :
    ?x,y ? 668 :
    int dir 669 :
    ????????K????? ????K?????? 670 :
    671 :
    672 :
    673 :
    674 : 675 : */ void old_lssproto_PI_send( int fd,int x,int y,int dir ) { lssproto_CreateHeader( lssproto.work , "PI" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dir ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 676 :
  • clienttoserver DI( int x, int y, int itemindex);
    677 : (DropItem) 678 : ?????t??t???????????t???????t? 679 : e????itemindex??????t???????q?t?? 680 :

    681 : 682 :
    683 :
    int x,y 684 :
    ?x,y ? 685 :
    int itemindex 686 :
    t?????????????? 687 :
    688 :
    689 :
    690 :
    691 : 692 : */ void old_lssproto_DI_send( int fd,int x,int y,int itemindex ) { lssproto_CreateHeader( lssproto.work , "DI" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( itemindex ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 693 :
  • clienttoserver DG( int x, int y, int amount );
    694 : (DropGold) 695 : ???t??SA?????t???D??

    696 :
    697 :
    int x,y 698 :
    ?x,y ? 699 :
    int amount 700 :
    t?????? 701 :
    702 :
    703 :
    704 :
    705 : */ void old_lssproto_DG_send( int fd,int x,int y,int amount ) { lssproto_CreateHeader( lssproto.work , "DG" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( amount ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 706 :
  • clienttoserver DP( int x, int y,int petindex);
    707 : (DropPet) 708 : ????t?????t?e???? 709 : petindex??????t???????q?t?? 710 :

    711 : 712 :
    713 :
    int x,y 714 :
    ?x,y ? 715 :
    int petindex 716 :
    t???????index????????k???????????? 717 :
    718 :
    719 :
    720 :
    721 : */ void old_lssproto_DP_send( int fd,int x,int y,int petindex ) { lssproto_CreateHeader( lssproto.work , "DP" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( petindex ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 741 :
  • clienttoserver MI( int fromindex , int toindex);
    742 : (MoveItem)
    743 : ??????h/?/??????????????? 744 : ?h???????

    745 :
    746 :
    int fromindex 747 :
    ?h????????????? 748 :
    int toindex 749 :
    ???????????? 750 :
    751 : ??????G?? 752 :
      753 :
    • 0 ??????( d ) 754 :
    • 1 ??????( l ) 755 :
    • 2 ???????????() 756 :
    • 3 ?ߦ?????1 757 :
    • 4 ?ߦ?????2 758 :
    • ???? ????? 759 :
    760 :
    761 :
    762 :
    */ void old_lssproto_MI_send( int fd,int fromindex,int toindex ) { lssproto_CreateHeader( lssproto.work , "MI" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( fromindex ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( toindex ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 788 :
  • clienttoserver MSG( int index , string message , int color );
    789 : (MeSsaGe) 790 : ??????????????????index???????? 791 : ???????????

    792 :
    793 :
    int index 794 :
    ?????????????????? 795 :
    string message 796 :
    ???????????EUC???????????? 797 : ???????????????????????????? 798 :
    int color 799 :
    ??????? 800 :
    801 :
    802 :
    803 :
    804 :
    805 : */ void old_lssproto_MSG_send( int fd,int index,char* message,int color ) { lssproto_CreateHeader( lssproto.work , "MSG" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( index ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( message ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( color ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 830 :
  • clienttoserver PMSG( int index, int petindex, int itemindex, string message , int color );
    831 : (PetMeSsaGe) 832 : ??????????????????????index???????? 833 : ?????????????????????????

    834 :
    835 :
    int index 836 :
    ?????????????????? 837 :
    int petindex 838 :
    ?k?????????? 839 :
    int itemindex 840 :
    ?k???????????? 841 :
    string message 842 :
    ???????????EUC???????????? 843 : ???????????????????????????? 844 :
    int color 845 :
    ??????? 846 :
    847 :
    848 :
    849 :
    850 :
    */ void old_lssproto_PMSG_send( int fd,int index,int petindex,int itemindex,char* message,int color ) { lssproto_CreateHeader( lssproto.work , "PMSG" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( index ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( petindex ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( itemindex ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( message ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( color ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } void old_lssproto_AB_send( int fd ) { lssproto_CreateHeader( lssproto.work , "AB" ); lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 921 :
  • clienttoserver DAB( int index );
    922 : (DeleteAddressBookitem)???????????????????? 923 : ???????????????????????????AB?? 924 : ???????????????????????????? 925 : ????????? 926 :
    927 :
    int index 928 :
    ??????index.??????0???? 929 :
    930 : ???????????????{??????????? 931 :
    932 :
    933 :
    934 : */ void old_lssproto_DAB_send( int fd,int index ) { lssproto_CreateHeader( lssproto.work , "DAB" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( index ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 935 :
  • clienttoserver AAB( int x, int y );
    936 : (AddAddressBookitem) 937 : ??q?????????????????????? 938 : ???????????????????? 939 : ?????AB???????????????????? 940 :
    941 :
    int x,y 942 :
    ????? 943 :
    944 :
    945 :
    946 :
    947 : */ void old_lssproto_AAB_send( int fd,int x,int y ) { lssproto_CreateHeader( lssproto.work , "AAB" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 948 :
  • clienttoserver L( int dir);
    949 : (Look) 950 : dir ?????????????????????????D 951 : ???????????????M???????????????? 952 : ??????????????????????????????? 953 : ???????????????????????????Y???? 954 : ??q?????(a?NPC?????)??????q???NPC?n 955 : ?????????n????????????????NPC? 956 : ??h?????????????????????l?????? 957 : TK????????????? 958 :
    959 :
    960 :
    961 : */ void old_lssproto_L_send( int fd,int dir ) { lssproto_CreateHeader( lssproto.work , "L" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dir ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 962 :
  • clienttoserver TK( int x, int y, string message ,int color, int area);
    963 : (TalK) 964 : ????????????????????

    965 :
    966 :
    int x,y 967 :
    ????? 968 :
    string message 969 :
    string ???, "|" ?2???????????????? 970 : ????????2???????????????2?? 971 : ????????????????? 972 : ????????????????????? 973 :
      974 :
    • P??
      975 : Id?C???"P"??????????????V 976 : ?????????????????????????? 977 : ??????Id??????????????? 978 : ?????????????????Id?"P"? 979 : ????????Re???????d???? 980 : ???????TK??????????TK??????? 981 : ???????"P"?????????V??? 982 :
      983 : ?????? 984 :
      985 : 		  "P|??????????!!"
      986 : 		  
      987 :
      988 : ???????????????????d??e 989 : ?????????????????????Re? 990 : ???????C?????????'!' ?u? 991 : ??V????????????????'!'???T 992 : ????????????????u???S??? 993 : ?????????!?????????????? 994 : ??????d?????? 995 : 996 : 998 : 999 :
      "..."??????????? 997 :
      1000 :
    1001 :
    int color 1002 :
    ???? 1003 :
    int area 1004 :
    ?????????d?????e???? 1005 : 1006 :
    1007 :
    1008 :
    1009 :
    1010 : */ void old_lssproto_TK_send( int fd,int x,int y,char* message,int color,int area ) { lssproto_CreateHeader( lssproto.work , "TK" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( message ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( color ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( area ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1071 :
  • clienttoserver M(int fl , int x1 , int y1 , int x2, int y2 );
    1072 : ??????????????????M???????????? 1073 : ????????MC??????????????????? 1074 : ?????????????????????????? 1075 :
    1076 :
    int fl 1077 :
    ???k? 1078 :
    int x1 1079 :
    ?X 1080 :
    int y1 1081 :
    ?Y 1082 :
    int x2 1083 :
    ??X 1084 :
    int y2 1085 :
    ??Y 1086 :
    1087 :
    1088 :
    1089 :
    1090 : */ void old_lssproto_M_send( int fd,int fl,int x1,int y1,int x2,int y2 ) { lssproto_CreateHeader( lssproto.work , "M" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( fl ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x1 ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y1 ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x2 ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y2 ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1128 :
  • clienttoserver C( int index );
    1129 : ????ѩ??????????index CA ?????????? 1130 : C ???????????????????????? 1131 :
    1132 :
    1133 :
    1134 : */ void old_lssproto_C_send( int fd,int index ) { lssproto_CreateHeader( lssproto.work , "C" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( index ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1345 :
  • clienttoserver S( string category );
    1346 : (Status) 1347 : ??????????????? 1348 :
    1349 :
    string category 1350 :
    ???ѩ?????????????e? 1351 :
      1352 :
    • P u????? 1353 :
    • C ? 1354 :
    • I u???? 1355 :
    • S u??? 1356 :
    • T u? 1357 :
    • M ?????? 1358 :
    • E ???????? 1359 :
    • K0 - K4 ??????? 1360 :
    • D ID 1361 :
    1362 :
    1363 : ????ѩ????????????????????? 1364 : ??????????????? 1365 :
    1366 :
    1367 :
    1368 : */ void old_lssproto_S_send( int fd,char* category ) { lssproto_CreateHeader( lssproto.work , "S" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( category ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1745 :
  • clienttoserver FS( int flg);
    1746 : (FlgSet)????V????DUELϣ????????????????????On/Off???

    1747 : 1748 :
    1749 :
    int flg 1750 :
    0 bit 0: ??Off 1: ??On
    1751 : ???t??1 bit 0: PfN??off 1: PfN??On
    1752 : 2 bit 0: DUEL off 1: DUEL On
    1753 : 3 bit 0: ?G???????? 1: ??????????????????
    1754 : 4 bit 0: ??OK 1: ???r
    1755 :
    1756 :
    1757 :
    1758 :
    1759 :
    */ void old_lssproto_FS_send( int fd,int flg ) { lssproto_CreateHeader( lssproto.work , "FS" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( flg ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1774 :
  • clienttoserver HL( int flg);
    1775 : (HeLp)???????@e??????ON?????\??Pf?????????

    1776 : 1777 :
    1778 :
    int flg 1779 :
    0: ??????Off 1: ??????On
    1780 :
    1781 :
    1782 :
    1783 :
    1784 :
    */ void old_lssproto_HL_send( int fd,int flg ) { lssproto_CreateHeader( lssproto.work , "HL" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( flg ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1795 :
  • clienttoserver PR( int x, int y,int request);
    1796 : (PartyRequest)???V?or? ??????

    1797 : 1798 :
    1799 :
    int x,y 1800 :
    ?x,y ? 1801 :
    int request 1802 :
    0: ???1: ??????? 1803 :
    1804 :
    1805 :
    1806 :
    1807 :
    */ void old_lssproto_PR_send( int fd,int x,int y,int request ) { lssproto_CreateHeader( lssproto.work , "PR" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( request ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1824 :
  • clienttoserver KS( int petarray);
    1825 : (Kyoryu Select)Pf??????k???

    1826 : 1827 :
    1828 :
    int petarray 1829 :
    0 ? 4 ??????k??????????????????????Pf??????????????????-1?V??? 1830 :
    1831 :
    1832 :
    1833 :
    1834 :
    */ void old_lssproto_KS_send( int fd,int petarray ) { lssproto_CreateHeader( lssproto.work , "KS" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( petarray ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1852 :
  • clienttoserver AC( int x, int y, int actionno);
    1853 : (action)?W?????????

    1854 : 1855 :
    1856 :
    int x,y 1857 :
    ?x,y ? 1858 :
    int actionno 1859 :
    ???????????????????????????????????????????(CA)????? 1860 : ???????e??????????????????k????????n?????G??
    1861 :
    1862 : 1863 : 1864 : 1865 : 1866 : 1867 : 1868 : 1869 : 1870 : 1871 : 1872 : 1873 : 1874 : 1875 : 1876 : 1877 :
    actionno
    ??0
    ????1
    X??2
    ?????3
    ?4
    ??5
    ??6
    ??7
    W?8
    v??9
    ???10
    ????11
    ???12
    1878 :
    1879 :
    1880 :
    1881 :
    1882 :
    */ void old_lssproto_AC_send( int fd,int x,int y,int actionno ) { lssproto_CreateHeader( lssproto.work , "AC" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( actionno ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1883 :
  • clienttoserver MU( int x, int y, int array, int toindex);
    1884 : (magic use)???????????????????????????????????? 1885 : ??????????? 1886 : 1887 : 1888 :
    1889 :
    int x,y 1890 :
    ?x,y ? 1891 :
    int array 1892 :
    ????????????? P ? Jn(n ?\????)?n??????????? 1893 :
    int toindex 1894 :
    M??????????????????????index???????????????? 1895 :
    1896 : 	      = 0
    1897 : 	  ???  = 1 ?5
    1898 : 	  ??    = 6 ?10 ?S N ?0?4?n??????????
    1899 : 	
    1900 : n?u??????????????-1?????
    1901 :
    1902 :
    1903 :
    1904 :
    1905 :
    1906 :
    */ void old_lssproto_MU_send( int fd,int x,int y,int array,int toindex ) { lssproto_CreateHeader( lssproto.work , "MU" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( array ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( toindex ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1907 :
  • clienttoserver PS( int havepetindex, int havepetskill, int toindex, string data);
    1908 : (PetSkill use )??????????????????????? 1909 : 1910 :
    1911 :
    int havepetindex 1912 :
    ?k??????????? 1913 :
    int havepetskill 1914 :
    ?k????????? 1915 :
    int toindex 1916 :
    M??????????????????????index???????????????? 1917 :
    1918 : 	      = 0
    1919 : 	  ???  = 1 ?5
    1920 : 	  ??    = 6 ?10 ?S N ?0?4?n??????????
    1921 : 	
    1922 : n?u??????????????-1?????
    1923 :
    1924 :
    string data 1925 :
    ?ѩ????????????haveitemindex1|haveitemindex2|haveitemindex3|...
    1926 : ??????????k??V????? 1927 : 1928 :
    1929 : 1930 :
    1931 :
    1932 :
    1933 :
    1934 : */ void old_lssproto_PS_send( int fd,int havepetindex,int havepetskill,int toindex,char* data ) { lssproto_CreateHeader( lssproto.work , "PS" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( havepetindex ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( havepetskill ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( toindex ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( data ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1963 :
  • clienttoserver ST( int titleindex );
    1964 : (SelectTitle) 1965 : ??????titleindex ? -1 ??????????????? 1966 : ??

    1967 :
    1968 :
    int titleindex 1969 :
    ?k????? 1970 :
    1971 : ????Txt?????????????????????????? 1972 : ?Gl???? 1973 :
    1974 :
    1975 :
    1976 :
    1977 : 1978 : */ void old_lssproto_ST_send( int fd,int titleindex ) { lssproto_CreateHeader( lssproto.work , "ST" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( titleindex ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1979 :
  • clienttoserver DT( int titleindex );
    1980 : (DeleteTitle) 1981 : ???????

    1982 :
    1983 :
    int titleindex 1984 :
    ???????????? 1985 :
    1986 : ????Txt?????????????????????????????G 1987 : l???? 1988 :
    1989 :
    1990 :
    1991 :
    1992 : */ void old_lssproto_DT_send( int fd,int titleindex ) { lssproto_CreateHeader( lssproto.work , "DT" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( titleindex ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 1993 :
  • clienttoserver FT( string data );
    1994 : (inputFreeTitle) 1995 : ?V?????V????

    1996 :
    1997 :
    string data 1998 :
    ?V?????EUC???????????????? 1999 : ??????????????????1?info??? 2000 : ????????????????????????? 2001 : ???????????? 2002 :
    2003 : ??????Txt?????????Gl???????????? 2004 : ?CHARINDEX?n???Ch????????????????? 2005 : ??? 2006 :
    2007 :
    2008 :
    2009 :
    2010 : */ void old_lssproto_FT_send( int fd,char* data ) { lssproto_CreateHeader( lssproto.work , "FT" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( data ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 2019 :
  • clienttoserver SKUP( int skillid );
    2020 : (SKillUP) 2021 : ??????????????

    2022 :
    2023 :
    int skillid 2024 :
    ???????????0=l?, 1=??, 2=Ǧ?, 3=?? 2025 :
    2026 :
    2027 :
    2028 :
    2029 : */ void old_lssproto_SKUP_send( int fd,int skillid ) { lssproto_CreateHeader( lssproto.work , "SKUP" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( skillid ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 2030 :
  • clienttoserver KN( int havepetindex, string data );
    2031 : (inputKyoryuName) 2032 : ????q?V????

    2033 :
    2034 :
    int havepetindex 2035 :
    ????k?? 2036 :
    string data 2037 :
    ???????????q????? 2038 : 2039 :
    2040 : ??????Txt?????????Gl???????????? 2041 : ??????????????????? 2042 :
    2043 :
    2044 :
    2045 :
    2046 : */ void old_lssproto_KN_send( int fd,int havepetindex,char* data ) { lssproto_CreateHeader( lssproto.work , "KN" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( havepetindex ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( data ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 2166 :
  • clienttoserver WN( int x, int y, int seqno, int objindex, int select, string data );
    2167 :
    2168 : ??????n???
    2169 :
    2170 :
    2171 :
    int x,y 2172 :
    ???????x,y? 2173 :
    int seqno 2174 :
    ????????seqno?????? 2175 :
    int objindex 2176 :
    ????????objindex?????? 2177 :
    int select 2178 :
    ??????k????????k?????????WN ?buttontype ?define?i????? 2179 :
    string data 2180 :
    ??V?????????????V??????? 2181 : k???????????k??k???1??? 2182 : ?????????k??????????????????????????? 2183 :

    ?????
    2184 : ????k??k??????????
    2185 : ????k????????k??????|??
    2186 : ??\ ??1 ??2 ?3 2187 : 2188 :


    ?????????
    2189 : ??????????(kk?)????????(kk?)?????????(kk?)?kh
    2190 : 2191 :
    2192 :
    2193 :
    2194 :
    2195 :
    */ void old_lssproto_WN_send( int fd,int x,int y,int seqno,int objindex,int select,char* data ) { lssproto_CreateHeader( lssproto.work , "WN" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( seqno ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( objindex ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( select ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( data ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 2238 :
  • clienttoserver SP( int x, int y, int dir );
    2239 : (SetPosition)
    2240 : ?????????????? 2241 : ??????????????????
    2242 :
    2243 :
    2244 :
    int x,y, dir 2245 :
    ?,??? 2246 :
    2247 :
    2248 :
    2249 :
    2250 :
    2251 : 2252 : */ void old_lssproto_SP_send( int fd,int x,int y,int dir ) { lssproto_CreateHeader( lssproto.work , "SP" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dir ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 2253 :
  • clienttoserver ClientLogin(string cdkey,string passwd);
    2254 : ??????????????????????????????? 2255 : ?????????????????????????????? 2256 : ??????????????????????????????? 2257 : ???O????????ѩ?????????????????? 2258 : ??????????????????T????????? 2259 : 2260 :

    2261 :
    2262 :
    string cdkey 2263 :
    CDKEY 2264 :
    string passwd 2265 :
    ????????????????????? 2266 :
    2267 :
    2268 :
    2269 :
    2270 : */ void old_lssproto_ClientLogin_send( int fd,char* cdkey,char* passwd ) { lssproto_CreateHeader( lssproto.work , "ClientLogin" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( cdkey ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( passwd ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 2284 :
  • clienttoserver CreateNewChar(int dataplacenum, string charname,int imgno , int faceimgno, int vital, int str, int tgh, int dex, int earth, int water, int fire, int wind, int hometown);
    2285 : ???????????? 2286 :

    2287 :
    2288 :
    int dataplacenum 2289 :
    ????k??????????????????????????????????????????Re??? 2290 :
    string charname 2291 :
    ???(????????????????)? 2292 : ???????????????????????????? 2293 :
    int imgno 2294 :
    ?????????k?? 2295 :
    int faceimgno 2296 :
    ????k??????????? 2297 :
    int vital, str,tgh dex 2298 :
    ??????? 2299 :
    int earth, water, fire, wind 2300 :
    ?Nͣk 2301 :
    int hometown 2302 :
    ?0???k?J???? 2303 :
    string option 2304 : 2305 : ????????????????e?????????k 2306 : ???????????????????????????? 2307 : ????? 2308 :
    2309 :
    2310 :
    2311 :
    2312 : 2313 : */ void old_lssproto_CreateNewChar_send( int fd,int dataplacenum,char* charname,int imgno,int faceimgno,int vital,int str,int tgh,int dex,int earth,int water,int fire,int wind,int hometown ) { //cary if(imgno>=100239) return; //end lssproto_CreateHeader( lssproto.work , "CreateNewChar" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dataplacenum ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( charname ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( imgno ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( faceimgno ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( vital ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( str ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( tgh ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dex ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( earth ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( water ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( fire ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( wind ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( hometown ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } /* 2338 :
  • clienttoserver CharDelete(string charname);
    2339 : ?????? 2340 :

    2341 :
    2342 :
    string charname 2343 :
    ????????????????????????? 2344 :
    2345 :
    2346 :
    2347 :
    2348 :
    */ void old_lssproto_CharDelete_send( int fd,char* charname ) { lssproto_CreateHeader( lssproto.work , "CharDelete" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( charname ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } /* 2366 :
  • clienttoserver CharLogin(string charname);
    2367 : ??????????????????????? 2368 :

    2369 :
    2370 :
    string charname 2371 :
    ?????????????????????????? 2372 :
    2373 :
    2374 :
    2375 :
    */ void old_lssproto_CharLogin_send( int fd,char* charname ) { lssproto_CreateHeader( lssproto.work , "CharLogin" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( charname ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } /* 2391 :
  • clienttoserver CharList( void );
    2392 : ???????x?? 2393 :

    2394 :
    2395 :
    */ void old_lssproto_CharList_send( int fd ) { lssproto_CreateHeader( lssproto.work , "CharList" ); lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); // TNJ; } /* 2438 :
  • clienttoserver CharLogout(void);
    2439 : ????????????????????????? 2440 : ????? 2441 :
    2442 :
    2443 :
    2444 : */ void old_lssproto_CharLogout_send( int fd ) { lssproto_CreateHeader( lssproto.work , "CharLogout" ); lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } /* 2459 :
  • clienttoserver ProcGet(void);
    2460 : proc ????x????????????????????????? 2461 :
    2462 :
    2463 :
    2464 : */ void old_lssproto_ProcGet_send( int fd ) { lssproto_CreateHeader( lssproto.work , "ProcGet" ); lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } /* 2477 :
  • clienttoserver PlayerNumGet(void);
    2478 : ????????????x??? 2479 :
    2480 :
    2481 :
    2482 : */ void old_lssproto_PlayerNumGet_send( int fd ) { lssproto_CreateHeader( lssproto.work , "PlayerNumGet" ); lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } /* 2495 :
  • clienttoserver Echo( string test);
    2496 : ????????????????????????? 2497 :

    2498 :
    2499 :
    string test 2500 :
    ???????????????? 2501 :
    2502 :
    2503 :
    2504 :
    2505 : */ void old_lssproto_Echo_send( int fd,char* test ) { lssproto_CreateHeader( lssproto.work , "Echo" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( test ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } /* 2517 :
  • clienttoserver Shutdown( string passwd, int min);
    2518 : ???????????

    2519 : ??????????????h???????????????????????????? 2520 : ??????????denyaccept()????????????????????? 2521 : ???closeallsockets()?????????????????????? 2522 :

    2523 :
    2524 :
    string passwd 2525 :
    ???????????????????@e????? 2526 :
    int min 2527 :
    ????????????????????@e??? 2528 :
    2529 :
    2530 :
    2531 :
    2532 : */ void old_lssproto_Shutdown_send( int fd,char* passwd,int min ) { lssproto_CreateHeader( lssproto.work , "Shutdown" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( passwd ) ,lssproto.workbufsize ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( min ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } // Robin 2001/04/10 trade void old_lssproto_TD_send( int fd,char* message ) { lssproto_CreateHeader( lssproto.work , "TD" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( message ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } void old_lssproto_FM_send( int fd,char* message ) { lssproto_CreateHeader( lssproto.work , "FM" ); lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( message ) ,lssproto.workbufsize ); lssproto_Send( fd , lssproto.work ); } int lssproto_ClientDispatchMessage(int fd ,char*line) { int msgid; char funcname[1024]; lssproto_strcpysafe( lssproto.work , line,lssproto.workbufsize ); lssproto_splitString( lssproto.work); lssproto_GetMessageInfo( &msgid , funcname , sizeof(funcname),lssproto.token_list); /* 209 :
  • servertoclient XYD( int x, int y, int dir );
    210 : ?Pf??????????t???????? 211 :

    */ if( strcmp( funcname , "XYD" ) == 0 ){ int x; int y; int dir; x = lssproto_demkstr_int( lssproto.token_list[2] ); y = lssproto_demkstr_int( lssproto.token_list[3] ); dir = lssproto_demkstr_int( lssproto.token_list[4] ); lssproto_XYD_recv( fd,x,y,dir); return 0; } /* 247 :
  • servertoclient EV(int seqno,int result);
    248 : ???????EV?n???????? 249 : ???????????????????????? 250 : ???? 251 : 252 :
    253 :
    int seqno 254 :
    ??????EV?seqno?n???? 255 :
    int result 256 :
    ???0:??????? 1:?????????????n??G??????????????? 257 :
    258 :
    259 :
    260 :
    */ if( strcmp( funcname , "EV" ) == 0 ){ int seqno; int result; seqno = lssproto_demkstr_int( lssproto.token_list[2] ); result = lssproto_demkstr_int( lssproto.token_list[3] ); lssproto_EV_recv( fd,seqno,result); return 0; } /* 285 :
  • servertoclient EN(int result,int field);
    286 : ???????EN??DU?n??????????????????????????????????? 287 : 288 :
    289 :
    int result 290 :
    ???0:???????or???? 1:??Pfϣ?2:n??Pfϣ?????Pf????G ??????????????? 291 :
    int field 292 :
    ????????k?? 293 :
    294 :
    295 :
    296 :
    297 : */ if( strcmp( funcname , "EN" ) == 0 ){ int result; int field; result = lssproto_demkstr_int( lssproto.token_list[2] ); field = lssproto_demkstr_int( lssproto.token_list[3] ); lssproto_EN_recv( fd,result,field); return 0; } /* 342 :
  • servertoclient RS( string data );
    343 : Pf???x????????????Gl?
    344 : RS|k?(10)|?????????(10)|EXP(62),k?|?????????|EXP,???,????|????|????

    345 : k????k?5??????","???????????????????????k??-2?
    346 : 2???4????????k??0?4)??????k???????????????????","????
    347 : ????????q?"|"??????????????????????"|"???? 348 : */ if( strcmp( funcname , "RS" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_RS_recv( fd,data); return 0; } /* 349 :
  • servertoclient RD( string data );
    350 : ???????x?????????????Gl?
    351 : RD|x?(??)DP(62)|??DP(62)|

    352 : 353 : */ if( strcmp( funcname , "RD" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_RD_recv( fd,data); return 0; } /* 377 :
  • servertoclient B( string command );
    378 : Pf???????u?????k??u? ?16???
    379 : ???[?k?]????????????k????? 380 : q??????????q???????????D?????????? 381 :

    382 :

    383 : ??????? 384 :

    385 : ?????????u?????????????????????
    386 : ???( BATTLESTR_ADD( ?? ) )????????????????????????????????????
    387 : ????????????u??k????????k????????????(???????????)
    388 : 389 :
    390 : ???????????s????????
    391 : ---???????
    392 : ---?????G???
    393 : ---?????????
    394 : ---?????\?
    395 : ---??????????
    396 : ---????????
    397 : ---?????????????????
    398 : ---?????????????????
    399 : ---????????????????
    400 : ---?????????
    401 :
    402 :
      403 :
    • BH|????G??????
      404 : BH|??Dk?|駍Dk?|???|????|駍Dk?|???|????|?????????駍Dk??FF?????????????????
      405 :
      406 : 407 : (G???) B|BH|attack_0|defense_A|flag_2|damage_32|defense_B|flag_2|damage_32|FF|
      408 : ???0k?(attack_0)Ak(defense_A)?0x32???????(damage_32)???Bk(defense_B)????????0x32????(damage_32)??????????

      409 : 410 : (???????) B|BH|attack_0|defense_A|flag_2|dagame_32|counter_0|flag_10|damage_16|FF|
      411 : ???0k?(attack_0)?Ak????(defense_A)????0x32(damage_32)???????0k(counter_0)???????(flag_10)????0x16(damage_16)?????????????????Dh??????q?????????k????

      412 : 413 : (?????) B|BH|attack_0|defense_A|flag_202|dagame_32|gardian_B|FF|
      414 : ???0k?(attack_0)?Ak????(defense_A)????0x32(damage_32)?????????Bk????????????????????

      415 :
      416 : 417 :
    • BT|?????????
      418 : BT|??Dk?|駍Dk?|???|
      419 : ????????????????????????????? 420 : ????????????????????Re???

      421 : 422 :
    • BE|????`????
      423 : BE|`??Dk?|駍Dk?|???|
      424 : ????????????????????????????? 425 : ????????????????????Re????????????`?? 426 : ???????BE???????`????????
      427 :
      428 : 429 :
    • bg|???????????
      430 : bg|?????Dk?|
      431 : ????????????????h??????????????????????????????????? 432 : ??????????????????
      433 :
      434 : 435 :
    • BD|??????????????
      436 : BD|???????k?|???|?????????|??k|
      437 : ???????????????????????????????????
      438 :
      439 : 440 :
    • BF|??????????????????
      441 : BF|??????k?|
      442 : ???????????????????????????????????? 443 : ??????????
      444 :
      445 : 446 :
    • BJ|??????????????
      447 : BJ|????k?|?D?????k?|?D?????k?|?????k?|?????k?|???|FF|
      448 : ?????????????????????k???Q??????????FF????? 449 :
      450 :
      451 : 452 :
    • BB|?????s???????
      453 : BB|??Dk?|?s???|駍Dk?|???|????|駍Dk?|???|FF|
      454 : ?k??????s????V??????G???i??
      455 : ?s???????????????????????????????????
      456 : 457 :
      458 :
    • BM|??????????Ш?????
      459 : BM|???????????k?|?????????|
      460 : ??????Чk??
      461 : ---????????
      462 : ---?
      463 : ---???
      464 : ---??
      465 : ---??
      466 : ---????
      467 : ---???
      468 :
      469 : 470 :
    • BO|?????????????
      471 : BO|??Dk?|駍Dk?|???|????|駍Dk?|???|FF|
      472 : ?k??????s????V??????G???i??
      473 :
      474 : 475 :
    • BS|????????V?????
      476 : BS|????k?[0?19](%X)|???|??k?|???|??|q|
      477 : ?????????????????????????????????
      478 : ?????????????????????????????????????????BS??????????
      479 : 480 :
    • BU|????Pf??I??????
      481 : ???????????????????????֢t???w????????r??????????????????????Pf??I?????????????????
      482 :
      483 : 484 :
    • BV|?????????Nͨ?????
      485 : BV|????????k?|???Nͧk?|
      486 : ???Nͧk???
      487 : ---?N
      488 : ---?ԢN
      489 : ---??N
      490 : ---??N
      491 : ---??N
      492 :
      493 : 494 :
    • BY|?????l??????
      495 : BY|駍Dk?|??Dk?|???|????|??Dk?|???|????|?????????G?????V?v?????
      496 :
      497 :
    498 : 499 :

    500 : ?????????????? 501 :

    502 :
      503 :
    • BC|?????????????????????u??i?????????
      504 : BC|k?[0?19](%X)|???(%s)|??k?(%X)|???(%X)|HP(%X)|???(%X)|???

      505 : ?????s????????
      506 : ---???????
      507 : ---??????
      508 : ---??????????????
      509 : ---?????
      510 : ---???????
      511 : ---??????
      512 : ---??????
      513 : ---????????
      514 : ---???????
      515 :
      516 :
    • BP|?????????????????o????????
      517 : BP|?k?[0?19](%X)|???(%X)|?????(%X)|???

      518 : ?????s????????
      519 : ---????????
      520 : ---???????e???????
      521 : ---?????????????????
      522 :
    523 :

    524 : ?????????e??????????????????? 525 :

    526 :
      527 :
    • BA|??????????????????????M??????????????????u???????
      528 : BA|?????????(%X)|????(%X)| 529 :

      530 : ?????????????O??????k????????????????? 531 : ????????????????????????????????????? 532 : ??????????????????????????_?????????????????????
      533 : ??????????u?????????????????????? 534 : ?????????????????? 535 :
    536 :
    537 :
    538 :
    539 :
    540 : 541 : */ if( strcmp( funcname , "B" ) == 0 ){ char* command; command = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_B_recv( fd,command); return 0; } /* 722 :
  • servertoclient I( string data );
    723 : (item)
    724 :
    725 : ????ѩ?S I ?u??????????n?????e???????k??????? 726 : ??????????? 727 : 728 :
    729 :
    string data 730 :
    ????ѩ? 731 : ????????????????? 732 : ??????????????????????? 733 : ??????????S I???????i????Id????????????? 734 : ?????????????k????????Re???
    735 :
    736 :
    737 :
    738 :
    739 :
    740 : */ if( strcmp( funcname , "I" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_I_recv( fd,data); return 0; } /* 763 :
  • servertoclient SI( int fromindex, int toindex );
    764 : (SwapItem) 765 : ????????????????s?MI?i???? 766 : ??????????????Gl?????????? 767 : ?????????SI????????????? 768 : ????????(???????????)?? 769 : ???????????h?????????????Gl????? 770 : ????????????????????????????? 771 : ?????????u????????? 772 : ???????????????????????????? 773 : ?????????????????????????????????? 774 : ??????????????? 775 : ?k???k??????????????Gl??? 776 : 777 :
    778 :
    int fromindex 779 :
    ?h????????????? 780 :
    int toindex 781 :
    ???????????? 782 :
    783 : ???s??MI?i????? 784 :
    785 :
    786 :
    787 : */ if( strcmp( funcname , "SI" ) == 0 ){ int fromindex; int toindex; fromindex = lssproto_demkstr_int( lssproto.token_list[2] ); toindex = lssproto_demkstr_int( lssproto.token_list[3] ); lssproto_SI_recv( fd,fromindex,toindex); return 0; } /* 806 :
  • servertoclient MSG( int aindex , string text , int color );
    807 : (MeSsaGe) 808 : ???????????????????????????????? 809 : ????????G??????????????????? 810 : ?????????????????T?????????????? 811 :
    812 :
    int aindex 813 :
    ??????????????????????{e???? 814 : ?????????????????? 815 :
    string text 816 :
    ?????????????????????????????mm/dd hh:mm|text...|graphicsno|lv|name|itemgraphicsno 817 : ??????????????T????V?????????????????????k?? 818 : G????-1???????????????V????????mm/dd hh:mm|text|-1 819 : ?????????????????????k???t?????? 820 : lv????????????????????q??t???????????????????? 821 : itemgraphicsno ?????????????k???t?????? 822 :
    int color 823 :
    ? 824 :
    825 :
    826 :
    827 :
    828 :
    829 : */ if( strcmp( funcname , "MSG" ) == 0 ){ int aindex; char* text; int color; aindex = lssproto_demkstr_int( lssproto.token_list[2] ); text = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] )); color = lssproto_demkstr_int( lssproto.token_list[4] ); lssproto_MSG_recv( fd,aindex,text,color); return 0; } /* 851 :
  • servertoclient PME( int objindex, int graphicsno, int x, int y, int dir, int flg, int no, string cdata );
    852 : (PetMeSsaEffect) 853 : ?????????????K?????

    854 :
    855 :
    int objindex 856 :
    ??????????k?? 857 :
    int graphicsno 858 :
    K????????k? 859 :
    int x,y 860 :
    ???t????? 861 :
    int dir; 862 :
    ???????????? 863 :
    int flg 864 :
    ?????(0)??????(1)? 865 :
    int no 866 :
    ?ҧk?? 867 :
    string cdata 868 :
    C ?????V???????????????????????????????????? 869 : ????????????????????????????????? 870 : ????????C ?????????? 871 :
    872 :
    873 :
    874 :
    875 :
    876 : */ if( strcmp( funcname , "PME" ) == 0 ){ int objindex; int graphicsno; int x; int y; int dir; int flg; int no; char* cdata; objindex = lssproto_demkstr_int( lssproto.token_list[2] ); graphicsno = lssproto_demkstr_int( lssproto.token_list[3] ); x = lssproto_demkstr_int( lssproto.token_list[4] ); y = lssproto_demkstr_int( lssproto.token_list[5] ); dir = lssproto_demkstr_int( lssproto.token_list[6] ); flg = lssproto_demkstr_int( lssproto.token_list[7] ); no = lssproto_demkstr_int( lssproto.token_list[8] ); cdata = lssproto_wrapStringAddr( lssproto_stringwrapper[8] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[9] )); lssproto_PME_recv( fd,objindex,graphicsno,x,y,dir,flg,no,cdata); return 0; } /* 882 :
  • servertoclient AB( string data );
    883 : ???????????????????????u?? 884 :
    885 :
    string data 886 :
    ѩ??????????ѩ??????????????????q? 887 : ??????????????????????????? 888 : ??????????? 889 : ?????????????? 890 : ??|K?|...??????? 891 : 892 : ???????????????? 893 :
    894 : ????|q(??)|????k|duelpoint|???|??k? 895 : 896 :
    897 : ?????? N??q????????? 4(N-1)+1k?? 898 : ??????????????????????????V?? 899 : ????????????????V?????q??????????????S????? 901 : ????0????????1???????????? 902 : ??k????????????????????? 903 : setup.cf?? servernumber=n ?n?k?????? 904 : {??u????q????????????q?AB 905 : ???????q?ѩ????????????? 906 : ??????????????q?ѩ?????? 907 : 2T?????????? 908 : 909 :
    910 :
    911 :
    912 :
    */ if( strcmp( funcname , "AB" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_AB_recv( fd,data); return 0; } /* 913 :
  • servertoclient ABI( int num, string data );
    914 : AB?Ol\?num ????????????k???????V????? 915 : data???AB?????
    916 :
    917 :
    918 :
    919 :
    920 : */ if( strcmp( funcname , "ABI" ) == 0 ){ int num; char* data; num = lssproto_demkstr_int( lssproto.token_list[2] ); data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] )); lssproto_ABI_recv( fd,num,data); return 0; } /* 1011 :
  • servertoclient TK( int index,string message ,int color);
    1012 :
    1013 :
    index 1014 :
    ????????????????-1 ????????? 1015 : ?????????????
    1016 :
    string 1017 :
    string ???, "|" ?2???????????????? 1018 : ????????2???????????????2?? 1019 : ????????????????? 1020 : ????????????????????? 1021 :
      1022 :
    • "P" ???
      1023 : ???????????????????????? 1024 : ?????????????????????? 1025 :
      1026 : 		  "P|?????"
      1027 : 		  
      1028 :
    • "F"???
      1029 :
      1030 : 	          F|charaindex|?????
      1031 : 	          
      1032 : ???????????e???charaindex?????? 1033 : ?????????
      1034 : 1035 :
    1036 :
    color 1037 :
    ????????e??? 1038 :
    1039 :
    1040 :
    1041 :
    1042 : */ if( strcmp( funcname , "TK" ) == 0 ){ int index; char* message; int color; index = lssproto_demkstr_int( lssproto.token_list[2] ); message = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] )); color = lssproto_demkstr_int( lssproto.token_list[4] ); lssproto_TK_recv( fd,index,message,color); return 0; } if( strcmp( funcname , "MC" ) == 0 ){ int fl; int x1; int y1; int x2; int y2; int tilesum; int objsum; int eventsum; char* data; fl = lssproto_demkstr_int( lssproto.token_list[2] ); x1 = lssproto_demkstr_int( lssproto.token_list[3] ); y1 = lssproto_demkstr_int( lssproto.token_list[4] ); x2 = lssproto_demkstr_int( lssproto.token_list[5] ); y2 = lssproto_demkstr_int( lssproto.token_list[6] ); tilesum = lssproto_demkstr_int( lssproto.token_list[7] ); objsum = lssproto_demkstr_int( lssproto.token_list[8] ); eventsum = lssproto_demkstr_int( lssproto.token_list[9] ); data = lssproto_wrapStringAddr( lssproto_stringwrapper[9] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[10] )); #ifdef __SKYISLAND extern void SkyIslandSetNo( int fl); SkyIslandSetNo( fl); #endif lssproto_MC_recv( fd,fl,x1,y1,x2,y2,tilesum,objsum,eventsum,data); return 0; } if( strcmp( funcname , "M" ) == 0 ){ int fl; int x1; int y1; int x2; int y2; char* data; fl = lssproto_demkstr_int( lssproto.token_list[2] ); x1 = lssproto_demkstr_int( lssproto.token_list[3] ); y1 = lssproto_demkstr_int( lssproto.token_list[4] ); x2 = lssproto_demkstr_int( lssproto.token_list[5] ); y2 = lssproto_demkstr_int( lssproto.token_list[6] ); data = lssproto_wrapStringAddr( lssproto_stringwrapper[6] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[7] )); lssproto_M_recv( fd,fl,x1,y1,x2,y2,data); return 0; } /* 1135 :
  • servertoclient C( string data );
    1136 : (Characters) 1137 : ??????? CA ???????????????????? C 1138 : ???????????????????????? 1139 :

    1140 :
    1141 :
    string data 1142 :
    ??????? ???3????????????? 1143 : ?????.???????????????S'|'????? 1144 : ???? 1145 : 1146 :
      1147 :
    • ??S???????????12???
      1148 : ??????? 1149 : 1150 : WHICHTYPE|CHARINDEX|X|Y|DIR|BASEIMG|LEVEL|NAMECOLOR|NAME|SELFTITLE|WALKABLE|HEIGHT|POPUPNAMECOLOR 1151 : ???????????????????????????
      1152 : 1153 : WHICHTYPE ???????????????????? 1154 : ????????????????????e???????
      1155 :
      1156 : 		typedef enum
      1157 : 		{
      1158 : 		    CHAR_TYPENONE,          ?????
      1159 : 		    CHAR_TYPEPLAYER,        ?????
      1160 : 		    CHAR_TYPEENEMY,         
      1161 : 		    CHAR_TYPEPET,           ???
      1162 : 		    CHAR_TYPEDOOR,          ??
      1163 : 		    CHAR_TYPEBOX ,          ?
      1164 : 		    CHAR_TYPEMSG ,          ?Y
      1165 : 		    CHAR_TYPEWARP ,         ??????
      1166 : 		    CHAR_TYPESHOP ,         
      1167 : 		    CHAR_TYPEHEALER ,       ????
      1168 : 		    CHAR_TYPEOLDMAN ,       ?
      1169 : 		    CHAR_TYPEROOMADMIN,     ۥh?
      1170 : 		    CHAR_TYPETOWNPEOPLE,    ?????
      1171 : 		    CHAR_TYPEDENGON,        ?\
      1172 : 		    CHAR_TYPEADM,           ?\
      1173 : 		    CHAR_TYPETEMPLE,        Temple master
      1174 : 		    CHAR_TYPESTORYTELLER,   ???
      1175 : 		    CHAR_TYPERANKING,       ۥh????????
      1176 : 		    CHAR_TYPEOTHERNPC,      ??\???n?????NPC
      1177 : 		    CHAR_TYPEPRINTPASSMAN,  ??????????NPC
      1178 : 		    CHAR_TYPENPCENEMY,      ?e
      1179 : 		    CHAR_TYPEACTION,        ??????T???NPC
      1180 : 		    CHAR_TYPEWINDOWMAN,     ???????NPC??????)
      1181 : 		    CHAR_TYPESAVEPOINT,     ???????
      1182 : 		    CHAR_TYPEWINDOWHEALER,  ?????????????
      1183 : 		    CHAR_TYPEITEMSHOP,	    ?
      1184 : 		    CHAR_TYPESTONESHOP,	    l?????????
      1185 : 		    CHAR_TYPEDUELRANKING,   DUEL?????NPC
      1186 : 		    CHAR_TYPEWARPMAN,	    ?????NPC
      1187 : 		    CHAR_TYPEEVENT,	    ????NPC
      1188 : 		    CHAR_TYPEMIC,	    ????NPC
      1189 : 		    CHAR_TYPELUCKYMAN,	    ????NPC
      1190 : 		    CHAR_TYPEBUS,	    ??????
      1191 : 		    CHAR_TYPECHARM,	    ????NPC
      1192 : 		    CHAR_TYPENUM,
      1193 : 		}CHAR_TYPE;
      1194 : 		  
      1195 : 1196 : ???\???????NPC??????????? 1197 : ????????d?????u??????? 1198 : ????????????????????????? 1199 : ????????????????????????? 1200 : ?????????????????????????? 1201 : ????????ѩ???ѩ????????? 1202 : ???????????????????????? 1203 : ??????????????????uh??? 1204 : ??????????? SELFTITLE?????????? 1205 : ?????S???????????????????? 1206 : ?????????????????(CA)??????? 1207 : ?????CHARINDEX????????????{ 1208 : e???k??BASEIMG?????k??LEVEL??? 1209 : ?????(0????????k?NPC?????) 1210 : WALKABLE?1??????G?????????0??G 1211 : ???????????HEIGHT???????????? 1212 : ?????e? 1213 : 1214 : ???????q????? 1215 : ????????????????'|'?????? 1216 : ?????????????????????????' 1217 : |'?????????????????O??'|'?? 1218 : ??????????????q?????? 1219 : ?????????S??????????? 1220 : ????????????????????@e 1221 : ??????q????????
      1222 : 1223 :
    • ??S???????????6???
      1224 : ??????? 1225 : INDEX|X|Y|BASEIMG|LEVEL|ITEM1LINEINFO 1226 : ????????????????ѩ???? 1227 : INDEX?????????????????INDEX???? 1228 : ??????????????X,Y????????? 1229 : ???t?BASEIMG????k??ITEM1LINEINFO?1? 1230 : info??????ѩ????????????? 1231 : ???ѩ???????????????? 1232 : ?CA?????ITEM1LINEINFO????? 1233 : ??????????????????? 1234 : 1235 :
    • ??S???????????4???
      1236 : ??????? 1237 : INDEX|X|Y|VALUE 1238 : ??????????????ѩ??????? 1239 : ?????INDEX,X,Y ??????i??VALUE ???? 1240 : ?????????????????????ѩ???? 1241 :
    • ??S???????????1???
      1242 : INDEX 1243 : ??????C???????? 1244 :
    1245 :
    1246 :
    1247 :
    1248 :
    1249 :
    1250 : 1251 : 1252 : */ if( strcmp( funcname , "C" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_C_recv( fd,data); return 0; } /* 1253 :
  • servertoclient CA( string data );
    1254 : (CharacterAction) 1255 : ???d?????????????֢t????? 1256 : ??????????????????? 1257 : ?????1????????????????????????? 1258 : ???????

    1259 : 1260 :
    1261 :
    string data 1262 :
    CHARINDEX|X|Y|ACTION|PARAM1|PARAM2|PARAM3|PARAM4|....?? 1263 : ?????????????PARAM???????????? 1264 : ????????????????????X,Y??t?? 1265 : ???????????????t?e??? 1266 : ??????????????? 1267 : 1268 : 1269 : 1270 : 1271 : 1272 : 1273 : 1274 : 1275 : 1276 : 1277 : 1278 : 1279 : 1280 : 1281 : 1282 : 1283 : 1284 : 1285 : 1286 : 1287 : 1288 : 1289 : 1290 : 1291 : 1292 : 1293 : 1294 : 1295 : 1296 :
    ACTIONPARAM1PARAM2PARAM3PARAM4
    Stand:0?0~7
    Walk:1?0~7
    Attack:2?0~7
    Throw:3?0~7
    Damage:4?0~7
    Dead:5?0~7
    UseMagic:6?0~7
    UseItem:7?0~7
    Effect:8?0~7?????k?
    Down:10 (X??)?0~7
    Sit:11 (??)?0~7
    Hand:12 (??)?0~7
    Pleasure:13 (??)?0~7
    Angry:14 (W?)?0~7
    Sad:15 (v??)?0~7
    Guard:16 (???)?0~7
    actionwalk:17 (???????)?0~7
    nod:18 (????)?0~7
    actionstand:19 (???????????)?0~7
    Battle:20 (Pfѩ)?0~7BattleNo(-1 ????SideNoHelpNo?????????CA???????????
    Leader:21 (????ѩ)?0~70:? 1:
    Watch:22 (Pf?P)?0~70:? 1:
    namecolor:23(q?ѩ)?0~7q?k?
    Turn:30(??)?0~7
    Warp:31(???)?0~7
    1297 : ACTION?k?????????Z??????? 1298 :
    1299 :
    1300 :
    1301 :
    1302 :
    1303 : 1304 : */ if( strcmp( funcname , "CA" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_CA_recv( fd,data); return 0; } /* 1305 :
  • servertoclient CD( string data );
    1306 : (CharacterDelete) 1307 : data ??????,????????????? 1308 : ????????? 1309 : ??ID???????????????????????????? 1310 : ???? 1311 :
    1312 :
    1313 :
    1314 : */ if( strcmp( funcname , "CD" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_CD_recv( fd,data); return 0; } /* 1315 :
  • servertoclient R( string data );
    1316 : (Radar) 1317 : ????????????????????????????? 1318 : ??????????????????????????? 1319 : ????10????????1?????

    1320 : 1321 :
    1322 :
    string data 1323 :
    x ,y, kind ,???k?'|'???????????? 1324 : ???'|'???????? 1325 : x,y???????En?t?kind????????k???? 1326 : ??????????????e??????????? 1327 : ????????????????????????? 1328 : ????????? 1329 : 1330 : 1331 : 1332 : 1333 : 1334 : 1335 : 1336 :
    kind?k?
    E
    P?????
    S?
    G??
    I????(???)
    1337 :
    1338 : data??"12|22|E|13|24|P|14|28|P" 1339 : ??????????????? 1340 :
    1341 :
    1342 :
    1343 :
    1344 : */ if( strcmp( funcname , "R" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_R_recv( fd,data); return 0; } /* 1369 :
  • servertoclient S( string data );
    1370 : (Status) 1371 : ?????????????? 1372 : ???? ???????(??)? ????????????? 1373 : 1?????????????????2???????? 1374 : ???????????????????S??'|'????????? 1375 : 2???????????????
    1376 :
    1377 :
      1378 :
    • P u?????

      1379 : kubun hp maxhp mp maxmp str tough exp maxexp exp 1380 : level attackpower deffencepower 1381 : fixdex fixcharm fixluck fixfireat fixwaterat fixearthat fixwindat 1382 : gold ???? 1383 : ??index q ??
      1384 : 1385 : ????? '|' ??????q????? 1386 : ?????????? 1387 : ??S????????G????
      1388 : ?????k??????
      1389 : kubun ???V?????q???????? 1390 : ?????????????????????????k?V????????? 1391 : ?????????hp?Maxhp?kubun ????????t???????
      1392 : 1393 : 1394 : 1395 : 1396 : 1397 : 1398 : 1399 : 1400 : 1401 : 1402 : 1403 : 1404 : 1405 : 1406 : 1407 : 1408 : 1409 : 1410 : 1411 : 1412 : 1413 : 1414 : 1415 : 1416 : 1417 : 1418 : 1419 :
      kununint
      Hp(l?)hpint
      MaxHpint
      Mp(???)int
      MaxMpint
      Vital(l?)int
      Str(??)int
      Tough(Ǧ?)int
      Dex(??)int
      Exp(??k)expint
      MaxExp(??????k)int
      Level(???)int
      Attack(???)int
      Defense(駍?)int
      fQuick(???)int
      fCharm(u?)int
      fLuck(?)int
      fEarth()fixearthatint
      fWater(?)int
      fFire(?)int
      fWid(?)fixwindatint
      Gold(??)int
      ??indexint
      ????????int
      q??
      ????
      1420 : ?l?( char ???????? )
      1421 : 1422 : P10|20|10|20|10|10|10|1|2|13|13|1|100|10|???|abc|def 1423 : 1424 :

      1425 :
    • C ?

      1426 : floor maxx maxy x y
      1427 : ? | ???????
      1428 : ?l?( char ???????? )
      1429 : 1430 : C1024|100|100|10|20 1431 : 1432 : ?????????ID1024, ???100x100 X 10,Y 20??? 1433 : ???????????????????????????? 1434 : ????????????????l??????????? 1435 : ????????????????????t?????? 1436 : ?????????????h????????????? 1437 : ???????????????k???????????? 1438 : 1439 : 1440 :

      1441 :
    • I u????

      1442 : (????1)|(????2)...(????n)
      1443 : ????????????????? 1444 : ?????????????????6??????????? 1445 : ???????????????
      1446 :
      1447 : q|q2|????|?????C|???k?|??u?|?n|???????|????
      1448 :
      1449 :
        1450 :
      • ?????????h?????? 1451 :
      • q2??????????????u??V??e? 1452 : ?????????????2???V???? 1453 :
      • ?????q??v????? 1454 :
      • ?????C? 1455 :
      • ???k?????k?? 1456 :
      • ??u????????????????????u??V????? 1457 : ????????????????e???????
        1458 :
        1459 : 			typedef enum
        1460 : 			{
        1461 : 				ITEM_FIELD_ALL,			????????
        1462 : 				ITEM_FIELD_BATTLE,		Pf???
        1463 : 				ITEM_FIELD_MAP,			G?????
        1464 : 
        1465 : 			}ITEM_FIELDTYPE;
        1466 : 	          
        1467 :
        1468 :
      • ?n??????????????????n?V????? 1469 : ????????????e??????? 1470 :
        1471 : 			typedef enum
        1472 : 			{
        1473 : 				ITEM_TARGET_MYSELF,		??
        1474 : 				ITEM_TARGET_OTHER,		\????)
        1475 : 				ITEM_TARGET_ALLMYSIDE,		sul
        1476 : 				ITEM_TARGET_ALLOTHERSIDE,	?Dul
        1477 : 				ITEM_TARGET_ALL,		u?
        1478 : 			}ITEM_TARGETTYPE;
        1479 : 		
        1480 : ?????100?K?????????n????
        1481 :
      • ???????????????????????? 1482 :
      • ????????????????????n?????G??
        1483 : 1484 : 1485 : 1486 : 1487 :
        0bit??????????u????????????u?????????????
        1Bit????????????????
        2Bit???????????????1????????
        1488 :
        1489 :
        1490 :
      1491 :
      1492 : ??????????????
      1493 : ?l?( char ???????? )
      1494 : 1495 : I?? ? |str+2|1|??\|??|10|2|0 1496 : 1497 : ?????k??s???k? 1498 : 1499 : 1500 : 1501 : 1502 : 1503 :
      1????A
      2????B
      3????C
      4????D
      1504 : ?????????????????????5??????? 1505 : ????????S?????֢t???????? 1506 : 1507 :

      1508 :
    • S u???

      1509 : (???0)|(???1)|(???2) ... (???n)
      1510 : ??i?????????????????????? 1511 : ?????? ||| ???????? 1512 : ?????????
      1513 : ????????|???
      1514 : ????
      1515 : ?l?( char ???????? )
      1516 : 1517 : S10|2|20|2||| 1518 : 1519 : 1520 :

      1521 :
    • T ?

      1522 : (?0)|(?1)|(?2) ... (?n)

      1523 : ??????????? '|' ??Q??????Q??? 1524 : ????????????????????????? 1525 : ???
      1526 : ???????????
      1527 : q
      1528 : ??????
      1529 : ?l?( ?????? char ????????? )
      1530 : 1531 : T??|????? 1532 : 1533 : ???????????
      1534 : 1535 :
      1536 :
    • M ??????

      1537 : ????????????????`???????(?? 1538 : k)????????(?k??)????????????? 1539 : ??????????u???????????????? 1540 : ??????????j??????????{?HP , 1541 : MP,EXP?k??????????????????????? 1542 : ?????M????????2???????????HP? 1543 : ??k , K?????MP??????EXP???? 1544 : ????l?????? 1545 : 1546 : M54|210|8944909 1547 : 1548 : ?????HP???k?54?MP???k?210???k?8944909 1549 : ???????????3??{??T??????? 1550 : ????????????????????M??????? 1551 : ??P?????u?????????????????? 1552 : ?????????????????????????? 1553 : ???? 1554 : 1555 :

      1556 :
    • D ????ID

      1557 : ??????????????index?????????? 1558 : D1000|912766409???????? 1559 :

      1560 :
    • E ???????????)|(?)

      1561 : ???????????????n/100
      1562 : ???????????k?????????????+1???????????????Re??? 1563 : ??????k??????????? 1564 : ??????????????????????????????? 1565 : 1566 :

      1567 :
    • J0 ?J6 ????

      1568 : ?????????
      1569 : 0 ?6 ??????????????n?????????????d?q???ߦ? 1570 : ???????e?????????u??????ѩ???
      1571 : J0|kubun|mp|field|target|name|comment
      1572 : ????????????????
      1573 : kubun ???????????????????????????????????? 1574 : mp??????
      1575 : field????????????????????e???????
      1576 :
      1577 : 		typedef enum
      1578 : 		{
      1579 : 			MAGIC_FIELD_ALL,		????????
      1580 : 			MAGIC_FIELD_BATTLE,		Pf???
      1581 : 			MAGIC_FIELD_MAP,		G?????
      1582 : 			
      1583 : 		}MAGIC_FIELDTYPE;
      1584 : 	    
      1585 : target????n?????????????????e???????
      1586 :
      1587 : 		typedef enum
      1588 : 		{
      1589 : 			MAGIC_TARGET_MYSELF,		??
      1590 : 			MAGIC_TARGET_OTHER,		\????)
      1591 : 			MAGIC_TARGET_ALLMYSIDE,		sul
      1592 : 			MAGIC_TARGET_ALLOTHERSIDE,	?Dul
      1593 : 			MAGIC_TARGET_ALL,		u?
      1594 : 			MAGIC_TARGET_NONE,		M?k????\??????
      1595 : 			MAGIC_TARGET_OTHERWITHOUTMYSELF,\??????)
      1596 : 			MAGIC_TARGET_WITHOUTMYSELFANDPET, ??????
      1597 : 			MAGIC_TARGET_WHOLEOTHERSIDE,    ©????ul
      1598 : 		}MAGIC_TARGETTYPE;
      1599 : 	    
      1600 : ?????100?K?????????n????
      1601 :
      1602 : name??
      1603 : comment????C?
      1604 :
      1605 :
      1606 :
    • N0 ? N3 ????????

      1607 : ?????????ѩ?????
      1608 : N0|kubun|level|charaindex|maxhp|hp|mp|name 1609 :
      1610 : kubun ???????????????????????????????u??????
      1611 : 2???????????????????????1bit ? level 2bit ?charaindex??? 1612 : ??????
      1613 : charaindex ????charaindex
      1614 : level????????
      1615 : maxhp????MAXHP
      1616 : hp???????HP
      1617 : mp??????
      1618 : name ????q?
      1619 :

      1620 : 1621 :
    • K0?K4 ???????

      1622 : hp maxhp mp maxmp str tough exp 1623 : level attackpower deffencepower 1624 : fixdex fixcharm fixluck fixfireat fixwaterat fixearthat fixwindat 1625 : q status
      1626 : K???0?4?e?????????e????? 1627 : ?????????0????????????????? 1628 : ?????????1??u?????? 1629 : 2???????????????????????1bit ? hp 2bit ?maxhp??? 1630 : ??????
      1631 : ????? '|' ??????q????? 1632 : ?????????? 1633 : ??S????????G????
      1634 : ?????k?????? 1635 : 1636 : 1637 : 1638 : 1639 : 1640 : 1641 : 1642 : 1643 : 1644 : 1645 : 1646 : 1647 : 1648 : 1649 : 1650 : 1651 : 1652 : 1653 : 1654 : 1655 : 1656 : 1657 : 1658 :
      No.(k?)int
      islive(?)int
      GRA(??k?)int
      Hp(o??)int
      MaxHp(?o??)int
      Mpint
      MapMpint
      Exp(??k)int
      MaxExp(??????k)int
      Level(???)int
      Attack(???)int
      Defense(駍?)int
      Quick(??)int
      Ai(?ߥT)int
      fEarth()int
      fWater(?)int
      fFire(?)int
      fWid(?)int
      Slot(?\?)int
      q??????int
      q??
      ?????????
      1659 :
      1660 : q???????????????q???????????????? 1661 : 1 ???ϣ??????????
      1662 :
      1663 :
      1664 :
      1665 : ?l?( char ???????? )
      1666 : 1667 : P10|20|10|20|10|10|10|1|2|13|13|1|100|10|???|PC 1668 : 1669 : 1670 :

      1671 : 1672 :
    • W0?W4 ????????

      1673 : W0|skillid|field|target|name|comment| x 7
      1674 : W0 ? W4 ??????????n??????
      1675 : petskillid ????????k??pet_skillinfo.h?e???????
      1676 : field ??????????????????????????e???????
      1677 :
      1678 : 		typedef enum
      1679 : 		{
      1680 : 			PETSKILL_FIELD_ALL,		????????
      1681 : 			PETSKILL_FIELD_BATTLE,		Pf???
      1682 : 			PETSKILL_FIELD_MAP,		G?????
      1683 : 
      1684 : 		}PETSKILL_FIELDTYPE;
      1685 : 	  
      1686 : 	  
      1687 : target ?????n????????????????????e???????
      1688 :
      1689 : 		typedef enum
      1690 : 		{
      1691 : 			PETSKILL_TARGET_MYSELF,		??
      1692 : 			PETSKILL_TARGET_OTHER,		\????)
      1693 : 			PETSKILL_TARGET_ALLMYSIDE,	sul
      1694 : 			PETSKILL_TARGET_ALLOTHERSIDE,	?Dul
      1695 : 			PETSKILL_TARGET_ALL,		u?
      1696 : 			PETSKILL_TARGET_NONE,		M?k????\??????
      1697 : 			PETSKILL_TARGET_OTHERWITHOUTMYSELF,\??????) 
      1698 : 			PETSKILL_TARGET_WITHOUTMYSELFANDPET, ??????
      1699 : 		}PETSKILL_TARGETTYPE;
      1700 : 	  
      1701 :
      1702 : name ???q?
      1703 : comment?????n??C?
      1704 : target|name|comment| ??????????????? 1705 : ?????????N????I?????"|"???Q??? 1706 : ???????????????
      1707 :

      1708 : 1709 :
    1710 : 1711 :
    1712 :
    1713 :
    1714 : */ if( strcmp( funcname , "S" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_S_recv( fd,data); return 0; } /* 1715 :
  • servertoclient D( int category , int dx , int dy , string data );
    1716 : (Display) 1717 : ????????

    1718 : 1719 :
    1720 :
    int category 1721 :
    ?????? 1722 : 1723 : 1724 : 1726 : 1728 :
    k?
    1???????????data?? 1725 : ?????k?
    2?????????data???? 1727 : ???k
    1729 :
    int dx 1730 :
    ?????????????n?tX??a???????D 1731 : ???t??????????k?????t???? 1732 : ???? 1733 :
    int dy 1734 :
    ?n?tY 1735 :
    string data 1736 :
    ??????category???????? 1737 : ???????????????? 1738 : ????? 1739 :
    1740 :
    1741 :
    1742 :
    1743 :
    1744 :
    */ if( strcmp( funcname , "D" ) == 0 ){ int category; int dx; int dy; char* data; category = lssproto_demkstr_int( lssproto.token_list[2] ); dx = lssproto_demkstr_int( lssproto.token_list[3] ); dy = lssproto_demkstr_int( lssproto.token_list[4] ); data = lssproto_wrapStringAddr( lssproto_stringwrapper[4] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[5] )); lssproto_D_recv( fd,category,dx,dy,data); return 0; } /* 1760 :
  • servertoclient FS( int flg);
    1761 : (FlgSet)PS?????????????????֢t??????????

    1762 :
    1763 :
    int flg 1764 :
    0 bit 0: ??Off 1: ??On
    1765 : ???t??1 bit 0: PfN??off 1: PfN??On
    1766 : 2 bit 0: DUEL off 1: DUEL On
    1767 : 3 bit 0: ?G???????? 1: ??????????????????
    1768 : 4 bit 0: ??OK 1: ???r
    1769 :
    1770 :
    1771 :
    1772 :
    1773 :
    */ if( strcmp( funcname , "FS" ) == 0 ){ int flg; flg = lssproto_demkstr_int( lssproto.token_list[2] ); lssproto_FS_recv( fd,flg); return 0; } /* 1785 :
  • servertoclient HL( int flg);
    1786 : (HeLp)HL????????????????Pf????????????????????

    1787 :
    1788 :
    int flg 1789 :
    0: ??????Off 1: ??????On
    1790 :
    1791 :
    1792 :
    1793 :
    1794 :
    */ if( strcmp( funcname , "HL" ) == 0 ){ int flg; flg = lssproto_demkstr_int( lssproto.token_list[2] ); lssproto_HL_recv( fd,flg); return 0; } /* 1808 :
  • servertoclient PR( int request, int result);
    1809 : (PartyRequest)????????PR?????????????????????????? 1810 : ?????t???I???????? 1811 :

    1812 : 1813 :
    1814 :
    int request 1815 :
    0: ? 1:V 1816 :
    int result 1817 :
    0: 1: ? 1818 :
    1819 :
    1820 :
    1821 :
    1822 :
    1823 :
    */ if( strcmp( funcname , "PR" ) == 0 ){ int request; int result; request = lssproto_demkstr_int( lssproto.token_list[2] ); result = lssproto_demkstr_int( lssproto.token_list[3] ); lssproto_PR_recv( fd,request,result); return 0; } /* 1835 :
  • servertoclient KS( int petarray,int result);
    1836 : ???????KS?n???????????????????????? 1837 : ????????????????????? 1838 : ???Pf???k???????????????????????t??????k????????? 1839 : ??????????????? 1840 :

    1841 : 1842 :
    1843 :
    int petarray 1844 :
    ????k? 1845 :
    int result 1846 :
    0: ????k????????? 1:? 1847 :
    1848 :
    1849 :
    1850 :
    1851 :
    */ if( strcmp( funcname , "KS" ) == 0 ){ int petarray; int result; petarray = lssproto_demkstr_int( lssproto.token_list[2] ); result = lssproto_demkstr_int( lssproto.token_list[3] ); lssproto_KS_recv( fd,petarray,result); return 0; } /* 1935 :
  • servertoclient PS( int result, int havepetindex, int havepetskill, int toindex);
    1936 : (PetSkill use result)?????????????????PS?n?????????? 1937 : result ??????????PS?n????????????????????? 1938 : 1939 :
    1940 :
    int result 1941 :
    ???0: 1:? 1942 :
    int havepetindex 1943 :
    ?k??????????? 1944 :
    int havepetskill 1945 :
    ?k????????? 1946 :
    int toindex 1947 :
    M??????????????????????index???????????????? 1948 :
    1949 : 	      = 0
    1950 : 	  ???  = 1 ?5
    1951 : 	  ??    = 6 ?10 ?S N ?0?4?n??????????
    1952 : 	
    1953 : n?u??????????????-1?????
    1954 :
    1955 : 1956 :
    1957 : 1958 :
    1959 :
    1960 :
    1961 :
    1962 : */ if( strcmp( funcname , "PS" ) == 0 ){ int result; int havepetindex; int havepetskill; int toindex; result = lssproto_demkstr_int( lssproto.token_list[2] ); havepetindex = lssproto_demkstr_int( lssproto.token_list[3] ); havepetskill = lssproto_demkstr_int( lssproto.token_list[4] ); toindex = lssproto_demkstr_int( lssproto.token_list[5] ); lssproto_PS_recv( fd,result,havepetindex,havepetskill,toindex); return 0; } /* 2011 :
  • servertoclient SKUP( int point );
    2012 : (SKillUP) 2013 : ????????????????Gl????????????e??? 2014 :
    2015 :
    2016 :
    2017 :
    2018 : */ if( strcmp( funcname , "SKUP" ) == 0 ){ int point; point = lssproto_demkstr_int( lssproto.token_list[2] ); lssproto_SKUP_recv( fd,point); return 0; } /* 2047 :
  • servertoclient WN( int windowtype, int buttontype, int seqno, int objindex, string data );
    2048 : (Window)
    2049 : ?????????????????????Gl???
    2050 :
    2051 :
    2052 :
    int windowtype 2053 :
    ?????????????????????????????buttontype ?????? 2054 : ???????e???
    2055 : ???????????@e??????
    2056 :
    2057 : 		typedef enum
    2058 : 		{
    2059 : 			WINDOW_MESSAGETYPE_MESSAGE,			???????
    2060 : 			WINDOW_MESSAGETYPE_MESSAGEANDLINEINPUT,		????????V?
    2061 : 			WINDOW_MESSAGETYPE_SELECT,			k?????
    2062 : 			WINDOW_MESSAGETYPE_PETSELECT,			???k?????
    2063 : 			WINDOW_MESSAGETYPE_PARTYSELECT,			??k?????
    2064 : 			WINDOW_MESSAGETYPE_PETANDPARTYSELECT,		??????k?????
    2065 : 			WINDOW_MESSAGETYPE_ITEMSHOPMENU,		???????????
    2066 : 			WINDOW_MWSSAGETYPE_ITEMSHOPYMAIN,		??????????
    2067 : 			WINDOW_MESSAGETYPE_LIMITITEMSHOPMAIN,		???M???????????????
    2068 : 			WINDOW_MESSAGETYPE_PETSKILLSHOP,		?????????????
    2069 : 			WINDOW_MESSAGETYPE_WIDEMESSAGE,			???????????
    2070 : 			WINDOW_MESSAGETYPE_WIDEMESSAGEANDLINEINPUT,	????????V?????
    2071 : 
    2072 : 		}WINDOW_MESSAGETYPE;
    2073 : 	  
    2074 : 2075 :
    int buttontype 2076 :
    ??????e??????????????e???????
    2077 :
    2078 : 		#define		WINDOW_BUTTONTYPE_NONE		(0)
    2079 : 		#define		WINDOW_BUTTONTYPE_OK		(1 << 0)
    2080 : 		#define		WINDOW_BUTTONTYPE_CANCEL	(1 << 1)
    2081 : 		#define		WINDOW_BUTTONTYPE_YES		(1 << 2)
    2082 : 		#define		WINDOW_BUTTONTYPE_NO		(1 << 3)
    2083 : 		#define		WINDOW_BUTTONTYPE_PREV		(1 << 4)
    2084 : 		#define		WINDOW_BUTTONTYPE_NEXT		(1 << 5)
    2085 :             
    2086 : ?????????????????YES????NO?????????
    2087 : WINDOW_BUTTONTYPE_YES | WINDOW_BUTTONTYPE_NO (=12)
    2088 : ???? 2089 : 2090 :
    int seqno 2091 :
    ????????k?????????????? 2092 : ???????WN?????????????????????k???????? 2093 : ?????????????NPC????????????Re???????? 2094 :
    int objindex 2095 :
    ?????????????NPC???index??t?????? 2096 : ????????????-1???V????? 2097 : ?????????????V???WN?????????k?????????? 2098 :
    string data 2099 :
    ???????????????????"\n"??????????s???? 2100 : ??????????????????????????h??????? 2101 : k????????????"\n"????????????????????? 2102 : ?????????????????????????e?????Q?? 2103 : ????????????????k???????q???? 1 ?? 2104 : k???????k????WN???????? 2105 :
    string data(??? 2106 :
    ???????????????????"\n"??????????s???? 2107 : ??????????????????????????h??????? 2108 : ????????"?"????????? 2109 :

    ????
    2110 : ????????????????q???????????????1?? 2111 : ?q???????????????k?????????K??????????_?????? 2112 : ?????????????????????????????????????????????????? 2113 : kh???k??C?????????????????????????kh???k??C 2114 :

    2115 : 0|1|????????|?????????????|???????????|?????|???????????? 2116 : K??????????|o???????|?????????????????????????| 2117 : ?|???|?????|??????\n??I?|??|?|??|?????|??????\nT?????\n??? 2118 : 2119 :

    ????
    2120 : ????????????????q???????????????1?? 2121 : ?q???????????????????????????????|?_?????? 2122 : ????????????????kh???k??C????????????????? 2123 : kh???k??C? 2124 : 2125 :

    2126 : ?|1|?????s??|?????????????????????????????|o???????| 2127 : ???????????????????????|?|??|?????| 2128 : ??????\n??I?|??|?|??|?????|??????\nT?????\n??? 2129 :

    ?????????
    2130 : ??????=??????????????
    2131 : ?q?
    2132 : ?????????????????????????_??????
    2133 : q????????????u????????kh???k??????????????k??????
    2134 : q????????????u????????kh???k??????????????k??????
    2135 :

    ?????????
    2136 : ???????=??? 2137 : ?q????????????????????????|?_??????
    2138 : q??????????????u????????????????kh???k?????????
    2139 : q??????????????u????????????????kh???k?????????
    2140 : 2141 : 2142 :

    ???\?
    2143 : ?q?????? 2144 : 2145 :

    2146 : ?????s??|???????????? 2147 : 2148 :


    2149 :
    string data(?????????? 2150 :
    ???????????????????"\n"??????????s???? 2151 : ??????????????????????????h??????? 2152 : ????????"?"????????? 2153 :

    ??????x?
    2154 : q?ѩ????????0 ???1???q?????????? 2155 : ??kh??C???kh??C 2156 :

    2157 : 1????????????????????????????????? 2158 : ??????500????????? \?????????? 2159 : ???1000???D?????????? 2160 :
    2161 :
    2162 :
    2163 :
    2164 :
    2165 : */ if( strcmp( funcname , "WN" ) == 0 ){ int windowtype; int buttontype; int seqno; int objindex; char* data; windowtype = lssproto_demkstr_int( lssproto.token_list[2] ); buttontype = lssproto_demkstr_int( lssproto.token_list[3] ); seqno = lssproto_demkstr_int( lssproto.token_list[4] ); objindex = lssproto_demkstr_int( lssproto.token_list[5] ); data = lssproto_wrapStringAddr( lssproto_stringwrapper[5] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[6] )); lssproto_WN_recv( fd,windowtype,buttontype,seqno,objindex,data); return 0; } /* 2196 :
  • servertoclient EF( int effect, int level, string option );
    2197 : (EFfect)
    2198 : D????????????????ul??????????
    2199 :
    2200 :
    2201 :
    int effect 2202 :
    ??k???????K????????????x????????????D??????????? 2203 :
      2204 :
    • 1:? 2205 :
    • 2:D 2206 :
    • 4:??D??e? 2207 :
    2208 :
    int level 2209 :
    ????????????????????? 2210 :
    string option 2211 :
    ???? 2212 :
    2213 :
    2214 :
    2215 :
    2216 :
    2217 : */ if( strcmp( funcname , "EF" ) == 0 ){ int effect; int level; char* option; effect = lssproto_demkstr_int( lssproto.token_list[2] ); level = lssproto_demkstr_int( lssproto.token_list[3] ); option = lssproto_wrapStringAddr( lssproto_stringwrapper[3] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[4] )); lssproto_EF_recv( fd,effect,level,option); return 0; } /* 2218 :
  • servertoclient SE( int x, int y, int senumber, int sw );
    2219 : (SoundEffect)
    2220 : ???????SE?????????
    2221 :
    2222 :
    2223 :
    int x,y 2224 :
    SE?D???? 2225 :
    int senumber 2226 :
    ???k? 2227 :
    int sw 2228 :
    ?????????? 2229 :
      2230 :
    • 0:?? 2231 :
    • 1:?? 2232 :
    2233 :
    2234 :
    2235 :
    2236 :
    2237 :
    */ if( strcmp( funcname , "SE" ) == 0 ){ int x; int y; int senumber; int sw; x = lssproto_demkstr_int( lssproto.token_list[2] ); y = lssproto_demkstr_int( lssproto.token_list[3] ); senumber = lssproto_demkstr_int( lssproto.token_list[4] ); sw = lssproto_demkstr_int( lssproto.token_list[5] ); lssproto_SE_recv( fd,x,y,senumber,sw); return 0; } /* 2271 :
  • servertoclient ClientLogin(string result);
    2272 : ClientLogin??? 2273 :

    2274 :
    2275 :
    string result 2276 :
    "ok" ????????????????????? 2277 :
    2278 :
    2279 :
    2280 :
    2281 :
    2282 : 2283 : */ if( strcmp( funcname , "ClientLogin" ) == 0 ){ char* result; result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_ClientLogin_recv( fd,result); return 0; } /* 2314 :
  • servertoclient CreateNewChar(string result,string data);
    2315 : CreateNewChar??? 2316 :

    2317 :
    2318 :
    string result 2319 :
    "successful" ? "failed" ??????????????? 2320 : ????? 2321 :
    string data 2322 :
    "failed" ????????????? 2323 : ????????????????????????? 2324 : ????? 2325 :
    2326 : 	    "failed bad parameter"
    2327 : 	    
    2328 : ?????????????e???????d????? 2329 : ????????s??????????????????? 2330 : ????????????????????? 2331 : 2332 :
    2333 :
    2334 :
    2335 :
    2336 :
    2337 : */ if( strcmp( funcname , "CreateNewChar" ) == 0 ){ char* result; char* data; result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] )); lssproto_CreateNewChar_recv( fd,result,data); return 0; } /* 2349 :
  • servertoclient CharDelete(string result,string data);
    2350 : CharDelete ??? 2351 :

    2352 :
    2353 :
    string result 2354 :
    "successful" ? "failed" ??????????????? 2355 :
    string data 2356 :
    "failed" ????????????? 2357 : ????????????????????????? 2358 : ?????????????????????? 2359 :
    2360 :
    2361 :
    2362 :
    2363 :
    2364 : 2365 : */ if( strcmp( funcname , "CharDelete" ) == 0 ){ char* result; char* data; result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] )); lssproto_CharDelete_recv( fd,result,data); return 0; } /* 2376 :
  • servertoclient CharLogin(string result,string data);
    2377 : CharaLogin??? 2378 :

    2379 :
    2380 :
    string result 2381 :
    "successful" ? "failed" ??????????????? 2382 :
    string data 2383 :
    "failed" ??? ????????????????? 2384 :
    2385 :
    2386 :
    2387 :
    2388 :
    2389 : 2390 : */ if( strcmp( funcname , "CharLogin" ) == 0 ){ char* result; char* data; result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] )); lssproto_CharLogin_recv( fd,result,data); return 0; } /* 2396 :
  • servertoclient CharList(string result,string data);
    2397 : CharList??? 2398 :

    2399 :
    2400 :
    string result 2401 :
    "successful" ? "failed" ?????????????? 2402 :
    string data 2403 :
    result?"successful"??????????????V??? 2404 : ??????????q???????????????? 2405 : ???????????????????????????? 2406 : result ? "failed" ??????????????? 2407 : ?????????????????????????
    2408 : dataplace|faceimage|level|maxhp|atk|def|quick|charm|earth|water|fire|wind|logincount|name|place
    2409 : 2410 :
    2411 :
    dataplace 2412 :
    ????????k?????????????????k????e??? 2413 :
    faceimage 2414 :
    ????k? 2415 :
    level 2416 :
    ??????? 2417 :
    maxhp,atk,def,quick,charm 2418 :
    ??????? 2419 :
    earth.water,fire,wind 2420 :
    ?Nͣk 2421 :
    logincount 2422 :
    ???????? 2423 :
    name 2424 :
    ????q 2425 :
    place 2426 :
    ??????? 2427 :
    2428 : "|" ???????? ??????????????????????????S 2430 : ??????
    2431 : 2432 :
    2433 :
    2434 :
    2435 :
    2436 :
    2437 : */ if( strcmp( funcname , "CharList" ) == 0 ){ char* result; char* data; result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] )); lssproto_CharList_recv( fd,result,data); return 0; } /* 2445 :
  • servertoclient CharLogout(string result , string data);
    2446 : Logout?n???? 2447 :

    2448 :
    2449 :
    string result 2450 :
    "successful" ? "failed" ??????????????? 2451 :
    string data 2452 :
    "failed" ??????s???????(֢t)??? 2453 : ??????????????????? 2454 :
    2455 :
    2456 :
    2457 :
    2458 :
    */ if( strcmp( funcname , "CharLogout" ) == 0 ){ char* result; char* data; result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] )); lssproto_CharLogout_recv( fd,result,data); return 0; } /* 2465 :
  • servertoclient ProcGet( string data);
    2466 : ProcGet??? 2467 :

    2468 :
    2469 :
    string data 2470 :
    ?????????????????ѩ???????log/proc???????????i?? 2471 :
    2472 :
    2473 :
    2474 :
    2475 :
    2476 : */ if( strcmp( funcname , "ProcGet" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_ProcGet_recv( fd,data); return 0; } /* 2483 :
  • servertoclient PlayerNumGet( int logincount, int player);
    2484 : PlayerNumGet??? 2485 :

    2486 :
    2487 :
    int logincount,player 2488 :
    2489 :
    2490 :
    2491 :
    2492 :
    2493 :
    2494 : */ if( strcmp( funcname , "PlayerNumGet" ) == 0 ){ int logincount; int player; logincount = lssproto_demkstr_int( lssproto.token_list[2] ); player = lssproto_demkstr_int( lssproto.token_list[3] ); lssproto_PlayerNumGet_recv( fd,logincount,player); return 0; } /* 2506 :
  • servertoclient Echo( string test );
    2507 : Echo?n???? 2508 :
    2509 :
    string test 2510 :
    ????V???????????????? 2511 :
    2512 :
    2513 :
    2514 :
    2515 :
    2516 : */ if( strcmp( funcname , "Echo" ) == 0 ){ char* test; test = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_Echo_recv( fd,test); return 0; } //------------------------------------------------------- // Add Command Count // Robin 2001/04/06 //------------------------------------------------------- if( strcmp( funcname , "NU" ) == 0 ){ int AddCount; AddCount = lssproto_demkstr_int( lssproto.token_list[2] ); lssproto_NU_recv( fd, AddCount); return 0; } // Robin 04/12 trade if( strcmp( funcname , "TD" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] )); lssproto_TD_recv( fd, data); return 0; } // Robin 0529 family if( strcmp( funcname , "FM" ) == 0 ){ char* data; data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] )); lssproto_FM_recv( fd, data); //lssproto_FM_recv( fd, lssproto_stringwrapper[0] ); return 0; } return -1; } void lssproto_SetClientLogFiles( char *r , char *w ) { lssproto_strcpysafe( lssproto_readlogfilename , r , sizeof( lssproto_readlogfilename ) ); lssproto_strcpysafe( lssproto_writelogfilename , w , sizeof( lssproto_writelogfilename ) ); } int lssproto_InitClient( int (*writefunc)(int,char*,int) ,int bufsiz ,int fd) { int i; if( (void*)writefunc == NULL){lssproto.write_func = lssproto_default_write_wrap;} else {lssproto.write_func = writefunc;} lssproto_AllocateCommonWork(bufsiz); lssproto_stringwrapper = (char**)MALLOC(sizeof(char*) * MAXLSRPCARGS); if(lssproto_stringwrapper ==NULL)return -1; memset( lssproto_stringwrapper , 0, sizeof(char*)*MAXLSRPCARGS); for(i=0;i