/*#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)卷?????????????????????叉???????? 168 : ??卷??????????????????????????????? 169 : ???刪叉??????????????????「?ㄆ???????〈孓? 170 : ??????????W???????????????????????? 171 : ???火???卷???????????兝??????????????? 172 : ?????????? 173 : ?????????卷????卷???MC???????????????MC 174 : ???????????????????????????????????? 175 : 卷????┤????卷?????╱??????????? 176 : 177 : 178 : 179 :

    180 :
    181 :
    int x,y 182 :
    卷?????????????????火? 183 : 184 :
    string direction 185 :
    ????? a,b,c,d,e,f,g,h???阪????去?? 186 : a?(dx,dy)=(0,-1)???????? h??(-1,-1) 187 : A,B,C,D,E,F,G,H ?????????????? 188 : ???????????????? "ccae"??? 189 : 更?????????????????"G"?? 190 : ????????????1卷1更??▋??????? 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 : ??????「?可?????????????????????去?????? 200 : ??????????????????卷??MC?????????OK?????? 201 : ??MC?╱??????卷???MC????????????卷?????w????????? 202 : ???????????????????????????????? CHAR_EVENT_ALTERRATIVE 203 : ????????????????????阪??????守??????二????????希????????卷??? 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 : ??????????????????北????伶??? 214 : ?????叉???????????????? 215 : 216 :

    217 :
    218 :
    int event 219 :
    ???????char_base.h????????叉???????
    220 :
    221 : typedef enum
    222 : {
    223 : 	CHAR_EVENT_NONE,		?????伶???
    224 : 	CHAR_EVENT_NPC,			?叉NPC???
    225 : 	CHAR_EVENT_ENEMY,		?叉???????????
    226 : 	CHAR_EVENT_WARP,		???????
    227 : 	CHAR_EVENT_ALTERRATIVE,		??????阪??????????????????????????
    228 : 	CHAR_EVENTNUM,
    229 : }CHAR_EVENT;
    230 : 	    
    231 : 	
    232 : CHAR_EVENT_NPC????Μ??NPC?????????????????? 233 : ???????EV????????????刪κ??〈??????????
    234 :
    int seqno 235 :
    ??????????No?▄?????????????冉?????????????? 236 : ??????????????? 237 : ?????EV????▋?????????? 238 :
    int x,y 239 :
    希??ㄅ 240 :
    int dir 241 :
    ??????????希??ㄅ??????????????Π??希?可?????-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 : ?????????叉?????????????????????? 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 : ????????????可?????????????????? 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 : ???????????????κ???????? 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 : 兝?·卯?·???????????? 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 : 兝?·卯??·???????????? 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 : ??????????????·卯??????叉???????吻????????叉????????????¥???「▍?叉??????¥???「▍??????????「▍???

    356 :
      357 :
    • H|?吻?(%X)(0?19)
      二?????吻??叉

      358 :
    • E
      匝???

      359 :
    • G
      ??

      360 :
    • N
      ??????

      361 :
    • T|?吻?(%X)
      卦??

      362 :
    • J|?吻?(%X)|?吻?(%X)? 363 :
      ???????吻???????????吻???? 364 : ???(0?5)?

      365 :
    • W|????吻?(%X)|?吻?(%X)
      366 : ?????????????????吻?????????吻?? 367 : ???(0?7)

      368 :
    • S|????吻?(%d)?
      ????????????????

      369 :
    • I|?????吻?(%X)|?吻?(%X)? 370 :
      ???????????????吻???????????????吻???? 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 : 叉????????????? 545 :

    546 :
    547 :
    int dir 548 :
    ??????? 549 :
    int index 550 :
    希??????????牙??index. 551 :
    552 : ???牙????二??????????????????希???? 553 :
    554 : 
    555 :       ?????????????
    556 :       rpcgen C???????????????????二??????
    557 :       ?????????enum
    558 : 
    559 :       ????〈??????????????????
    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,   ︰??
    572 :                              0 ??刪叉???(?)
    573 :                              1 ?????????????向??
    574 :                                  ???????向???????
    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 :                               ?????????吻??????????
    586 :                               1 ?
    587 :                               2 ???
    588 :                               3 ??
    589 :                               4 ?
    590 :                               5 ??
    591 :                               6 ??
    592 :                               7 HP 1 ???
    593 :                               8 HP ???????
    594 :       ????「?
    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 ??? )??π??? 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 :
    Κ?????????????????????????index???????????????? 645 :
    646 : 	  希    = 0
    647 : 	  ???  = 1 ?5
    648 : 	  ??    = 6 ?10 ?S N ?0?4?▋??希????????
    649 : 	
    650 : ▋?「????希??????????-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 : ??????????℉????????9??????

    665 :
    666 :
    int x,y 667 :
    希?x,y ?火 668 :
    int dir 669 :
    ??????????℉????? ????℉?????? 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 : ?????ㄅ??ㄅ???????????ㄅ????????ㄅ? 679 : 叉????itemindex??????ㄅ??????希?〈?ㄅ?? 680 :

    681 : 682 :
    683 :
    int x,y 684 :
    希?x,y ?火 685 :
    int itemindex 686 :
    ㄅ?????????????? 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 : ???ㄅ??SA?????ㄅ??火?乃??

    696 :
    697 :
    int x,y 698 :
    希?x,y ?火 699 :
    int amount 700 :
    ㄅ?????? 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 : ????ㄅ??????ㄅ?叉???? 709 : petindex??????ㄅ??????希?〈?ㄅ?? 710 :

    711 : 712 :
    713 :
    int x,y 714 :
    希?x,y ?火 715 :
    int petindex 716 :
    ㄅ???????index????????吻???????????? 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 : ??????去/??/????????????????? 744 : ?去???????

    745 :
    746 :
    int fromindex 747 :
    ?去????????????? 748 :
    int toindex 749 :
    ????????????? 750 :
    751 : ???????二?? 752 :
      753 :
    • 0 ???????( 卡 ) 754 :
    • 1 ???????( ▍ ) 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 :
    ?吻?????????? 839 :
    int itemindex 840 :
    ?吻???????????? 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 : ??〈?????????????????????? 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 ????????????????????????????伶 951 : ???????????????﹐???????????????? 952 : ??????????????????????????????? 953 : ????????????????????????????即???? 954 : ??〈?????(仟??NPC?????)??????〈???NPC?▋ 955 : ???????????孓?????????????????NPC? 956 : ??去???????????更??????????ρ?????? 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 : !卡?C更???"P"??????????????向 976 : ?????????????????????????? 977 : ???更???!卡???????更???????? 978 : ??????????????更???!卡?"P"? 979 : ????????刪叉????束???吳???? 980 : ???????TK??????????TK??????? 981 : ?更??????"P"?????????向??? 982 :
      983 : 更???????ㄩ 984 :
      985 : 		  "P|???????????!!"
      986 : 		  
      987 :
      988 : ????????????????束???吳??叉 989 : ???????????更???????????刪叉? 990 : ??更???牙??C????牙?????'!' ?「?更 991 : ??向????????????????'!'???劫 992 : ????????????????「?更??刨?更?? 993 : ?????????!?????????????? 994 : ???束???吳?????? 995 : 996 : 998 : 999 :
      "..."?????????希?? 997 :
      1000 :
    1001 :
    int color 1002 :
    更???? 1003 :
    int area 1004 :
    ??????束???吳?????叉???? 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 :
    ???吻? 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 :
    ?????????????????叉? 1351 :
      1352 :
    • P 「????? 1353 :
    • C ?火 1354 :
    • I 「???? 1355 :
    • S 「??? 1356 :
    • T 「? 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)????向????DUEL???????????????????????On/Off???

    1747 : 1748 :
    1749 :
    int flg 1750 :
    0 bit 0: ??Off 1: ??On
    1751 : ?????1 bit 0: ·卯代??off 1: ·卯代??On
    1752 : 2 bit 0: DUEL off 1: DUEL On
    1753 : 3 bit 0: ?二???????? 1: ???????????????????
    1754 : 4 bit 0: ???OK 1: ????呀
    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)??????? 叉??????ON?????兝??·卯?????????

    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)???向?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)·卯??????︻????

    1826 : 1827 :
    1828 :
    int petarray 1829 :
    0 ? 4 ??????︻??????????????????????·卯??????????????????-1?向??? 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)?凹?????牙????

    1854 : 1855 :
    1856 :
    int x,y 1857 :
    希?x,y ?火 1858 :
    int actionno 1859 :
    ???????????????????????????????????????????(CA)????? 1860 : ???????▄??????????????????吻????????▋?????二??
    1861 :
    1862 : 1863 : 1864 : 1865 : 1866 : 1867 : 1868 : 1869 : 1870 : 1871 : 1872 : 1873 : 1874 : 1875 : 1876 : 1877 :
    actionno
    ??0
    ????1
    出??2
    ?????3
    卷?4
    ??5
    ??6
    ??7
    凹?8
    听??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 ?吒????)?▋??????????? 1893 :
    int toindex 1894 :
    Κ???????????????????????index???????????????? 1895 :
    1896 : 	  希    = 0
    1897 : 	  ???  = 1 ?5
    1898 : 	  ??    = 6 ?10 ?S N ?0?4?▋??希????????
    1899 : 	
    1900 : ▋?「????希??????????-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 :
    ?吻??????????? 1913 :
    int havepetskill 1914 :
    ?吻????????? 1915 :
    int toindex 1916 :
    Κ???????????????????????index???????????????? 1917 :
    1918 : 	  希    = 0
    1919 : 	  ???  = 1 ?5
    1920 : 	  ??    = 6 ?10 ?S N ?0?4?▋??希????????
    1921 : 	
    1922 : ▋?「????希??????????-1?????
    1923 :
    1924 :
    string data 1925 :
    至??????????????haveitemindex1|haveitemindex2|haveitemindex3|...
    1926 : ??????????吻??向????? 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 :
    ?吻????? 1970 :
    1971 : ????Txt?????????????????????????? 1972 : ?二ρ???? 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?????????????????????????????二 1987 : ρ???? 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 : 希?向?????向????

    1996 :
    1997 :
    string data 1998 :
    希?向?????EUC???????????????? 1999 : ???????????????????1?info?牙?? 2000 : ?????????更???????????????? 2001 : ???????╱????? 2002 :
    2003 : ??????Txt??????更???二ρ???????????? 2004 : 希?CHARINDEX?▋???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=▍?, 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 : ?????〈?向????

    2033 :
    2034 :
    int havepetindex 2035 :
    ????吻?? 2036 :
    string data 2037 :
    希????????????〈????? 2038 : 2039 :
    2040 : ??????Txt??????更???二ρ???????????? 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 : ?????牙?▋??刺?
    2169 :
    2170 :
    2171 :
    int x,y 2172 :
    ???????x,y?火 2173 :
    int seqno 2174 :
    ????????seqno?????刺? 2175 :
    int objindex 2176 :
    ????????objindex?????刺? 2177 :
    int select 2178 :
    ??????︻?????????︻??????????WN ?buttontype ?define?可???刺?? 2179 :
    string data 2180 :
    ??向?????????????向??????? 2181 : ︻????????????︻???吻???1??? 2182 : ?????????︻???????????????????????????? 2183 :

    ??????
    2184 : ????ㄩ︻???吻??????????
    2185 : ????ㄩ︻?????????吻??????|??
    2186 : ??兝 ㄩ??ㄩ1 ??ㄩ2 ?ㄩ3 2187 : 2188 :


    ?????????
    2189 : ??????????(︻?吻?)????????(︻?吻?)?????????(︻?吻?)?πν
    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 : ???Μ??????????????????????????? 2258 : 岌????????????阪??????冉????????? 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 :
    ????吻???????????????????????????????????牙???????刪κ??? 2290 :
    string charname 2291 :
    ????(??????????????更??)? 2292 : ??更?????????????????????╱????? 2293 :
    int imgno 2294 :
    ?????????吻?? 2295 :
    int faceimgno 2296 :
    ????吻???????????? 2297 :
    int vital, str,tgh dex 2298 :
    ??????? 2299 :
    int earth, water, fire, wind 2300 :
    ?﹫π 2301 :
    int hometown 2302 :
    ?0???π?仔???? 2303 :
    string option 2304 : 2305 : ??????????????????叉?????????π 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 : ???????台?? 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 ????台?????????????????????????? 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 : ????????????台??? 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 : ??????????????去??????希?????????????????????希?? 2520 : ??????????denyaccept()????????????????????? 2521 : ???closeallsockets()?????????????????????? 2522 :

    2523 :
    2524 :
    string passwd 2525 :
    ??????????????????? 叉????? 2526 :
    int min 2527 :
    ????希???????????????希? 叉??? 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 : ?·卯??????????ㄅ?????????? 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?▋???刺????? 249 : ????????????????卷???????? 250 : ???? 251 : 252 :
    253 :
    int seqno 254 :
    ??????EV?seqno?▋???? 255 :
    int result 256 :
    ???0:?????自?? 1:?????????????▋??二??????????????? 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?▋???刺???????????卷????????????????????? 287 : 288 :
    289 :
    int result 290 :
    ???0:??????自?or???? 1:???·卯???2:▋??·卯???????·卯????二 ??????????????? 291 :
    int field 292 :
    ????????吻?? 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 : ·卯???台????????????二ρ?
    344 : RS|吻?(10)|?????????(10)|EXP(62),吻?|?????????|EXP,???,?????|?????|?????

    345 : 吻????π?5希??希????","????????╱???????????????吻??-2?
    346 : 2???4????????吻??0?4)??????π????????????????????","????
    347 : ?????????〈?"|"????????????????????????"|"???? 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 : ???????台?????????????二ρ?
    351 : RD|台?(??)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 : ·卯???????「?????π??「? ?更?16???
    379 : ???[?吻?]????????????吻????? 380 : 〈??????????〈???????????¥?????????? 381 :

    382 :

    383 : ??????? 384 :

    385 : ????????希?「??????更?????????更???????
    386 : ???( BATTLESTR_ADD( 更?? ) )?????????????更????????????????????????
    387 : ????????????「??π????????π????????更??????(???????????)
    388 : 389 :
    390 : ???????????ㄩ????????
    391 : ---?????ㄩ??
    392 : ---?????ㄩ二???
    393 : ---?????ㄩ????
    394 : ---?????ㄩ?
    395 : ---?????ㄩ?????
    396 : ---?????ㄩ???
    397 : ---?????ㄩ????????????
    398 : ---?????ㄩ????????????
    399 : ---?????ㄩ???????????
    400 : ---?????ㄩ????
    401 :
    402 :
      403 :
    • BH|????二??????
      404 : BH|??¥吻?|?¥吻?|???|????|?¥吻?|???|????|???????刺???¥吻??FF?????????????????
      405 :
      406 : 407 : (二???) B|BH|attack_0|defense_A|flag_2|damage_32|defense_B|flag_2|damage_32|FF|
      408 : ???0吻?(attack_0)A吻(defense_A)?0x32???????(damage_32)???B吻(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 : ???0吻?(attack_0)?A吻????(defense_A)????0x32(damage_32)???????0吻(counter_0)???????(flag_10)????0x16(damage_16)?????????????????伶去???????〈?????????︻????

      412 : 413 : (?????) B|BH|attack_0|defense_A|flag_202|dagame_32|gardian_B|FF|
      414 : ???0吻?(attack_0)?A吻????(defense_A)????0x32(damage_32)?????????B吻????????????????????

      415 :
      416 : 417 :
    • BT|?????卦?????
      418 : BT|??¥吻?|?¥吻?|???|
      419 : ?????????卦????????卦??????????????? 420 : ?????????????????????刪叉???

      421 : 422 :
    • BE|????匝昀????
      423 : BE|匝??¥吻?|?¥吻?|???|
      424 : ?????????卦????????卦??????????????? 425 : ?????????????????????刪叉????????????匝?? 426 : ???????BE????????匝????????
      427 :
      428 : 429 :
    • bg|???????????
      430 : bg|?????¥吻?|
      431 : ???更?????????????去????????????????更???????????????????更?? 432 : ??????????????????
      433 :
      434 : 435 :
    • BD|?????????阪?????
      436 : BD|阪???????吻?|阪???|?????????|??π|
      437 : 阪???????????????????????????????????
      438 :
      439 : 440 :
    • BF|??????????????????
      441 : BF|??????吻?|
      442 : ????????????????????????????????????? 443 : ??????????
      444 :
      445 : 446 :
    • BJ|??????????????
      447 : BJ|????吻?|?¥?????吻?|?¥?????吻?|?????吻?|?????吻?|???|FF|
      448 : ?????????????????????吻???㎝??????????FF????? 449 :
      450 :
      451 : 452 :
    • BB|??????叫???????
      453 : BB|??¥吻?|??叫???|?¥吻?|???|????|?¥吻?|???|FF|
      454 : ?吻???????叫????向???????二???可??
      455 : ??叫???????????????????????????????????????
      456 : 457 :
      458 :
    • BM|??????????阪?????
      459 : BM|?????阪??????吻?|?????????|
      460 : ??????吻??
      461 : ---?ㄩ????????
      462 : ---?ㄩ?
      463 : ---?ㄩ??
      464 : ---?ㄩ??
      465 : ---?ㄩ?
      466 : ---?ㄩ??佣?
      467 : ---?ㄩ??
      468 :
      469 : 470 :
    • BO|?????????????
      471 : BO|??¥吻?|?¥吻?|???|????|?¥吻?|???|FF|
      472 : ?吻???????叫????向???????二???可??
      473 :
      474 : 475 :
    • BS|????????向?????
      476 : BS|????吻?[0?19](%X)|???|??吻?|???|??|?〈|
      477 : ???????????????????????????更???????
      478 : ?????????????????????????????????????????BS??????????
      479 : 480 :
    • BU|????·卯??兌??????
      481 : ????????????????????????┤???ㄈ????????┴??????????????????????·卯??兌?????????????????
      482 :
      483 : 484 :
    • BV|?????????﹫阪?????
      485 : BV|阪????????吻?|阪???﹫吻?|
      486 : 阪???﹫吻???
      487 : ---?ㄩ?﹫
      488 : ---?ㄩ﹫
      489 : ---?ㄩ?﹫
      490 : ---?ㄩ?﹫
      491 : ---?ㄩ?﹫
      492 :
      493 : 494 :
    • BY|?????▍??????
      495 : BY|?¥吻?|??¥吻?|???|????|??¥吻?|???|????|???????刺??二?????向?▔?????
      496 :
      497 :
    498 : 499 :

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

    502 :
      503 :
    • BC|?????????????????????「??可?????????
      504 : BC|吻?[0?19](%X)|????(%s)|??吻?(%X)|???(%X)|HP(%X)|???(%X)|???

      505 : ?????ㄩ????????
      506 : ---?????ㄩ??
      507 : ---?????ㄩ?昀
      508 : ---?????ㄩ?????????
      509 : ---?????ㄩ?
      510 : ---?????ㄩ??
      511 : ---?????ㄩ??
      512 : ---?????ㄩ?
      513 : ---?????ㄩ??佣?
      514 : ---?????ㄩ??
      515 :
      516 :
    • BP|????希?????????????????????
      517 : BP|希?吻?[0?19](%X)|???(%X)|?????(%X)|???

      518 : ?????ㄩ????????
      519 : ---?????ㄩ希???
      520 : ---?????ㄩ希?自?▄???????
      521 : ---?????ㄩ????????????
      522 :
    523 :

    524 : ?????????叉??????????????????? 525 :

    526 :
      527 :
    • BA|??????????????????????Κ??????????????????「???????
      528 : BA|?????????(%X)|????(%X)| 529 :

      530 : ?????????????Μ??????吻????????????????? 531 : ????????????????????????????????????? 532 : ??????????????????????????于??????????????????????
      533 : ??????????「?????????????????????? 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 ?「??????????▋?????叉???????吻??????? 726 : 佃??????????? 727 : 728 :
    729 :
    string data 730 :
    ?????? 731 : ???????????????????? 732 : ??????????????????????? 733 : ??????????S I???????可????!卡????????????? 734 : 至?????????????吻????????刪κ???
    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 : ?????????????????MI?可???? 766 : ??????????????二ρ?????????? 767 : ??????????SI????????????? 768 : ??阪??????(?????????阪?????)?? 769 : ???????????去?????????????二ρ????? 770 : ?????????????????????????????? 771 : ???阪???????守????????? 772 : ???阪?????????????????????????? 773 : ?????????????????????????????????? 774 : ?????????阪??????? 775 : ?吻???吻?阪?????????????二ρ??? 776 : 777 :
    778 :
    int fromindex 779 :
    ?去????????????? 780 :
    int toindex 781 :
    ????????????? 782 :
    783 : ??????MI?可????? 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 : ????????二??????????????????? 810 : ?????????????????T??????????????? 811 :
    812 :
    int aindex 813 :
    ??????????????????????叻叉???? 814 : ?????????????????? 815 :
    string text 816 :
    ????????????????╱???????????????mm/dd hh:mm|text...|graphicsno|lv|name|itemgraphicsno 817 : ??????????????吋至????向??????????????????????吻?? 818 : 二????-1???????????????㎏????????mm/dd hh:mm|text|-1 819 : ?????????????????????吻???宇?????? 820 : lv?????????????????????〈??宇???????????????????? 821 : itemgraphicsno ?????????????吻???宇?????? 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 : ?????????????仕?牙????

    854 :
    855 :
    int objindex 856 :
    ??????????吻?? 857 :
    int graphicsno 858 :
    仕????????吻? 859 :
    int x,y 860 :
    ???ㄅ????? 861 :
    int dir; 862 :
    ????????????? 863 :
    int flg 864 :
    ?????(0)??????(1)? 865 :
    int no 866 :
    ?吻?? 867 :
    string cdata 868 :
    C ?????向???????????????????????????????????? 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 : ???????????????????????「??? 884 :
    885 :
    string data 886 :
    ?????牙?????╱???????????????????????〈? 887 : ??????????????????????????? 888 : ????希??????? 889 : ??????????????? 890 : ??|匠?|...??????? 891 : 892 : ?希??????????????? 893 :
    894 : ????|?〈(更??)|????π|duelpoint|???|??吻? 895 : 896 :
    897 : ?????? N???〈????????? 4(N-1)+1吻?? 898 : ??????????????????????????㎏?? 899 : ????????????????㎏??????〈更??????????????????? 901 : ????0????????1???????????? 902 : ??π????????????????希????? 903 : setup.cf?? servernumber=n ?n?π?????? 904 : 叻???守?????〈????????????〈?AB 905 : ????????〈??????????????? 906 : ???????????????〈???????? 907 : 2冉?????????? 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?Μ▍吭?num ??希??????????吻???????向????? 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 : ???更????????叉???charaindex?????? 1033 : ??????牙???
      1034 : 1035 :
    1036 :
    color 1037 :
    ????????叉??? 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 : ?????.???????????????'|'????? 1144 : ???? 1145 : 1146 :
      1147 :
    • ?????????????12???
      1148 : ???????? 1149 : 1150 : WHICHTYPE|CHARINDEX|X|Y|DIR|BASEIMG|LEVEL|NAMECOLOR|NAME|SELFTITLE|WALKABLE|HEIGHT|POPUPNAMECOLOR 1151 : ???????????????????????????
      1152 : 1153 : WHICHTYPE ???????????????????? 1154 : ????????????????????叉???????
      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 ,          ?即
      1165 : 		    CHAR_TYPEWARP ,         ??????
      1166 : 		    CHAR_TYPESHOP ,         ?
      1167 : 		    CHAR_TYPEHEALER ,       ????
      1168 : 		    CHAR_TYPEOLDMAN ,       ??
      1169 : 		    CHAR_TYPEROOMADMIN,     自去?
      1170 : 		    CHAR_TYPETOWNPEOPLE,    ?????
      1171 : 		    CHAR_TYPEDENGON,        ??吭
      1172 : 		    CHAR_TYPEADM,           ??吭
      1173 : 		    CHAR_TYPETEMPLE,        Temple master
      1174 : 		    CHAR_TYPESTORYTELLER,   ???
      1175 : 		    CHAR_TYPERANKING,       自去?????牙???
      1176 : 		    CHAR_TYPEOTHERNPC,      ??兝???▋?????NPC
      1177 : 		    CHAR_TYPEPRINTPASSMAN,  ????????牙??NPC
      1178 : 		    CHAR_TYPENPCENEMY,      ?叉?
      1179 : 		    CHAR_TYPEACTION,        ??????劫???NPC
      1180 : 		    CHAR_TYPEWINDOWMAN,     ?????牙??NPC??????)
      1181 : 		    CHAR_TYPESAVEPOINT,     ???????
      1182 : 		    CHAR_TYPEWINDOWHEALER,  ?????????????
      1183 : 		    CHAR_TYPEITEMSHOP,	    ??
      1184 : 		    CHAR_TYPESTONESHOP,	    吸?????????
      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 : ????????吳?????「??????? 1198 : ????????????????????????? 1199 : ????????????????????????? 1200 : ?????????????????????????? 1201 : ??????牙???????????????? 1202 : ???????????????????牙????? 1203 : 阪??????????????????守去???? 1204 : ??????????? SELFTITLE?????????? 1205 : ????????????????????????? 1206 : ?????????????????(CA)??????? 1207 : ??牙???CHARINDEX?????????????叻 1208 : 叉???吻??BASEIMG?牙????吻??LEVEL??? 1209 : ?????(0??牙??????π?NPC?????) 1210 : WALKABLE?1??????二?????????0??二 1211 : ???????????HEIGHT???????????? 1212 : ?????叉? 1213 : 1214 : ????????〈????? 1215 : ????????????????'|'?????? 1216 : ?????????????????????????' 1217 : |'????更?????????????Μ??'|'?? 1218 : ????????????????〈?????? 1219 : ???????????????????? 1220 : ????????????????????? 叉 1221 : ???????〈????????
      1222 : 1223 :
    • ?????????????6???
      1224 : ???????? 1225 : INDEX|X|Y|BASEIMG|LEVEL|ITEM1LINEINFO 1226 : ?????????????????????? 1227 : INDEX?????????????????INDEX???? 1228 : ??????????????X,Y????????? 1229 : ???ㄅ?BASEIMG????吻??ITEM1LINEINFO?1? 1230 : info?牙???????????????????? 1231 : ?牙?????????????????????? 1232 : ?CA?????ITEM1LINEINFO????? 1233 : ????????????????????? 1234 : 1235 :
    • ?????????????4???
      1236 : ???????? 1237 : INDEX|X|Y|VALUE 1238 : ???????????????????????? 1239 : ?????INDEX,X,Y ??????可??VALUE ???? 1240 : ?????????????????????????? 1241 :
    • ?????????????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 : ???吳?????????????┤????? 1256 : ????????????????????? 1257 : ?????1????????????????????????? 1258 : ???????

    1259 : 1260 :
    1261 :
    string data 1262 :
    CHARINDEX|X|Y|ACTION|PARAM1|PARAM2|PARAM3|PARAM4|....?? 1263 : ?????????????PARAM???????????? 1264 : ????????????????????X,Y??ㄅ?? 1265 : ???????????????ㄅ?叉??? 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?????吻?
    Down:10 (出??)??0~7
    Sit:11 (??)??0~7
    Hand:12 (??)??0~7
    Pleasure:13 (??)??0~7
    Angry:14 (凹?)??0~7
    Sad:15 (听??)??0~7
    Guard:16 (???)??0~7
    actionwalk:17 (??????卷?)??0~7
    nod:18 (????)??0~7
    actionstand:19 (???????????)??0~7
    Battle:20 (·卯?)??0~7BattleNo(-1 ??牙??SideNoHelpNo?????????CA牙????????????
    Leader:21 (?????)??0~70:牙? 1:牙
    Watch:22 (·卯?·)??0~70:牙? 1:牙
    namecolor:23(?〈??)??0~7?〈?吻?
    Turn:30(??阪?)??0~7
    Warp:31(???)??0~7
    1297 : ACTION?π????????牙??Ψ??????? 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 ,???π?'|'???????????? 1324 : ???'|'???????? 1325 : x,y???????‧▋?ㄅ?kind????????π???? 1326 : ???????????岌???叉??????????? 1327 : ????????????????????阪?????? 1328 : ????????? 1329 : 1330 : 1331 : 1332 : 1333 : 1334 : 1335 : 1336 :
    kind?π??
    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 : ??????????????????????'|'????????? 1375 : 2????????????????
    1376 :
    1377 :
      1378 :
    • P 「?????

      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 ?〈 ??
      1384 : 1385 : ????? '|' ???????〈????? 1386 : ?????????? 1387 : ??????????二????
      1388 : ?????π??????
      1389 : kubun ???向?????〈???????? 1390 : ?????????????????????????吻?向????????? 1391 : ?????????hp?Maxhp?kubun ????????宇???????
      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(▍?)hpint
      MaxHpint
      Mp(???)int
      MaxMpint
      Vital(▍?)int
      Str(??)int
      Tough(舌?)int
      Dex(???)int
      Exp(??π)expint
      MaxExp(??????π)int
      Level(???)int
      Attack(???)int
      Defense(??)int
      fQuick(????)int
      fCharm(?)int
      fLuck(?)int
      fEarth()fixearthatint
      fWater(?)int
      fFire(?)int
      fWid(?)fixwindatint
      Gold(??)int
      ??indexint
      ????????int
      ?〈更??
      ??更??
      1420 : ?▍?( 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 : ?▍?( char ????????? )
      1429 : 1430 : C1024|100|100|10|20 1431 : 1432 : ?????????ID1024, ???100x100 X 10,Y 20??? 1433 : ????????????????????????????? 1434 : ????????火????????ρ??????????? 1435 : ??????????卷???????????ㄅ?????? 1436 : ?????????????ν????????????? 1437 : ???????????????π???????????? 1438 : 1439 : 1440 :

      1441 :
    • I 「????

      1442 : (????1)|(????2)...(????n)
      1443 : ???????????????????? 1444 : ?????????????????6??????????? 1445 : ????????????????
      1446 :
      1447 : ?〈|?〈2|????|?????。?|???吻?|??守?|?▋|???????|????
      1448 :
      1449 :
        1450 :
      • ???????????去??阪????? 1451 :
      • ?〈2???????????????守??向??叉? 1452 : ?????????????2???向???? 1453 :
      • ??????〈??▔????? 1454 :
      • ?????。?? 1455 :
      • ???吻?????吻?? 1456 :
      • ??守????????????????????守??向????? 1457 : ????????????????叉???????
        1458 :
        1459 : 			typedef enum
        1460 : 			{
        1461 : 				ITEM_FIELD_ALL,			????????
        1462 : 				ITEM_FIELD_BATTLE,		·卯???
        1463 : 				ITEM_FIELD_MAP,			二?????
        1464 : 
        1465 : 			}ITEM_FIELDTYPE;
        1466 : 	          
        1467 :
        1468 :
      • ?▋??????????????????▋?向????? 1469 : ????????????叉??????? 1470 :
        1471 : 			typedef enum
        1472 : 			{
        1473 : 				ITEM_TARGET_MYSELF,		希??
        1474 : 				ITEM_TARGET_OTHER,		兝??希??)
        1475 : 				ITEM_TARGET_ALLMYSIDE,		?「▍
        1476 : 				ITEM_TARGET_ALLOTHERSIDE,	?¥「▍
        1477 : 				ITEM_TARGET_ALL,		「?
        1478 : 			}ITEM_TARGETTYPE;
        1479 : 		
        1480 : ?????100?℉?????????▋????
        1481 :
      • ????????????????????????? 1482 :
      • ????????????????????▋?????二??
        1483 : 1484 : 1485 : 1486 : 1487 :
        0bit??????????守????????????守?????????????
        1Bit????????????????
        2Bit???????????????1????????
        1488 :
        1489 :
        1490 :
      1491 :
      1492 : ??????????????
      1493 : ?▍?( char ????????? )
      1494 : 1495 : I?? ? |str+2|1|??\|??|10|2|0 1496 : 1497 : ?????π?????π? 1498 : 1499 : 1500 : 1501 : 1502 : 1503 :
      1????A
      2????B
      3????C
      4????D
      1504 : ???????????牙????希??????5??????? 1505 : ?????????????┤???????? 1506 : 1507 :

      1508 :
    • S 「???

      1509 : (???0)|(???1)|(???2) ... (???n)
      1510 : ??可????????????????希??????? 1511 : ?????? ||| ???????? 1512 : ??????????
      1513 : ????????|???
      1514 : ????
      1515 : ?▍?( char ????????? )
      1516 : 1517 : S10|2|20|2||| 1518 : 1519 : 1520 :

      1521 :
    • T ?

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

      1523 : ??????????? '|' ??㎝??????㎝??? 1524 : ?????????????????????????希? 1525 : ???
      1526 : ????????????
      1527 : ?〈
      1528 : ??????
      1529 : ?▍?( ?????? char ?????????? )
      1530 : 1531 : T??|????? 1532 : 1533 : ???????????
      1534 : 1535 :
      1536 :
    • M ?希?????

      1537 : ????????????????池呎?阪??????(?? 1538 : π)????????(??π??)????????????? 1539 : ?阪?????????「???????????????? 1540 : ???????????▏??????????叻?HP , 1541 : MP,EXP?π??????????????????????? 1542 : ?????M????????2更????????????HP? 1543 : ??π , ?匠?????MP???????EXP???? 1544 : ????▍?????? 1545 : 1546 : M54|210|8944909 1547 : 1548 : ?????HP???π?54?MP???π?210???π?8944909 1549 : ???????????3??叻?阪?池冉??????? 1550 : ?????????????????????M??????? 1551 : ??P?????「??????????????????? 1552 : ?????????????????????????? 1553 : ???? 1554 : 1555 :

      1556 :
    • D ????ID

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

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

      1561 : ???????????????n/100
      1562 : ???????????π??????????卷卷???+1???????????????刪κ??? 1563 : ??????π??????????? 1564 : ??????????????????????????????? 1565 : 1566 :

      1567 :
    • J0 ?J6 ?????

      1568 : ??????????
      1569 : 0 ?6 ???????????????▋??????????????卡?司???此? 1570 : ????????叉??????????「???????????
      1571 : J0|kubun|mp|field|target|name|comment
      1572 : ????????????????
      1573 : kubun ?????????????????????????????????????? 1574 : mp?????牙??
      1575 : field????????????????????叉???????
      1576 :
      1577 : 		typedef enum
      1578 : 		{
      1579 : 			MAGIC_FIELD_ALL,		????????
      1580 : 			MAGIC_FIELD_BATTLE,		·卯???
      1581 : 			MAGIC_FIELD_MAP,		二?????
      1582 : 			
      1583 : 		}MAGIC_FIELDTYPE;
      1584 : 	    
      1585 : target????▋?????????????????叉???????
      1586 :
      1587 : 		typedef enum
      1588 : 		{
      1589 : 			MAGIC_TARGET_MYSELF,		希??
      1590 : 			MAGIC_TARGET_OTHER,		兝??希??)
      1591 : 			MAGIC_TARGET_ALLMYSIDE,		?「▍
      1592 : 			MAGIC_TARGET_ALLOTHERSIDE,	?¥「▍
      1593 : 			MAGIC_TARGET_ALL,		「?
      1594 : 			MAGIC_TARGET_NONE,		Κ?︻???????????
      1595 : 			MAGIC_TARGET_OTHERWITHOUTMYSELF,兝??希????)
      1596 : 			MAGIC_TARGET_WITHOUTMYSELFANDPET, 希??????
      1597 : 			MAGIC_TARGET_WHOLEOTHERSIDE,    阬?????「▍
      1598 : 		}MAGIC_TARGETTYPE;
      1599 : 	    
      1600 : ?????100?℉?????????▋????
      1601 :
      1602 : name???
      1603 : comment????。??
      1604 :
      1605 :
      1606 :
    • N0 ? N3 ????????

      1607 : ???????????????
      1608 : N0|kubun|level|charaindex|maxhp|hp|mp|name 1609 :
      1610 : kubun ?????????????????????????????????「??????
      1611 : 2???????????????????????1bit ? level 2bit ?charaindex??? 1612 : ??????
      1613 : charaindex ????charaindex
      1614 : level????????
      1615 : maxhp????MAXHP
      1616 : hp???????HP
      1617 : mp??????
      1618 : name ?????〈?
      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 : ?〈 status
      1626 : K???0?4?叉?????????叉????? 1627 : ?????????0?????????????????? 1628 : ?????????1??「?????? 1629 : 2???????????????????????1bit ? hp 2bit ?maxhp??? 1630 : ??????
      1631 : ????? '|' ???????〈????? 1632 : ?????????? 1633 : ??????????二????
      1634 : ?????π?????? 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.(吻?)int
      islive(?)int
      GRA(??吻?)int
      Hp(▊??)int
      MaxHp(??▊??)int
      Mpint
      MapMpint
      Exp(??π)int
      MaxExp(??????π)int
      Level(???)int
      Attack(???)int
      Defense(??)int
      Quick(???)int
      Ai(?冉)int
      fEarth()int
      fWater(?)int
      fFire(?)int
      fWid(?)int
      Slot(??吭?)int
      ?〈阪??????int
      ?〈更??
      ????????更??
      1659 :
      1660 : ?〈阪????????????????〈?阪??????????????? 1661 : 1 ??阪???????阪?自?????
      1662 :
      1663 :
      1664 :
      1665 : ?▍?( 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 ??????????▋??????
      1675 : petskillid ????????吻??pet_skillinfo.h?叉???????
      1676 : field ??????????????????????????叉???????
      1677 :
      1678 : 		typedef enum
      1679 : 		{
      1680 : 			PETSKILL_FIELD_ALL,		????????
      1681 : 			PETSKILL_FIELD_BATTLE,		·卯???
      1682 : 			PETSKILL_FIELD_MAP,		二?????
      1683 : 
      1684 : 		}PETSKILL_FIELDTYPE;
      1685 : 	  
      1686 : 	  
      1687 : target ?????▋????????????????????叉???????
      1688 :
      1689 : 		typedef enum
      1690 : 		{
      1691 : 			PETSKILL_TARGET_MYSELF,		希??
      1692 : 			PETSKILL_TARGET_OTHER,		兝??希??)
      1693 : 			PETSKILL_TARGET_ALLMYSIDE,	?「▍
      1694 : 			PETSKILL_TARGET_ALLOTHERSIDE,	?¥「▍
      1695 : 			PETSKILL_TARGET_ALL,		「?
      1696 : 			PETSKILL_TARGET_NONE,		Κ?︻???????????
      1697 : 			PETSKILL_TARGET_OTHERWITHOUTMYSELF,兝??希????) 
      1698 : 			PETSKILL_TARGET_WITHOUTMYSELFANDPET, 希??????
      1699 : 		}PETSKILL_TARGETTYPE;
      1700 : 	  
      1701 :
      1702 : name ????〈?
      1703 : comment?????▋??。??
      1704 : target|name|comment| ?????希?????????? 1705 : ?????????代????兌?????"|"???㎝??? 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 :
    π??
    1希???????????data?更? 1725 : ?????π?
    2希?????????data?更??? 1727 : ???π
    1729 :
    int dx 1730 :
    ?????????????▋?ㄅX??吧????????伶 1731 : ???ㄅ??????????π???????ㄅ???? 1732 : 丙???? 1733 :
    int dy 1734 :
    ?▋?ㄅY 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????????????????希?┤??????????

    1762 :
    1763 :
    int flg 1764 :
    0 bit 0: ??Off 1: ??On
    1765 : ?????1 bit 0: ·卯代??off 1: ·卯代??On
    1766 : 2 bit 0: DUEL off 1: DUEL On
    1767 : 3 bit 0: ?二???????? 1: ???????????????????
    1768 : 4 bit 0: ???OK 1: ????呀
    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????????????????·卯????????阪????????????

    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 : ??????﹀???兌???????? 1811 :

    1812 : 1813 :
    1814 :
    int request 1815 :
    0: ?? 1:向? 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?▋??刺????????╱?????????????? 1837 : ????????????????????? 1838 : ???·卯???︻????????????????????????ㄅ??????︻?????????? 1839 : ??????????????? 1840 :

    1841 : 1842 :
    1843 :
    int petarray 1844 :
    ????吻? 1845 :
    int result 1846 :
    0: ?????︻?????????? 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?▋?????????? 1937 : result ??????????PS?▋????????????????????? 1938 : 1939 :
    1940 :
    int result 1941 :
    ???0: ? 1:? 1942 :
    int havepetindex 1943 :
    ?吻??????????? 1944 :
    int havepetskill 1945 :
    ?吻????????? 1946 :
    int toindex 1947 :
    Κ???????????????????????index???????????????? 1948 :
    1949 : 	  希    = 0
    1950 : 	  ???  = 1 ?5
    1951 : 	  ??    = 6 ?10 ?S N ?0?4?▋??希????????
    1952 : 	
    1953 : ▋?「????希??????????-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 : ????????????????二ρ????????????叉??? 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 : ??????牙???????????????二ρ???
    2050 :
    2051 :
    2052 :
    int windowtype 2053 :
    ??????????????????????牙???????buttontype ??????? 2054 : ???????叉???
    2055 : ??????????? 叉??????
    2056 :
    2057 : 		typedef enum
    2058 : 		{
    2059 : 			WINDOW_MESSAGETYPE_MESSAGE,			???????
    2060 : 			WINDOW_MESSAGETYPE_MESSAGEANDLINEINPUT,		????????向?
    2061 : 			WINDOW_MESSAGETYPE_SELECT,			︻??????
    2062 : 			WINDOW_MESSAGETYPE_PETSELECT,			???︻??????
    2063 : 			WINDOW_MESSAGETYPE_PARTYSELECT,			??︻??????
    2064 : 			WINDOW_MESSAGETYPE_PETANDPARTYSELECT,		??????︻??????
    2065 : 			WINDOW_MESSAGETYPE_ITEMSHOPMENU,		????????????
    2066 : 			WINDOW_MWSSAGETYPE_ITEMSHOPYMAIN,		???????????
    2067 : 			WINDOW_MESSAGETYPE_LIMITITEMSHOPMAIN,		???﹐???????????????
    2068 : 			WINDOW_MESSAGETYPE_PETSKILLSHOP,		?????????????
    2069 : 			WINDOW_MESSAGETYPE_WIDEMESSAGE,			?????????????
    2070 : 			WINDOW_MESSAGETYPE_WIDEMESSAGEANDLINEINPUT,	????????向???????
    2071 : 
    2072 : 		}WINDOW_MESSAGETYPE;
    2073 : 	  
    2074 : 2075 :
    int buttontype 2076 :
    ??????叉??????????????叉???????
    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 :
    ????????吻?????????????? 2092 : ???????WN???????????????刺??????吻?????刺???? 2093 : ?????????????NPC?????????????刪κ???????? 2094 :
    int objindex 2095 :
    ?????????????NPC???index??宇?????? 2096 : ????????????-1???向????? 2097 : ?????????????向???WN?????????π?????刺????? 2098 :
    string data 2099 :
    ?????????????????????"\n"?????????????? 2100 : ????????????????牙??????????去???????? 2101 : ︻?????????????"\n"????????????????????? 2102 : ?????????????????????????叉?????㎝?? 2103 : ????????????????︻????????〈???? 1 ?? 2104 : 吻???????︻?????WN??刺????刺?? 2105 :
    string data(???? 2106 :
    ?????????????????????"\n"?????????????? 2107 : ????????????????牙??????????去???????? 2108 : ?????????"?"????????? 2109 :

    ????
    2110 : ???????????ㄩ?????〈????????????ㄩ???ㄩ1?? 2111 : ???〈????????????????︻??????????℉??????????囝?????? 2112 : ???????????????????????????????????ㄩ?????ㄩ??????????? 2113 : πν???吻??。???????????????????????????πν???吻??。? 2114 :

    2115 : 0|1|????????|?????????????|???????????|??╱???|????????????? 2116 : ℉??????????|???????|?????????????????????????| 2117 : ?|???|?????|??????\n??兌?|??|?|??|?????|??????\n?????岌\n??? 2118 : 2119 :

    ????
    2120 : ???????????ㄩ?????〈????????????ㄩ???ㄩ1?? 2121 : ???〈????????????????????????????????|?囝?????? 2122 : ?????????????????πν???吻??。??????????????????? 2123 : πν???吻??。?? 2124 : 2125 :

    2126 : ?|1|?????叫??|?????????????????????????????|???????| 2127 : ???????????????????????|?|??|?????| 2128 : ??????\n??兌?|??|?|??|?????|??????\n?????岌\n??? 2129 :

    ?????????
    2130 : ??????=??????????????
    2131 : ???〈?
    2132 : ?????????????????????????囝??????
    2133 : ?〈????????????守???自?????πν???吻??????????????吻??????
    2134 : ?〈????????????守???自?????πν???吻??????????????吻??????
    2135 :

    ?????????
    2136 : ???????=??? 2137 : ???〈?????????????????????????|?囝??????
    2138 : ?〈??????????????守???自?????????????πν???吻?????????
    2139 : ?〈??????????????守???自?????????????πν???吻?????????
    2140 : 2141 : 2142 :

    ???兝?
    2143 : ???〈?????? 2144 : 2145 :

    2146 : ?????叫??|???????????? 2147 : 2148 :


    2149 :
    string data(?????????? 2150 :
    ?????????????????????"\n"?????????????? 2151 : ????????????????牙??????????去???????? 2152 : ?????????"?"????????? 2153 :

    ??????台?
    2154 : 〈??????????ㄩ0 ???ㄩ1?????〈?????????? 2155 : ???πν??。?????πν??。? 2156 :

    2157 : 1????????????????????????????????? 2158 : ???????500????????? ?????????? 2159 : ???1000???伶??????????? 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 : .????????????????「▍????牙???????
    2199 :
    2200 :
    2201 :
    int effect 2202 :
    ??吻???????℉?????????????台????????????.??????????? 2203 :
      2204 :
    • 1:? 2205 :
    • 2:. 2206 :
    • 4:??.??叉? 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?伶???火? 2225 :
    int senumber 2226 :
    ???吻? 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 : ?????????????叉???????吳????? 2329 : ??????????????????????????? 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"??????????????卒㎏??? 2404 : ???????????〈???????????????? 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 :
    ????????吻?????????????????吻????叉??? 2413 :
    faceimage 2414 :
    ????吻? 2415 :
    level 2416 :
    ??????? 2417 :
    maxhp,atk,def,quick,charm 2418 :
    ??????? 2419 :
    earth.water,fire,wind 2420 :
    ?﹫π 2421 :
    logincount 2422 :
    ???????? 2423 :
    name 2424 :
    ?????〈 2425 :
    place 2426 :
    ??????? 2427 :
    2428 : "|" ???????? ?????????????????????????? 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?▋??刺?? 2447 :

    2448 :
    2449 :
    string result 2450 :
    "successful" ? "failed" ??????????????? 2451 :
    string data 2452 :
    "failed" ??????????????(┤)??? 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????????????可?? 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?▋??刺?? 2508 :
    2509 :
    string test 2510 :
    ????向????更???????????? 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