Jump to content

Masrawy220

Inactive Member
  • Posts

    20
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Masrawy220

  1. -----------------------syserr__Auth---------------------------
    SYSERR: Jun  6 23:04:59.249595 :: pid_init: 
    Start of pid: 853
    
    SYSERR: Jun  6 23:04:59.252925 :: socket_connect: HOST localhost:20000, could not connect.
    SYSERR: Jun  6 23:05:01.39950 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
    SYSERR: Jun  6 23:05:01.65503 :: pid_deinit: 
    End of pid
    
    ---------------------------------------------------------------
    
    Spoiler

    -----------------syslog_Auth-------------------------------------

    SYSERR: Jun  6 23:04:59.249595 :: pid_init: 
    Start of pid: 853

    Jun  6 23:04:59.250541 :: SYSTEM: BINDING TCP PORT ON [11002] (fd 9)
    Jun  6 23:04:59.250626 :: SYSTEM: BINDING TCP PORT ON [12000] (fd 10)
    Jun  6 23:04:59.252115 :: SYSTEM: Trying to connect to localhost:20000
    SYSERR: Jun  6 23:04:59.252925 :: socket_connect: HOST localhost:20000, could not connect.
    Jun  6 23:04:59.252976 :: Initializing Guild
    Jun  6 23:04:59.253034 ::     No need for auth server
    Jun  6 23:04:59.253488 :: FISH: ²خ                       vnum     0 prob 3000 3000 2100 2000 len 0 0 0
    Jun  6 23:04:59.253523 :: FISH: ±ف¹فءِ                   vnum 50002 prob   50   50  200  200 len 0 0 0
    Jun  6 23:04:59.253546 :: FISH: اا¶َ¹ج                   vnum 27802 prob 2000 1800  800 2200 len 500 550 600
    Jun  6 23:04:59.253569 :: FISH: ؛ط¾î                     vnum 27803 prob 1950 1600  800  700 len 1000 2500 2800
    Jun  6 23:04:59.253592 :: FISH: ½î°،¸®                   vnum 27804 prob  900  800  700  600 len 2000 3500 3800
    Jun  6 23:04:59.253615 :: FISH: ؟ùأ´؛ط¾î                 vnum 27805 prob  700  700  700  600 len 3030 3500 4300
    Jun  6 23:04:59.253638 :: FISH: ہ×¾î                     vnum 27806 prob  200  300  600  800 len 4000 6000 10000
    Jun  6 23:04:59.253660 :: FISH: ؟¬¾î                     vnum 27807 prob  200  200  500  600 len 6000 8000 10000
    Jun  6 23:04:59.253683 :: FISH: اâ¾î                     vnum 27808 prob  100  100  250  200 len 1500 3000 3800
    Jun  6 23:04:59.253706 :: FISH: ¼غ¾î                     vnum 27809 prob  100  100  250  350 len 5000 7000 8000
    Jun  6 23:04:59.253729 :: FISH: ¹خ¹°ہه¾î                 vnum 27810 prob    0  100  250  200 len 4000 5000 6000
    Jun  6 23:04:59.253752 :: FISH: ¹«ءِ°³¼غ¾î               vnum 27811 prob    0  100  250  150 len 5000 7000 8000
    Jun  6 23:04:59.253775 :: FISH: °­¼غ¾î                   vnum 27812 prob    0  100  250  150 len 4000 6000 7000
    Jun  6 23:04:59.253797 :: FISH: ·¯µه                     vnum 27813 prob    0  100  200  100 len 4000 6000 10000
    Jun  6 23:04:59.253839 :: FISH: ئغؤ،                     vnum 27814 prob    0  100  200  100 len 3000 4000 5000
    Jun  6 23:04:59.253871 :: FISH: إظؤ،                     vnum 27815 prob    0   50  200  100 len 3500 5500 8000
    Jun  6 23:04:59.253894 :: FISH: ¸ق±â                     vnum 27816 prob   50   50  200  100 len 3000 5000 10000
    Jun  6 23:04:59.253917 :: FISH: ¹ج²ظ¶َءِ                 vnum 27817 prob    0    0    0    0 len 1800 2200 3000
    Jun  6 23:04:59.253964 :: FISH: ¹é·أ                     vnum 27818 prob   50   50  200  100 len 5000 8000 10000
    Jun  6 23:04:59.253987 :: FISH: ہ؛¾î                     vnum 27819 prob    0    0    0    0 len 1500 3000 3800
    Jun  6 23:04:59.254010 :: FISH: ؛ù¾î                     vnum 27820 prob    0    0    0    0 len 1500 3000 3800
    Jun  6 23:04:59.254033 :: FISH: ½¬¸®                     vnum 27821 prob    0    0    0    0 len 1000 1500 2000
    Jun  6 23:04:59.254056 :: FISH: ؛ٌ´أہ×¾î                 vnum 27822 prob    0    0    0    0 len 4000 6000 10000
    Jun  6 23:04:59.254079 :: FISH: ب²±ف؛ط¾î                 vnum 27823 prob    0    0    0    0 len 1000 3000 3500
    Jun  6 23:04:59.254101 :: FISH: إ»»ِ¾à                   vnum 70201 prob  100  100    0    0 len 0 0 0
    Jun  6 23:04:59.254125 :: FISH: ؟°»ِ¾à(بٍ»ِ)             vnum 70202 prob   85   85    0    0 len 0 0 0
    Jun  6 23:04:59.254147 :: FISH: ؟°»ِ¾à(±ف»ِ)             vnum 70203 prob   85   85    0    0 len 0 0 0
    Jun  6 23:04:59.254170 :: FISH: ؟°»ِ¾à(»،°£»ِ)           vnum 70204 prob   85   85    0    0 len 0 0 0
    Jun  6 23:04:59.254193 :: FISH: ؟°»ِ¾à(°¥»ِ)             vnum 70205 prob   85   85    0    0 len 0 0 0
    Jun  6 23:04:59.254216 :: FISH: ؟°»ِ¾à(°ثہ؛»ِ)           vnum 70206 prob   85   85    0    0 len 0 0 0
    Jun  6 23:04:59.254239 :: FISH: ہ؛µذہعہا ¸ءإن            vnum 70048 prob   25   25  200  100 len 0 0 0
    Jun  6 23:04:59.254262 :: FISH: اà؟îہا ¹فءِ              vnum 70049 prob   25   25  200  100 len 0 0 0
    Jun  6 23:04:59.254285 :: FISH: ¼±؟صہا ءُا¥              vnum 70050 prob   25   25  200  100 len 0 0 0
    Jun  6 23:04:59.254326 :: FISH: ¼±؟صہا ہه°©              vnum 70051 prob   25   25  200  100 len 0 0 0
    Jun  6 23:04:59.254464 :: FISH: ±فµ¢¾î¸®                 vnum 80008 prob   25   25  100  100 len 0 0 0
    Jun  6 23:04:59.254489 :: FISH: ہ؛؟­¼è                   vnum 50009 prob    0    0  150  100 len 0 0 0
    Jun  6 23:04:59.254512 :: FISH: ±ف؟­¼è                   vnum 50008 prob    0    0  100   50 len 0 0 0
    Jun  6 23:04:59.254566 :: CLIENT_DESC [db_clientdesc] trying DBPacket() while not connected
    Jun  6 23:04:59.254602 :: Cube_Init locale/germany/cube.txt
    Jun  6 23:04:59.255330 :: Acce_Init locale/germany/acce.txt
    Jun  6 23:04:59.255476 :: Blend_Item_init locale/germany/blend.txt 
    Jun  6 23:04:59.262636 :: [main] Level do Pet carregado a partir da exppettable.txt: 0 !
    Jun  6 23:04:59.262681 :: [main] Level do Pet carregado a partir da exppettable.txt: 300 !
    Jun  6 23:04:59.262706 :: [main] Level do Pet carregado a partir da exppettable.txt: 800 !
    Jun  6 23:04:59.262732 :: [main] Level do Pet carregado a partir da exppettable.txt: 1500 !
    Jun  6 23:04:59.262756 :: [main] Level do Pet carregado a partir da exppettable.txt: 2500 !
    Jun  6 23:04:59.262780 :: [main] Level do Pet carregado a partir da exppettable.txt: 4300 !
    Jun  6 23:04:59.262805 :: [main] Level do Pet carregado a partir da exppettable.txt: 7200 !
    Jun  6 23:04:59.262829 :: [main] Level do Pet carregado a partir da exppettable.txt: 11000 !
    Jun  6 23:04:59.262853 :: [main] Level do Pet carregado a partir da exppettable.txt: 17000 !
    Jun  6 23:04:59.262878 :: [main] Level do Pet carregado a partir da exppettable.txt: 24000 !
    Jun  6 23:04:59.262902 :: [main] Level do Pet carregado a partir da exppettable.txt: 33001 !
    Jun  6 23:04:59.262927 :: [main] Level do Pet carregado a partir da exppettable.txt: 43000 !
    Jun  6 23:04:59.262951 :: [main] Level do Pet carregado a partir da exppettable.txt: 58000 !
    Jun  6 23:04:59.262975 :: [main] Level do Pet carregado a partir da exppettable.txt: 76000 !
    Jun  6 23:04:59.262976 :: [main] Level do Pet carregado a partir da exppettable.txt: 100000 !
    Jun  6 23:04:59.263094 :: [main] Level do Pet carregado a partir da exppettable.txt: 130000 !
    Jun  6 23:04:59.263119 :: [main] Level do Pet carregado a partir da exppettable.txt: 169000 !
    Jun  6 23:04:59.263144 :: [main] Level do Pet carregado a partir da exppettable.txt: 219000 !
    Jun  6 23:04:59.263168 :: [main] Level do Pet carregado a partir da exppettable.txt: 283000 !
    Jun  6 23:04:59.263193 :: [main] Level do Pet carregado a partir da exppettable.txt: 365000 !
    Jun  6 23:04:59.263218 :: [main] Level do Pet carregado a partir da exppettable.txt: 472000 !
    Jun  6 23:04:59.263243 :: [main] Level do Pet carregado a partir da exppettable.txt: 610000 !
    Jun  6 23:04:59.263268 :: [main] Level do Pet carregado a partir da exppettable.txt: 705000 !
    Jun  6 23:04:59.263292 :: [main] Level do Pet carregado a partir da exppettable.txt: 813000 !
    Jun  6 23:04:59.263318 :: [main] Level do Pet carregado a partir da exppettable.txt: 937000 !
    Jun  6 23:04:59.263345 :: [main] Level do Pet carregado a partir da exppettable.txt: 1077000 !
    Jun  6 23:04:59.263370 :: [main] Level do Pet carregado a partir da exppettable.txt: 1237000 !
    Jun  6 23:04:59.263394 :: [main] Level do Pet carregado a partir da exppettable.txt: 1418000 !
    Jun  6 23:04:59.263418 :: [main] Level do Pet carregado a partir da exppettable.txt: 1624000 !
    Jun  6 23:04:59.263443 :: [main] Level do Pet carregado a partir da exppettable.txt: 1857000 !
    Jun  6 23:04:59.263467 :: [main] Level do Pet carregado a partir da exppettable.txt: 2122000 !
    Jun  6 23:04:59.263491 :: [main] Level do Pet carregado a partir da exppettable.txt: 2421000 !
    Jun  6 23:04:59.263550 :: [main] Level do Pet carregado a partir da exppettable.txt: 2761000 !
    Jun  6 23:04:59.263574 :: [main] Level do Pet carregado a partir da exppettable.txt: 3145000 !
    Jun  6 23:04:59.263599 :: [main] Level do Pet carregado a partir da exppettable.txt: 3580000 !
    Jun  6 23:04:59.263623 :: [main] Level do Pet carregado a partir da exppettable.txt: 4073000 !
    Jun  6 23:04:59.263647 :: [main] Level do Pet carregado a partir da exppettable.txt: 4632000 !
    Jun  6 23:04:59.263808 :: [main] Level do Pet carregado a partir da exppettable.txt: 5194000 !
    Jun  6 23:04:59.263834 :: [main] Level do Pet carregado a partir da exppettable.txt: 5717000 !
    Jun  6 23:04:59.263858 :: [main] Level do Pet carregado a partir da exppettable.txt: 6264000 !
    Jun  6 23:04:59.263883 :: [main] Level do Pet carregado a partir da exppettable.txt: 6837000 !
    Jun  6 23:04:59.263907 :: [main] Level do Pet carregado a partir da exppettable.txt: 7600000 !
    Jun  6 23:04:59.263931 :: [main] Level do Pet carregado a partir da exppettable.txt: 8274000 !
    Jun  6 23:04:59.263956 :: [main] Level do Pet carregado a partir da exppettable.txt: 8990000 !
    Jun  6 23:04:59.263980 :: [main] Level do Pet carregado a partir da exppettable.txt: 9753000 !
    Jun  6 23:04:59.264006 :: [main] Level do Pet carregado a partir da exppettable.txt: 10560000 !
    Jun  6 23:04:59.264030 :: [main] Level do Pet carregado a partir da exppettable.txt: 11410000 !
    Jun  6 23:04:59.264055 :: [main] Level do Pet carregado a partir da exppettable.txt: 12320000 !
    Jun  6 23:04:59.264079 :: [main] Level do Pet carregado a partir da exppettable.txt: 13270000 !
    Jun  6 23:04:59.264103 :: [main] Level do Pet carregado a partir da exppettable.txt: 14280000 !
    Jun  6 23:04:59.264128 :: [main] Level do Pet carregado a partir da exppettable.txt: 15340000 !
    Jun  6 23:04:59.264152 :: [main] Level do Pet carregado a partir da exppettable.txt: 16870000 !
    Jun  6 23:04:59.264176 :: [main] Level do Pet carregado a partir da exppettable.txt: 18960000 !
    Jun  6 23:04:59.264200 :: [main] Level do Pet carregado a partir da exppettable.txt: 19980000 !
    Jun  6 23:04:59.264225 :: [main] Level do Pet carregado a partir da exppettable.txt: 21420000 !
    Jun  6 23:04:59.264249 :: [main] Level do Pet carregado a partir da exppettable.txt: 22930000 !
    Jun  6 23:04:59.264273 :: [main] Level do Pet carregado a partir da exppettable.txt: 24530000 !
    Jun  6 23:04:59.264298 :: [main] Level do Pet carregado a partir da exppettable.txt: 26200000 !
    Jun  6 23:04:59.264322 :: [main] Level do Pet carregado a partir da exppettable.txt: 27960000 !
    Jun  6 23:04:59.264346 :: [main] Level do Pet carregado a partir da exppettable.txt: 29800000 !
    Jun  6 23:04:59.264371 :: [main] Level do Pet carregado a partir da exppettable.txt: 32780000 !
    Jun  6 23:04:59.264395 :: [main] Level do Pet carregado a partir da exppettable.txt: 36060000 !
    Jun  6 23:04:59.264419 :: [main] Level do Pet carregado a partir da exppettable.txt: 39670000 !
    Jun  6 23:04:59.264443 :: [main] Level do Pet carregado a partir da exppettable.txt: 43640000 !
    Jun  6 23:04:59.264468 :: [main] Level do Pet carregado a partir da exppettable.txt: 48000000 !
    Jun  6 23:04:59.264492 :: [main] Level do Pet carregado a partir da exppettable.txt: 52800000 !
    Jun  6 23:04:59.264518 :: [main] Level do Pet carregado a partir da exppettable.txt: 58080000 !
    Jun  6 23:04:59.264542 :: [main] Level do Pet carregado a partir da exppettable.txt: 63890000 !
    Jun  6 23:04:59.264566 :: [main] Level do Pet carregado a partir da exppettable.txt: 70280000 !
    Jun  6 23:04:59.264591 :: [main] Level do Pet carregado a partir da exppettable.txt: 77310000 !
    Jun  6 23:04:59.264615 :: [main] Level do Pet carregado a partir da exppettable.txt: 85040000 !
    Jun  6 23:04:59.264639 :: [main] Level do Pet carregado a partir da exppettable.txt: 93540000 !
    Jun  6 23:04:59.264664 :: [main] Level do Pet carregado a partir da exppettable.txt: 102900000 !
    Jun  6 23:04:59.264688 :: [main] Level do Pet carregado a partir da exppettable.txt: 113200000 !
    Jun  6 23:04:59.264713 :: [main] Level do Pet carregado a partir da exppettable.txt: 124500000 !
    Jun  6 23:04:59.264737 :: [main] Level do Pet carregado a partir da exppettable.txt: 137000000 !
    Jun  6 23:04:59.264761 :: [main] Level do Pet carregado a partir da exppettable.txt: 150700000 !
    Jun  6 23:04:59.264785 :: [main] Level do Pet carregado a partir da exppettable.txt: 165700000 !
    Jun  6 23:04:59.264810 :: [main] Level do Pet carregado a partir da exppettable.txt: 236990000 !
    Jun  6 23:04:59.264834 :: [main] Level do Pet carregado a partir da exppettable.txt: 260650000 !
    Jun  6 23:04:59.264920 :: [main] Level do Pet carregado a partir da exppettable.txt: 286780000 !
    Jun  6 23:04:59.264946 :: [main] Level do Pet carregado a partir da exppettable.txt: 315380000 !
    Jun  6 23:04:59.264970 :: [main] Level do Pet carregado a partir da exppettable.txt: 346970000 !
    Jun  6 23:04:59.264995 :: [main] Level do Pet carregado a partir da exppettable.txt: 381680000 !
    Jun  6 23:04:59.265019 :: [main] Level do Pet carregado a partir da exppettable.txt: 419770000 !
    Jun  6 23:04:59.265404 :: [main] Level do Pet carregado a partir da exppettable.txt: 461760000 !
    Jun  6 23:04:59.265440 :: [main] Level do Pet carregado a partir da exppettable.txt: 508040000 !
    Jun  6 23:04:59.265465 :: [main] Level do Pet carregado a partir da exppettable.txt: 558740000 !
    Jun  6 23:04:59.265836 :: [main] Level do Pet carregado a partir da exppettable.txt: 614640000 !
    Jun  6 23:04:59.265861 :: [main] Level do Pet carregado a partir da exppettable.txt: 676130000 !
    Jun  6 23:04:59.265885 :: [main] Level do Pet carregado a partir da exppettable.txt: 743730000 !
    Jun  6 23:04:59.265910 :: [main] Level do Pet carregado a partir da exppettable.txt: 1041222000 !
    Jun  6 23:04:59.265935 :: [main] Level do Pet carregado a partir da exppettable.txt: 1145344200 !
    Jun  6 23:04:59.265959 :: [main] Level do Pet carregado a partir da exppettable.txt: 1259878620 !
    Jun  6 23:04:59.265984 :: [main] Level do Pet carregado a partir da exppettable.txt: 1385866482 !
    Jun  6 23:04:59.266008 :: [main] Level do Pet carregado a partir da exppettable.txt: 1524453130 !
    Jun  6 23:04:59.266033 :: [main] Level do Pet carregado a partir da exppettable.txt: 1676898443 !
    Jun  6 23:04:59.266080 :: [main] Level do Pet carregado a partir da exppettable.txt: 1844588288 !
    Jun  6 23:04:59.266114 :: [main] Level do Pet carregado a partir da exppettable.txt: 2029047116 !
    Jun  6 23:04:59.266139 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266163 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266188 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266212 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266236 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266261 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266285 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266310 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266334 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266358 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266383 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266407 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266431 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266456 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266480 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266505 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266529 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266562 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266588 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266613 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266637 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266673 :: [main] Level do Pet carregado a partir da exppettable.txt: 2147483646 !
    Jun  6 23:04:59.266747 :: ERRO: Nao foi possivel abrir chat/blockspamlist.lst
    Jun  6 23:04:59.266902 :: ERRO: Nao foi possivel abrir chat/bannspamlist.lst
    Jun  6 23:04:59.267067 :: [PackageCryptInfo] . is not crypt file. pass!
    Jun  6 23:04:59.267115 :: [PackageCryptInfo] .. is not crypt file. pass!
    Jun  6 23:04:59.267155 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_mundi.dat
    Jun  6 23:04:59.267232 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_mundi.dat loaded. (key size: 116, count: 1, total: 1)
    Jun  6 23:04:59.267271 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_party.dat
    Jun  6 23:04:59.267329 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_party.dat loaded. (key size: 80, count: 1, total: 2)
    Jun  6 23:04:59.267363 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_sd.dat
    Jun  6 23:04:59.267503 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_sd.dat loaded. (key size: 188, count: 1, total: 3)
    Jun  6 23:04:59.267537 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_sg3.dat
    Jun  6 23:04:59.267584 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_sg3.dat loaded. (key size: 116, count: 1, total: 4)
    Jun  6 23:04:59.267646 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_w19_etc.dat
    Jun  6 23:04:59.267703 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_w19_etc.dat loaded. (key size: 116, count: 1, total: 5)
    Jun  6 23:04:59.267737 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_xmas.dat
    Jun  6 23:04:59.267825 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_xmas.dat loaded. (key size: 152, count: 1, total: 6)
    Jun  6 23:04:59.267858 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_5th_armor.dat
    Jun  6 23:04:59.267976 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_5th_armor.dat loaded. (key size: 188, count: 1, total: 7)
    Jun  6 23:04:59.268852 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_costume_soccer.dat
    Jun  6 23:04:59.268900 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_costume_soccer.dat loaded. (key size: 116, count: 1, total: 8)
    Jun  6 23:04:59.268934 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_dance.dat
    Jun  6 23:04:59.268990 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_dance.dat loaded. (key size: 44, count: 1, total: 9)
    Jun  6 23:04:59.269024 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_dragon_rock.dat
    Jun  6 23:04:59.269071 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_dragon_rock.dat loaded. (key size: 332, count: 1, total: 10)
    Jun  6 23:04:59.269104 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_dragon_rock_mobs.dat
    Jun  6 23:04:59.269357 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_dragon_rock_mobs.dat loaded. (key size: 188, count: 1, total: 11)
    Jun  6 23:04:59.269430 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_easter1.dat
    Jun  6 23:04:59.269477 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_easter1.dat loaded. (key size: 152, count: 1, total: 12)
    Jun  6 23:04:59.269511 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_etc_costume1.dat
    Jun  6 23:04:59.269567 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_etc_costume1.dat loaded. (key size: 116, count: 1, total: 13)
    Jun  6 23:04:59.269601 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_EU3.dat
    Jun  6 23:04:59.269658 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_EU3.dat loaded. (key size: 188, count: 1, total: 14)
    Jun  6 23:04:59.269683 :: [PackageCryptInfo] SDB Loaded. (Name Hash : 587775556, Stream Size: 1131, File Count: 9)
    Jun  6 23:04:59.269721 :: [PackageCryptInfo]      SDB each file info loaded.(MapName: metin2_map_devilcatacomb, NameHash: A854F165)
    Jun  6 23:04:59.269766 :: [PackageCryptInfo]      SDB each file info loaded.(MapName: metin2_map_devilcatacomb, NameHash: 6970EFD9)
    Jun  6 23:04:59.269888 :: [PackageCryptInfo]      SDB each file info loaded.(MapName: metin2_map_devilcatacomb, NameHash: ED98A1BF)
    Jun  6 23:04:59.269925 :: [PackageCryptInfo]      SDB each file info loaded.(MapName: metin2_map_devilcatacomb, NameHash: 283E5DB)
    Jun  6 23:04:59.269952 :: [PackageCryptInfo]      SDB each file info loaded.(MapName: metin2_map_devilcatacomb, NameHash: 2174048A)
    Jun  6 23:04:59.269979 :: [PackageCryptInfo]      SDB each file info loaded.(MapName: metin2_map_devilcatacomb, NameHash: DC8A85D6)
    Jun  6 23:04:59.270005 :: [PackageCryptInfo]      SDB each file info loaded.(MapName: metin2_map_devilcatacomb, NameHash: AD82DA24)
    Jun  6 23:04:59.270031 :: [PackageCryptInfo]      SDB each file info loaded.(MapName: metin2_map_devilcatacomb, NameHash: 936A963B)
    Jun  6 23:04:59.270056 :: [PackageCryptInfo]      SDB each file info loaded.(MapName: metin2_map_devilcatacomb, NameHash: 94529331)
    Jun  6 23:04:59.270255 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_EU4.dat
    Jun  6 23:04:59.270343 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_EU4.dat loaded. (key size: 188, count: 1, total: 15)
    Jun  6 23:04:59.270387 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_flame.dat
    Jun  6 23:04:59.270433 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_flame.dat loaded. (key size: 224, count: 1, total: 16)
    Jun  6 23:04:59.270466 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_flame_dungeon.dat
    Jun  6 23:04:59.270476 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_flame_dungeon.dat loaded. (key size: 296, count: 1, total: 17)
    Jun  6 23:04:59.270541 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_halloween.dat
    Jun  6 23:04:59.270869 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_halloween.dat loaded. (key size: 116, count: 1, total: 18)
    Jun  6 23:04:59.270943 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_mineral.dat
    Jun  6 23:04:59.271001 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_mineral.dat loaded. (key size: 80, count: 1, total: 19)
    Jun  6 23:04:59.271035 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_pet1.dat
    Jun  6 23:04:59.271080 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_pet1.dat loaded. (key size: 224, count: 1, total: 20)
    Jun  6 23:04:59.271114 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_ramadan_costume.dat
    Jun  6 23:04:59.271186 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_ramadan_costume.dat loaded. (key size: 80, count: 1, total: 21)
    Jun  6 23:04:59.271219 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_w20_etc.dat
    Jun  6 23:04:59.271277 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_w20_etc.dat loaded. (key size: 80, count: 1, total: 22)
    Jun  6 23:04:59.271337 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_w21_mobs.dat
    Jun  6 23:04:59.271384 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_w21_mobs.dat loaded. (key size: 224, count: 1, total: 23)
    Jun  6 23:04:59.271417 :: [PackageCryptInfo] Try to load crypt file: package/cshybridcrypt_metin2_patch_XMAS.dat
    Jun  6 23:04:59.271463 :: [PackageCryptInfo] package/cshybridcrypt_metin2_patch_XMAS.dat loaded. (key size: 152, count: 1, total: 24)
    SYSERR: Jun  6 23:05:01.39950 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
    Jun  6 23:05:01.62567 :: <shutdown> Starting...
    Jun  6 23:05:01.62608 :: Queries 0
    Jun  6 23:05:01.62625 :: <shutdown> Destroying CArenaManager...
    Jun  6 23:05:01.62651 :: <shutdown> Destroying COXEventManager...
    Jun  6 23:05:01.62670 :: CLIENT_DESC [db_clientdesc] trying DBPacket() while not connected
    Jun  6 23:05:01.62688 :: <shutdown> Disabling signal timer...
    Jun  6 23:05:01.62704 :: <shutdown> Shutting down CHARACTER_MANAGER...
    Jun  6 23:05:01.62730 :: <shutdown> Shutting down ITEM_MANAGER...
    Jun  6 23:05:01.62856 :: <shutdown> Flushing db_clientdesc...
    Jun  6 23:05:01.62873 :: <shutdown> Flushing p2p_manager...
    Jun  6 23:05:01.62889 :: <shutdown> Destroying CShopManager...
    Jun  6 23:05:01.62913 :: <shutdown> Destroying CHARACTER_MANAGER...
    Jun  6 23:05:01.62929 :: <shutdown> Destroying ITEM_MANAGER...
    Jun  6 23:05:01.62945 :: <shutdown> Destroying DESC_MANAGER...
    Jun  6 23:05:01.65177 :: <shutdown> Destroying quest::CQuestManager...
    Jun  6 23:05:01.65199 :: <shutdown> Destroying building::CManager...
    Jun  6 23:05:01.65216 :: <shutdown> Flushing TrafficProfiler...
    Jun  6 23:05:01.65232 :: <shutdown> Canceling ReloadSpamEvent...
    Jun  6 23:05:01.65271 :: <shutdown> regen_free()...
    Jun  6 23:05:01.65296 :: <shutdown> Closing sockets...
    Jun  6 23:05:01.65341 :: <shutdown> fdwatch_delete()...
    Jun  6 23:05:01.65361 :: <shutdown> event_destroy()...
    Jun  6 23:05:01.65377 :: <shutdown> CTextFileLoader::DestroySystem()...
    Jun  6 23:05:01.65401 :: <shutdown> thecore_destroy()...
    SYSERR: Jun  6 23:05:01.65503 :: pid_deinit: 
    End of pid


     

    -----------------------syserr_db-----------------
    
    SYSERR: Jun  6 23:04:38.896426 :: pid_init: 
    Start of pid: 833
    
    -------------------------------------------------

     

    Spoiler

    ---------------------------syslog_db-------------------------
    SYSERR: Jun  6 23:04:38.896426 :: pid_init: 
    Start of pid: 833

    Jun  6 23:04:38.896858 :: connecting to MySQL server (player)
    Jun  6 23:04:38.896886 :: CREATING DIRECT_SQL
    Jun  6 23:04:38.897003 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.909192 :: CREATING MAIN_SQL
    Jun  6 23:04:38.909258 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.909724 :: CREATING ASYNC_SQL
    Jun  6 23:04:38.910131 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.910169 ::    OK
    Jun  6 23:04:38.922669 :: connecting to MySQL server (account)
    Jun  6 23:04:38.922728 :: CREATING DIRECT_SQL
    Jun  6 23:04:38.925169 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.931166 :: CREATING MAIN_SQL
    Jun  6 23:04:38.931266 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.931554 :: CREATING ASYNC_SQL
    Jun  6 23:04:38.931633 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.931763 ::    OK
    Jun  6 23:04:38.931809 :: connecting to MySQL server (common)
    Jun  6 23:04:38.931832 :: CREATING DIRECT_SQL
    Jun  6 23:04:38.931966 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.933525 :: CREATING MAIN_SQL
    Jun  6 23:04:38.933584 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.933704 :: CREATING ASYNC_SQL
    Jun  6 23:04:38.933798 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.933892 ::    OK
    Jun  6 23:04:38.933936 :: connecting to MySQL server (hotbackup)
    Jun  6 23:04:38.933959 :: CREATING DIRECT_SQL
    Jun  6 23:04:38.933987 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.935222 :: CREATING MAIN_SQL
    Jun  6 23:04:38.935280 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.935470 :: CREATING ASYNC_SQL
    Jun  6 23:04:38.935566 :: AsyncSQL: locale euckr
    Jun  6 23:04:38.935733 ::    OK
    Jun  6 23:04:38.936896 :: ClientManager initialization.. 
    Jun  6 23:04:38.939157 :: Empire Priv empire(0) type(1) value(200) duration_sec(81050122)
    Jun  6 23:04:38.939221 :: Empire Priv empire(0) type(2) value(200) duration_sec(81050122)
    Jun  6 23:04:38.939262 :: Empire Priv empire(0) type(3) value(200) duration_sec(81050122)
    Jun  6 23:04:38.939303 :: Empire Priv empire(0) type(4) value(200) duration_sec(81050122)
    Jun  6 23:04:38.939653 :: InitializeLocalization() - LoadLocaleTable(count:13)
    Jun  6 23:04:38.939688 :: locale[LOCALE] = germany
    Jun  6 23:04:38.939732 :: Changed g_stLocale euckr to euckr
    Jun  6 23:04:38.939758 :: SetLocale start
     

     

    and no syslog or syser in game core

     

  2. 1 hour ago, arves100 said:

    syserrs? have you also checked if the dragon_soul_table.txt exists in locale folder?

     

    dragon_soul_table.txt

    Spoiler
    Spoiler

    dragon_soul_table.txt

    # ؟ëب¥¼® إ×ہج؛يµé...                                        
    # TAB ہ¸·خ ±¸؛ذµا´د ؟¢¼؟·خ ؛¼ °ح.                                        
    # vimہ¸·خ ؛»´ظ¸é إا°£ °£°فہ» ء¶ء¤اد°ي ؛¼ °ح. (set ts=16 أكأµ)                                        
    # إ« µû؟با¥·خ ¹­ہخ ؛خ؛ذہ؛ ¾ب ±¸؛ذ.                                         
    # \" ہجµ‎°إ ءِ؟ّ ¾باش.                                        
                                            
    # ؟ëب¥¼® Vnum؟، ´ëار comment                                        
    # ITEM VNUMہ» 10¸¸ ہع¸®؛خإح, FEDCBA¶َ°ي ار´ظ¸é                                        
    # FE : ؟ëب¥¼® ء¾·ù.    D : µî±ق                                    
    # C : ´ـ°è            B : °­ب­                            
    # A : ؟©¹ْہا ¹ّب£µé...                                         
    # ہج أ¼°è؟،¼­ ¹‏¾î³ھ´آ ؟ëب¥¼®ہ؛ ؟ë¼­ادءِ ¾تہ» °حہج´ظ.                                        
    # ok?                                        
    # ؟ëب¥¼®ہج ³ت¹«³ھµµ ¸¹±â ¶§¹®؟، Vnumہج ءك±¸³­¹وہج¸é,                                        
    #    Special item group؟،¼­ groupہ¸·خ ¹­¾î¼­ أ³¸®اد±âµµ بûµé°ي-_-,                                    
    #    VnumHelper.h؟،¼­ أ³¸®اد´آ °حµµ بûµé´ظ. -_-                                  
    #     Group ہâ´آµ¥¸¸ ¼ِأµءظہ» ½ل¾كاز ءِµµ...                                    
    # Vnum؟، أ¼°è¸¦ ہâ¾ئ¼­ ہع¸´¼ِ ±â¹فہ¸·خ اط¾ك¸¸ ار´ظ.                                        
                                            
    # Tableہ؛ "Group"°ْ "ہج¸§"ہ¸·خ ½أہغار´ظ.                                        
    # Table ³»؛خ؟، ¶ا Tableہج ہضہ» ¼ِ ہض´ظ.                                        
    # ±×·¸´ظ°ي ¾û¶×ار إ×ہج؛يہ» ½ل³ُ´آ´ظ°ي ¼­¹ِ°، ہخ½ؤاد´آ °حہ؛ ¾ئ´د´ظ.                                        
    # ات؟نار إ×ہج؛يہ؛ ´ظہ½°ْ °°´ظ.                                        
    # BaseVnums, BaseAttrs, AddtionalAttrs, AttrSettings, UpgradeTable, ImproveTable,                                        
    # RefineTable, UpgradeMoneys, ImproveTable, RefineMoneys, WeightTable, DurationTable,                                        
    # DragonHeartExtTable, DragonSoulExtTable                                        
                                            
    # ب®·ü إ×ہج؛يہا °ھہ؛ ±â؛»ہûہ¸·خ floatہج´ظ.                                        
                                            
    # ءك؟ن !!!!!                                        
    # إ×ہج؛يہ» ؛¸´ظ ؛¸¸é #--#ہج¶َ ¾²؟©ءّ ؛خ؛ذہج ہض´آµ¥ ہ‎´ë·خ ءِ؟ىءِ ¸»°ح.                                        
    #                                         
                                            
    # ہج°ا vnum to ہج¸§ mapping.                                        
    # ہج°ة·خ ئ¯ء¤ vnumہا ؟ëب¥¼®ہج ¾î¶² ء¾·ùہا ؟ëب¥¼®ہخءِ(ہج¸§ہج ¹؛ءِ) ¾ث¾ئ³½ بؤ,                                        
    # ±× ؟ëب¥¼®؟، اط´çاد´آ ¼س¼؛ہ» أ£´آ´ظ.                                        
    # ¶اار ؟©±â؟، ہûاôہضءِ ¾تہ؛ ؟ëب¥¼®ہج ¹ط؟، Group ء¤ہااد´آ ؛خ؛ذ؟، ہض´ظ¸é                                        
    # ؟،·¯.                                        
    Group VnumMapper                                        
    {                                        
        # ½أہغ vnum.                                    
        # ؟©±â¼­ ½ل¾كاز ؛خ؛ذہ؛ ہ§؟، ¼³¸يار FE؟، اط´çاد´آ ؛خ؛ذ.                                     
        # FE¸¦ ½لءظ °ح                                    
        #--#    DragonSoulName    Type                            
        1    ¹é·و¼®    11                            
        2    ب­·و¼®    12                            
        3    ا³·و¼®    13                            
        4    أ¶·و¼®    14                            
        5    ³ْ·و¼®    15                            
        6    بو·و¼®    16                            
    }                                        
                                            
    Group BasicApplys                                        
    {                                        
        Group ¹é·و¼®                                    
        {                                    
        # 1؛خإح ¼ّ¼­´ë·خ ؛خ؟©µب´ظ.                                    
            #--#    Apply_Type    Apply_value                        
            1    INT    10                        
            2    RESIST_ICE    10                        
        }                                    
                                            
        Group ب­·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value                        
            1    STR    10                        
            2    RESIST_FIRE    10
        }                                    
        Group ا³·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value                        
            1    MAX_SP    500                        
            2    RESIST_WIND    10                        
        }                                    
        Group أ¶·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value                        
            1    DEX    10                        
            2    RESIST_EARTH    10                        
        }                                    
        Group ³ْ·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value                        
            1    MAX_HP    1500                        
            2    RESIST_ELEC    10                        
        }                                    
        Group بو·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value                        
            1    CON    10                        
            2    RESIST_DARK    10                        
        }                                    
    }                                        
                                            
    Group AdditionalApplys                                        
    {                                        
        Group ¹é·و¼®                                    
        {                                    
        # ¾صہا أ¹ ؤأ·³ہ؛ ¼ّ¼­؟ح °ü°è ¾ّ´ظ. أ¶ہْب÷ ب®·ü؟، µû¶َ ¼س¼؛ہج ؛خ؟©µة »سہج´ظ.                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    MAGIC_ATT_GRADE    15    10                    
            2    MAGIC_DEF_GRADE    15    10                    
            3    SKILL_DAMAGE_BONUS    15    10                    
            4    SKILL_DEFEND_BONUS    15    10                    
        }                                    
        Group ب­·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    ATT_BONUS    300    10                    
            2    DEF_BONUS    200    10                    
            3    NORMAL_HIT_DAMAGE_BONUS    15    10                    
            4    NORMAL_HIT_DEFEND_BONUS    15    10                    
        }                                    
        Group ا³·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    MAX_HP    3000    10                    
            2    HP_REGEN    10    10                    
            3    STEAL_HP    10    10                    
            4    KILL_HP_RECOVER    5    10                    
            5    MAX_HP_PCT    20    10                    
        }                                    
        Group أ¶·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    ATT_BONUS_TO_WARRIOR    15    10                    
            2    ATT_BONUS_TO_ASSASSIN    15    10                    
            3    ATT_BONUS_TO_SURA    15    10                    
            4    ATT_BONUS_TO_SHAMAN    15    10                    
            5    RESIST_WARRIOR    15    10                    
            6    RESIST_ASSASSIN    15    10                    
            7    RESIST_SURA    15    10                    
            8    RESIST_SHAMAN    15    10                    
        }                                    
        Group ³ْ·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    MAX_SP    1500    10                    
            2    SP_REGEN    10    10                    
            3    STEAL_SP    10    10                    
            4    KILL_SP_RECOVER    5    10                    
            5    MAX_SP_PCT    20    10                    
        }                                    
        Group بو·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    BLOCK    10    10                    
            2    DODGE    10    10                    
            3    REFLECT_MELEE    10    10                    
            4    RESIST_CRITICAL    10    10                    
            5    RESIST_PENETRATE    10    10                    
        }                                    
    }                                        
                                            
    # ؟©±â؛خإح Default¸¦ µذ´ظ.                                        
    # Default °ھہ» ¸ًµç ؟ëب¥¼®ہج µû¸£°ي,                                         
    # ئ¯ء¤ °ھہج ہض´آ ؟ëب¥¼®ہ؛ Default¸¦ ¹ظإءہ¸·خ ±× °ھہ» µ¤¾î¾´´ظ.                                        
    # µî±ق؟، µû¸¥ ¼س¼؛¼ِ                                        
    # ´ـ, basis, add_max´آ 3؛¸´ظ إ©¸é ¾بµب´ظ.                                        
    Group ApplyNumSettings                                        
    {                                        
        Group Default                                    
        {                                    
            #--#    GRADE_NORMAL    GRADE_BRILLIANT    GRADE_RARE    GRADE_ANCIENT    GRADE_LEGENDARY            
            basis    1    1    1    2    2            
            add_min    0    0    0    0    0            
            add_max    0    1    2    2    3            
        }                                    
    #    Group ¹é·و¼®                                    
    #    {                                    
    #        #--#    GRADE_NORMAL    GRADE_BRILLIANT    GRADE_RARE    GRADE_ANCIENT    GRADE_LEGENDARY            
    #        basis    1    1    1    2    2            
    #    }                                    
    }                                        
                                            
    # ؟ëب¥¼® °،ءكؤ، إ×ہج؛ي.                                        
    # ہج إ×ہج؛ي؟،¼­ °ھہج 0ہج¶َ¸é ±× ہج»َہا °­ب­´آ ؛ز°،´ةاد´ظ°ي ئا´ـار´ظ.                                        
    Group WeightTables                                        
    {                                        
        Group Default                                    
        {                                    
            Group GRADE_NORMAL                                
            {                                
        #        ´ـ°è    °­ب­                        
                #--#    0    1    2    3    4    5    6
                STEP_LOWEST    1    2    3    0    0    0    0
                STEP_LOW    2    3    4    0    0    0    0
                STEP_MID    3    4    5    6    0    0    0
                STEP_HIGH    4    5    6    7    0    0    0
                STEP_HIGHEST    5    6    7    8    10    0    0
            }                                
            Group GRADE_BRILLIANT                                
            {                                
                STEP_LOWEST    3    4    5    6    0    0    0
                STEP_LOW    4    5    6    8    0    0    0
                STEP_MID    5    6    8    10    0    0    0
                STEP_HIGH    6    8    10    12    15    0    0
                STEP_HIGHEST    8    10    12    15    20    0    0
            }                                
            Group GRADE_RARE                                
            {                                
                #--#    0    1    2    3    4    5    6
                STEP_LOWEST    6    7    9    11    15    0    0
                STEP_LOW    7    9    11    15    20    0    0
                STEP_MID    9    11    15    20    25    0    0
                STEP_HIGH    11    15    20    25    30    0    0
                STEP_HIGHEST    15    20    25    30    40    0    0
            }                                
            Group GRADE_ANCIENT                                
            {                                
                #--#    0    1    2    3    4    5    6
                STEP_LOWEST    10    12    15    18    20    0    0
                STEP_LOW    12    15    18    20    25    0    0
                STEP_MID    15    18    20    25    35    0    0
                STEP_HIGH    18    20    25    35    40    0    0
                STEP_HIGHEST    20    25    35    40    60    80    0
            }                                
            Group GRADE_LEGENDARY                                
            {                                
                #--#    0    1    2    3    4    5    6
                STEP_LOWEST    30    35    40    45    50    0    0
                STEP_LOW    35    40    45    50    55    0    0
                STEP_MID    40    45    50    55    65    0    0
                STEP_HIGH    45    50    55    65    75    90    0
                STEP_HIGHEST    50    55    65    75    90    105    120
            }                                
        }                                    
    #    Group ¹é·و¼®                                    
    #    {                                    
    #        Group GRADE_NORMAL                                
    #        {                                
    #            #--#    0    1    2    3    4    5    6
    #            STEP_LOWEST    10    20    53    0    0    0    0
    #            STEP_HIGHEST    50    60    37    18    10    0    0
    #        }                                
    #    }                                    
    }
                                            
    # °³·® table                                    
    Group RefineGradeTables                                    
    {                                    
        Group Default                                
        {                                
            #--#    NEED_COUNT    FEE    GRADE_NORMAL    GRADE_BRILLIANT    GRADE_RARE    GRADE_ANCIENT    GRADE_LEGENDARY
            GRADE_NORMAL    3    30000    70    25    5    0    0
            GRADE_BRILLIANT    3    50000    25    70    5    0    0
            GRADE_RARE    3    70000    8    15    75    2    0
            GRADE_ANCIENT    3    100000    2    3    8    85    2
        }                                
    }                                    
                                        
    Group RefineStepTables                                    
    {                                    
        Group Default                                
        {                                
            #--#    NEED_COUNT    FEE    STEP_LOWEST    STEP_LOW    STEP_MID    STEP_HIGH    STEP_HIGHEST
            STEP_LOWEST    4    20000    70    25    5    0    0
            STEP_LOW    3    30000    25    70    5    0    0
            STEP_MID    2    40000    10    20    80    1    0
            STEP_HIGH    1    50000    2    3    5    89    1
        }                                
    }                                    
                                        
    Group RefineStrengthTables                                    
    {                                    
        Group Default                                
        {                                
            # MATERIAL_DS_REFINE_NORMAL : GRADE_NORMAL °­ب­¼®                            
            # MATERIAL_DS_REFINE_BLESSED : أà؛¹ہا °­ب­¼®                            
            # MATERIAL_DS_REFINE_HOLLY : ؟ë½إہا °­ب­¼®                            
            #--#    FEE    0    1    2    3    4    5
            MATERIAL_DS_REFINE_NORMAL    10000    100    80    70    50    30    20
            MATERIAL_DS_REFINE_BLESSED    20000    100    88    77    55    33    22
            MATERIAL_DS_REFINE_HOLLY    30000    100    90    80    60    40    30
        }                                
    }                                    

    # ؟ë½ةہ؛ 100000(ہس½أ vnum)ہج°ي, أوہü·®ہ؛ socket (0)؟، ¹ع¾ئ³ض´آ´ظ.                                        
    # ´ـ, special item group؟، vnum 10053ہ¸·خ ء¤ہاµا¾îہض´آ ´ظ¸¥ ؟ë½ةµéہ؛ Value(0)؟، ہض´آ °ھہج أوہü·®.                                        
    # ؟ë½ة أكأâ ب®·ü إ×ہج؛ي                                        
    # أوہü·®ہج 0ہج¶َ´آ °حہ؛ أكأâ ½ائذ¶َ´آ °إ.                                        
    Group DragonHeartExtTables                                        
    {                                        
        Group Default                                    
        {                                    
            #--#    1    2    3    4    5            
        # ؟ë½ة أوہü·®(%)                                    
            CHARGING    0    5    15    30    50            
        #    µî±ق°ْ أوہü·®؟، µû¸¥ ب®·ü إ×ہج؛ي                                
        #    µî±ق     ب®·ü                            
            GRADE_NORMAL    50    35    12    2    1            
            GRADE_BRILLIANT    35    40    20    4    1            
            GRADE_RARE    20    35    30    12    3            
            GRADE_ANCIENT    15    30    35    15    5            
            GRADE_LEGENDARY    10    20    40    20    10            
        }                                    
    }                                        
                                            
    # ؟ëب¥¼® أكأâ ب®·ü إ×ہج؛ي.                                        
    # ہج°حµµ 1, 2¾بہج ہض¾î إëاصاز ¼ِ ہض´آ ¹و¾بہ¸·خ °¨.                                        
    # أكأâ ب®·üہ» ء¤از ¼ِ ہض°ي, ½ائذ ؛خ»ê¹°µµ ء¤از ¼ِ ہضہ½.(0ہج¸é ¾بءـ)                                        
    Group DragonSoulExtTables                                        
    {                                        
        Group Default                                    
        {                                    
                    #½ائذ ؛خ»ê¹°                        
            #--#    Prob    ByProduct                        
            GRADE_NORMAL    50    30270                        
            GRADE_BRILLIANT    40    30270                        
            GRADE_RARE    30    30270                        
            GRADE_ANCIENT    30    30270                        
            GRADE_LEGENDARY    20    30270                        
        }                                    
    }                                        
     

     

     

     

  3.  


    Hi Devs,

    i had small problem with dragonsoul refine

    look:

     

    my dragon soul system :

    Spoiler

    item_proto.txt

    100000    ؟ë½ة    ITEM_USE    USE_TIME_CHARGE_PER    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP    NONE    NONE    NONE    0    0    0    0    0    REAL_TIME    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    100001    ؟ë½ة    ITEM_USE    USE_TIME_CHARGE_PER    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP    NONE    NONE    NONE    0    0    0    0    0    REAL_TIME    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    50    0    0    0    0    0    0    0    0
    100002    ؟ë½ة    ITEM_USE    USE_TIME_CHARGE_FIX    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP    NONE    NONE    NONE    0    0    0    0    0    REAL_TIME    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    30000    0    0    0    0    0    0    0    0
    100100    ؟ëب¥¼®أكأâ±â    ITEM_EXTRACT    EXTRACT_DRAGON_SOUL    1    ANTI_SELL    NONE    NONE    NONE    1000000    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    50    0    0    0    0    0    0    0    0
    100200    ؟ë½ةأكأâ±â    ITEM_EXTRACT    EXTRACT_DRAGON_HEART    1    ANTI_SELL    NONE    NONE    NONE    1000000    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    100300    ہد¹ف °­ب­¼®    ITEM_MATERIAL    MATERIAL_DS_REFINE_NORMAL    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    100400    "أà؛¹ہا °­ب­¼®"    ITEM_MATERIAL    MATERIAL_DS_REFINE_BLESSED    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    100500    ؟ë½إہا °­ب­¼®    ITEM_MATERIAL    MATERIAL_DS_REFINE_HOLLY    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    110000~110099    أضاد±ق ہد¹ف ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    110100~110199    اد±ق ہد¹ف ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    110200~110299    ءك±ق ہد¹ف ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    110300~110399    °ي±ق ہد¹ف ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    110400~110499    أض°ي±ق ہد¹ف ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    111000~111099    أضاد±ق ب­·ءار ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    111100~111199    اد±ق ب­·ءار ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    111200~111299    ءك±ق ب­·ءار ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    111300~111399    °ي±ق ب­·ءار ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    111400~111499    أض°ي±ق ب­·ءار ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    112000~112099    أضاد±ق بٌ±حار ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    112100~112199    اد±ق بٌ±حار ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    112200~112299    ءك±ق بٌ±حار ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    112300~112399    °ي±ق بٌ±حار ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    112400~112499    أض°ي±ق بٌ±حار ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    113000~113099    أضاد±ق °ي´ëہا ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    113100~113199    اد±ق °ي´ëہا ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    113200~113299    ءك±ق °ي´ëہا ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    113300~113399    °ي±ق °ي´ëہا ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    113400~113499    أض°ي±ق °ي´ëہا ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    114000~114099    أضاد±ق ہü¼³ہا ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    114100~114199    اد±ق ہü¼³ہا ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    114200~114299    ءك±ق ہü¼³ہا ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    114300~114399    °ي±ق ہü¼³ہا ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    114400~114499    أض°ي±ق ہü¼³ہا ¹é·و¼®    ITEM_DS    DS_SLOT1    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    120000~120099    أضاد±ق ہد¹ف ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    120100~120199    اد±ق ہد¹ف ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    120200~120299    ءك±ق ہد¹ف ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    120300~120399    °ي±ق ہد¹ف ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    120400~120499    أض°ي±ق ہد¹ف ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    121000~121099    أضاد±ق ب­·ءار ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    121100~121199    اد±ق ب­·ءار ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    121200~121299    ءك±ق ب­·ءار ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    121300~121399    °ي±ق ب­·ءار ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    121400~121499    أض°ي±ق ب­·ءار ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    122000~122099    أضاد±ق بٌ±حار ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    122100~122199    اد±ق بٌ±حار ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    122200~122299    ءك±ق بٌ±حار ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    122300~122399    °ي±ق بٌ±حار ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    122400~122499    أض°ي±ق بٌ±حار ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    123000~123099    أضاد±ق °ي´ëہا ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    123100~123199    اد±ق °ي´ëہا ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    123200~123299    ءك±ق °ي´ëہا ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    123300~123399    °ي±ق °ي´ëہا ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    123400~123499    أض°ي±ق °ي´ëہا ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    124000~124099    أضاد±ق ہü¼³ہا ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    124100~124199    اد±ق ہü¼³ہا ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    124200~124299    ءك±ق ہü¼³ہا ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    124300~124399    °ي±ق ہü¼³ہا ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    124400~124499    أض°ي±ق ہü¼³ہا ب­·و¼®    ITEM_DS    DS_SLOT2    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    130000~130099    أضاد±ق ہد¹ف ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    130100~130199    اد±ق ہد¹ف ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    130200~130299    ءك±ق ہد¹ف ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    130300~130399    °ي±ق ہد¹ف ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    130400~130499    أض°ي±ق ہد¹ف ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    131000~131099    أضاد±ق ب­·ءار ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    131100~131199    اد±ق ب­·ءار ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    131200~131299    ءك±ق ب­·ءار ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    131300~131399    °ي±ق ب­·ءار ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    131400~131499    أض°ي±ق ب­·ءار ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    132000~132099    أضاد±ق بٌ±حار ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    132100~132199    اد±ق بٌ±حار ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    132200~132299    ءك±ق بٌ±حار ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    132300~132399    °ي±ق بٌ±حار ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    132400~132499    أض°ي±ق بٌ±حار ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    133000~133099    أضاد±ق °ي´ëہا ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    133100~133199    اد±ق °ي´ëہا ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    133200~133299    ءك±ق °ي´ëہا ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    133300~133399    °ي±ق °ي´ëہا ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    133400~133499    أض°ي±ق °ي´ëہا ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    134000~134099    أضاد±ق ہü¼³ہا ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    134100~134199    اد±ق ہü¼³ہا ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    134200~134299    ءك±ق ہü¼³ہا ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    134300~134399    °ي±ق ہü¼³ہا ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    134400~134499    أض°ي±ق ہü¼³ہا ا³·و¼®    ITEM_DS    DS_SLOT3    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    140000~140099    أضاد±ق ہد¹ف أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    140100~140199    اد±ق ہد¹ف أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    140200~140299    ءك±ق ہد¹ف أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    140300~140399    °ي±ق ہد¹ف أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    140400~140499    أض°ي±ق ہد¹ف أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    141000~141099    أضاد±ق ب­·ءار أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    141100~141199    اد±ق ب­·ءار أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    141200~141299    ءك±ق ب­·ءار أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    141300~141399    °ي±ق ب­·ءار أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    141400~141499    أض°ي±ق ب­·ءار أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    142000~142099    أضاد±ق بٌ±حار أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    142100~142199    اد±ق بٌ±حار أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    142200~142299    ءك±ق بٌ±حار أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    142300~142399    °ي±ق بٌ±حار أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    142400~142499    أض°ي±ق بٌ±حار أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    143000~143099    أضاد±ق °ي´ëہا أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    143100~143199    اد±ق °ي´ëہا أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    143200~143299    ءك±ق °ي´ëہا أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    143300~143399    °ي±ق °ي´ëہا أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    143400~143499    أض°ي±ق °ي´ëہا أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    144000~144099    أضاد±ق ہü¼³ہا أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    144100~144199    اد±ق ہü¼³ہا أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    144200~144299    ءك±ق ہü¼³ہا أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    144300~144399    °ي±ق ہü¼³ہا أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    144400~144499    أض°ي±ق ہü¼³ہا أ¶·و¼®    ITEM_DS    DS_SLOT4    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    150000~150099    أضاد±ق ہد¹ف ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    150100~150199    اد±ق ہد¹ف ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    150200~150299    ءك±ق ہد¹ف ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    150300~150399    °ي±ق ہد¹ف ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    150400~150499    أض°ي±ق ہد¹ف ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    151000~151099    أضاد±ق ب­·ءار ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    151100~151199    اد±ق ب­·ءار ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    151200~151299    ءك±ق ب­·ءار ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    151300~151399    °ي±ق ب­·ءار ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    151400~151499    أض°ي±ق ب­·ءار ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    152000~152099    أضاد±ق بٌ±حار ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    152100~152199    اد±ق بٌ±حار ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    152200~152299    ءك±ق بٌ±حار ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    152300~152399    °ي±ق بٌ±حار ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    152400~152499    أض°ي±ق بٌ±حار ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    153000~153099    أضاد±ق °ي´ëہا ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    153100~153199    اد±ق °ي´ëہا ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    153200~153299    ءك±ق °ي´ëہا ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    153300~153399    °ي±ق °ي´ëہا ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    153400~153499    أض°ي±ق °ي´ëہا ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    154000~154099    أضاد±ق ہü¼³ہا ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    154100~154199    اد±ق ہü¼³ہا ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    154200~154299    ءك±ق ہü¼³ہا ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    154300~154399    °ي±ق ہü¼³ہا ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    154400~154499    أض°ي±ق ہü¼³ہا ³ْ·و¼®    ITEM_DS    DS_SLOT5    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    160000~160099    أضاد±ق ہد¹ف بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    160100~160199    اد±ق ہد¹ف بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    160200~160299    ءك±ق ہد¹ف بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    160300~160399    °ي±ق ہد¹ف بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    160400~160499    أض°ي±ق ہد¹ف بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    161000~161099    أضاد±ق ب­·ءار بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    161100~161199    اد±ق ب­·ءار بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    161200~161299    ءك±ق ب­·ءار بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    161300~161399    °ي±ق ب­·ءار بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    161400~161499    أض°ي±ق ب­·ءار بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    162000~162099    أضاد±ق بٌ±حار بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    162100~162199    اد±ق بٌ±حار بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    162200~162299    ءك±ق بٌ±حار بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    162300~162399    °ي±ق بٌ±حار بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    162400~162499    أض°ي±ق بٌ±حار بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_STACK|ANTI_MYSHOP|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    163000~163099    أضاد±ق °ي´ëہا بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    163100~163199    اد±ق °ي´ëہا بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    163200~163299    ءك±ق °ي´ëہا بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    163300~163399    °ي±ق °ي´ëہا بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    163400~163499    أض°ي±ق °ي´ëہا بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    164000~164099    أضاد±ق ہü¼³ہا بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    164100~164199    اد±ق ہü¼³ہا بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    164200~164299    ءك±ق ہü¼³ہا بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
    164300~164399    °ي±ق ہü¼³ہا بو·و¼®    ITEM_DS    DS_SLOT6    1    ANTI_STACK|ANTI_SAFEBOX    NONE    NONE    NONE    0    0    0    0    0    TIMER_BASED_ON_WEAR    86400    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
     

    dragon_soul_refine_settings.py:

    Spoiler

    dragon_soul_refine_settings.py

     

    import item

    default_grade_need_count = [3, 3, 3, 3]
    default_grade_fee = [30000, 50000, 70000, 100000]
    default_step_need_count = [4, 3, 2, 1]
    default_step_fee = [20000, 30000, 40000, 50000]

    strength_fee = {
        item.MATERIAL_DS_REFINE_NORMAL : 10000,
        item.MATERIAL_DS_REFINE_BLESSED : 20000,
        item.MATERIAL_DS_REFINE_HOLLY : 30000,
    }

    # °­ب­°، ¾î´ہ ´ـ°è ±îءِ °،´ة ارءِ
    # table(GRADE, STEP) = max strength.
    default_strength_max_table = [
        [2, 2, 3, 3, 4],
        [3, 3, 3, 4, 4],
        [4, 4, 4, 4, 4],
        [4, 4, 4, 4, 5],
        [4, 4, 4, 5, 6],
    ]

    # ہد´ـ ±âب¹ہûہ¸·خ´آ strength °­ب­ہا °و؟ى, °­ب­¼®؟، ہااط fee°، ¼آئأµا±â ¶§¹®؟،,
    # dragon_soul_refine_info؟، ³ضءِ ¾ت¾ز´ظ.
    # (°­ب­¼®¸¸ ³ض¾îµµ ¾َ¸¶ ات؟نارءِ ؛¸ہد ¼ِ ہضµµ·د اد±â ہ§اط)
    # ´ظ¸¸ ¼­¹ِ؟،¼­´آ ؟ëب¥¼® إ¸ہش ؛°·خ °­ب­¼® fee¸¦ ¼آئأاز ¼ِ ہضµµ·د اط³ù±â ¶§¹®؟،,
    # ¸¸ہد ؟ëب¥¼® ؛°·خ °­ب­¼® fee¸¦ ´ظ¸£°ش اد°ي ½ح´ظ¸é,
    # إ¬¶َ ؤعµه¸¦ ¼ِء¤اط¾كاز °حہج´ظ.
    default_refine_info = {
        "grade_need_count" : default_grade_need_count,
        "grade_fee" : default_grade_fee,
        "step_need_count" : default_step_need_count,
        "step_fee" : default_step_fee,
        "strength_max_table" : default_strength_max_table,
    }

    dragon_soul_refine_info = {
        11 : default_refine_info,
        12 : default_refine_info,
        13 : default_refine_info,
        14 : default_refine_info,
        15 : default_refine_info,
        16 : default_refine_info,
    }

    uidragonsoul.py:

     

    Spoiler

    uidragonsoul.py

    import ui
    import player
    import mouseModule
    import net
    import app
    import snd
    import item
    import chat
    import grp
    import uiScriptLocale
    import uiRefine
    import uiAttachMetin
    import uiPickMoney
    import uiCommon
    import uiPrivateShopBuilder
    import localeInfo
    import constInfo
    import ime
    import uiInventory
    import sys
    ITEM_FLAG_APPLICABLE = 1 << 14

    # ؟ëب¥¼® Vnum؟، ´ëار comment    
    # ITEM VNUMہ» 10¸¸ ہع¸®؛خإح, FEDCBA¶َ°ي ار´ظ¸é
    # FE : ؟ëب¥¼® ء¾·ù.    D : µî±ق
    # C : ´ـ°è            B : °­ب­        
    # A : ؟©¹ْہا ¹ّب£µé...    

    class DragonSoulWindow(ui.ScriptWindow):
        KIND_TAP_TITLES = [uiScriptLocale.DRAGONSOUL_TAP_TITLE_1, uiScriptLocale.DRAGONSOUL_TAP_TITLE_2,
                uiScriptLocale.DRAGONSOUL_TAP_TITLE_3, uiScriptLocale.DRAGONSOUL_TAP_TITLE_4, uiScriptLocale.DRAGONSOUL_TAP_TITLE_5, uiScriptLocale.DRAGONSOUL_TAP_TITLE_6]
        def __init__(self):
            ui.ScriptWindow.__init__(self)
            self.questionDialog = None
            self.tooltipItem = None
            self.sellingSlotNumber = -1
            self.isLoaded = 0
            self.isActivated = FALSE
            self.DSKindIndex = 0
            self.tabDict = None
            self.tabButtonDict = None
            self.deckPageIndex = 0
            self.inventoryPageIndex = 0
            self.SetWindowName("DragonSoulWindow")
            self.__LoadWindow()

        def __del__(self):
            ui.ScriptWindow.__del__(self)
            
        def Show(self):
            self.__LoadWindow()

            ui.ScriptWindow.Show(self)
        def __LoadWindow(self):
            if self.isLoaded == 1:
                return
            self.isLoaded = 1
            try:
                pyScrLoader = ui.PythonScriptLoader()            
                pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "dragonsoulwindow.py")
            
            except:
                import exception
                exception.Abort("dragonsoulwindow.LoadWindow.LoadObject")
            try:
                if localeInfo.IsARABIC():
                    self.board = self.GetChild("Equipment_Base")
                    self.board.SetScale(-1.0, 1.0)
                    self.board.SetRenderingRect(-1.0, 0.0, 1.0, 0.0)
                    self.board = self.GetChild("Tab_01")
                    self.board.SetScale(-1.0, 1.0)
                    self.board.SetRenderingRect(-1.0, 0.0, 1.0, 0.0)
                    self.board = self.GetChild("Tab_02")
                    self.board.SetScale(-1.0, 1.0)
                    self.board.SetRenderingRect(-1.0, 0.0, 1.0, 0.0)
                    self.board = self.GetChild("Tab_03")
                    self.board.SetScale(-1.0, 1.0)
                    self.board.SetRenderingRect(-1.0, 0.0, 1.0, 0.0)
                    self.board = self.GetChild("Tab_04")
                    self.board.SetScale(-1.0, 1.0)
                    self.board.SetRenderingRect(-1.0, 0.0, 1.0, 0.0)
                    self.board = self.GetChild("Tab_05")
                    self.board.SetScale(-1.0, 1.0)
                    self.board.SetRenderingRect(-1.0, 0.0, 1.0, 0.0)
                    self.board = self.GetChild("Tab_06")
                    self.board.SetScale(-1.0, 1.0)
                    self.board.SetRenderingRect(-1.0, 0.0, 1.0, 0.0)
                    
                wndItem = self.GetChild("ItemSlot")
                wndEquip = self.GetChild("EquipmentSlot")
                self.activateButton = self.GetChild("activate")
                self.deckTab = []
                self.deckTab.append(self.GetChild("deck1"))
                self.deckTab.append(self.GetChild("deck2"))
                self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))            
                self.inventoryTab = []
                self.inventoryTab.append(self.GetChild("Inventory_Tab_01"))
                self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))
                self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
                self.inventoryTab.append(self.GetChild("Inventory_Tab_04"))
                self.inventoryTab.append(self.GetChild("Inventory_Tab_05"))
                self.tabDict = {
                    0    : self.GetChild("Tab_01"),
                    1    : self.GetChild("Tab_02"),
                    2    : self.GetChild("Tab_03"),
                    3    : self.GetChild("Tab_04"),
                    4    : self.GetChild("Tab_05"),
                    5    : self.GetChild("Tab_06"),
                }
                self.tabButtonDict = {
                    0    : self.GetChild("Tab_Button_01"),
                    1    : self.GetChild("Tab_Button_02"),
                    2    : self.GetChild("Tab_Button_03"),
                    3    : self.GetChild("Tab_Button_04"),
                    4    : self.GetChild("Tab_Button_05"),
                    5    : self.GetChild("Tab_Button_06"),
                }
                self.tabText = self.GetChild("tab_text_area")
            except:
                import exception
                exception.Abort("InventoryWindow.LoadWindow.BindObject")
            ## DragonSoul Kind Tap
            for (tabKey, tabButton) in self.tabButtonDict.items():
                tabButton.SetEvent(ui.__mem_func__(self.SetDSKindIndex), tabKey)
            ## Item
            wndItem.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
            wndItem.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
            wndItem.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
            wndItem.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
            wndItem.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
            wndItem.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
            
            ## Equipment
            wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptyEquipSlot))
            wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectEquipItemSlot))
            wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseEquipItemSlot))
            wndEquip.SetUseSlotEvent(ui.__mem_func__(self.UseEquipItemSlot))
            wndEquip.SetOverInItemEvent(ui.__mem_func__(self.OverInEquipItem))
            wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.OverOutEquipItem))
            
            ## Deck
            self.deckTab[0].SetToggleDownEvent(lambda arg=0: self.SetDeckPage(arg))
            self.deckTab[1].SetToggleDownEvent(lambda arg=1: self.SetDeckPage(arg))
            self.deckTab[0].SetToggleUpEvent(lambda arg=0: self.__DeckButtonDown(arg))
            self.deckTab[1].SetToggleUpEvent(lambda arg=1: self.__DeckButtonDown(arg))
            self.deckTab[0].Down()
            ## Grade button
            self.inventoryTab[0].SetEvent(lambda arg=0: self.SetInventoryPage(arg))
            self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg))
            self.inventoryTab[2].SetEvent(lambda arg=2: self.SetInventoryPage(arg))
            self.inventoryTab[3].SetEvent(lambda arg=3: self.SetInventoryPage(arg))
            self.inventoryTab[4].SetEvent(lambda arg=4: self.SetInventoryPage(arg))
            self.inventoryTab[0].Down()
            ## Etc
            self.wndItem = wndItem
            self.wndEquip = wndEquip
            
            self.dlgQuestion = uiCommon.QuestionDialog2()
            self.dlgQuestion.Close()
            
            self.activateButton.SetToggleDownEvent(ui.__mem_func__(self.ActivateButtonClick))
            self.activateButton.SetToggleUpEvent(ui.__mem_func__(self.ActivateButtonClick))
            self.wndPopupDialog = uiCommon.PopupDialog()
            
            ## 
            self.listHighlightedSlot = []
            
            ## Refresh
            self.SetInventoryPage(0)
            self.RefreshItemSlot()
            self.RefreshEquipSlotWindow()
            self.RefreshBagSlotWindow()
            self.SetDSKindIndex(0)
            self.activateButton.Enable()
            self.deckTab[self.deckPageIndex].Down()
            self.activateButton.SetUp()

        def Destroy(self):
            self.ClearDictionary()
            self.tooltipItem = None
            self.wndItem = 0
            self.wndEquip = 0
            self.activateButton = 0
            self.questionDialog = None
            self.mallButton = None
            self.inventoryTab = []
            self.deckTab = []
            self.equipmentTab = []
            self.tabDict = None
            self.tabButtonDict = None
            
        def Close(self):
            if None != self.tooltipItem:
                self.tooltipItem.HideToolTip()
            self.Hide()
        
        def __DeckButtonDown(self, deck):
            self.deckTab[deck].Down()
        
        def SetInventoryPage(self, page):
            if self.inventoryPageIndex != page:
                self.__HighlightSlot_ClearCurrentPage()
            self.inventoryPageIndex = page
            self.inventoryTab[(page+1)%5].SetUp()
            self.inventoryTab[(page+2)%5].SetUp()
            self.inventoryTab[(page+3)%5].SetUp()
            self.inventoryTab[(page+4)%5].SetUp()
            self.RefreshBagSlotWindow()
            
        def SetItemToolTip(self, tooltipItem):
            self.tooltipItem = tooltipItem
            
        def RefreshItemSlot(self):
            self.RefreshBagSlotWindow()
            self.RefreshEquipSlotWindow()
            
        def RefreshEquipSlotWindow(self):
            for i in xrange(6):
                slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(player.INVENTORY, player.DRAGON_SOUL_EQUIPMENT_SLOT_START + i)
                itemVnum = player.GetItemIndex(slotNumber)
                self.wndEquip.SetItemSlot(player.DRAGON_SOUL_EQUIPMENT_SLOT_START + i, itemVnum, 0)
                self.wndEquip.EnableSlot(player.DRAGON_SOUL_EQUIPMENT_SLOT_START + i)
                
                if itemVnum != 0:
                    item.SelectItem(itemVnum)
                    for j in xrange(item.LIMIT_MAX_NUM):
                        (limitType, limitValue) = item.GetLimit(j)
                        
                        # ¹ط؟،¼­ remain_timeہج 0ہجادہخءِ أ¼إ© اد±â ¶§¹®؟، ہسہاہا ¾ç¼ِ·خ أت±âب­
                        remain_time = 999
                        # ہد´ـ اِہç إ¸ہج¸س´آ ہج ¼¼°³ »سہج´ظ.
                        if item.LIMIT_REAL_TIME == limitType:
                            remain_time = player.GetItemMetinSocket(player.INVENTORY, slotNumber, 0) - app.GetGlobalTimeStamp()
                        elif item.LIMIT_REAL_TIME_START_FIRST_USE == limitType:
                            remain_time = player.GetItemMetinSocket(player.INVENTORY, slotNumber, 0) - app.GetGlobalTimeStamp()
                        elif item.LIMIT_TIMER_BASED_ON_WEAR == limitType:
                            remain_time = player.GetItemMetinSocket(player.INVENTORY, slotNumber, 0)
                            
                        if remain_time <= 0:
                            self.wndEquip.DisableSlot(player.DRAGON_SOUL_EQUIPMENT_SLOT_START + i)
                            break
                        
            self.wndEquip.RefreshSlot()
            
        def RefreshStatus(self):
            self.RefreshItemSlot()
            
        def __InventoryLocalSlotPosToGlobalSlotPos(self, window_type, local_slot_pos):
            if player.INVENTORY == window_type:
                return self.deckPageIndex * player.DRAGON_SOUL_EQUIPMENT_FIRST_SIZE + local_slot_pos
                
            return (self.DSKindIndex * 5 * player.DRAGON_SOUL_PAGE_SIZE) + self.inventoryPageIndex * player.DRAGON_SOUL_PAGE_SIZE + local_slot_pos
            
        def RefreshBagSlotWindow(self):
            getItemVNum=player.GetItemIndex
            getItemCount=player.GetItemCount
            setItemVnum=self.wndItem.SetItemSlot
            for i in xrange(player.DRAGON_SOUL_PAGE_SIZE):
                self.wndItem.EnableSlot(i)
                #<- dragon soul kind
                slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(player.DRAGON_SOUL_INVENTORY, i)

                itemCount = getItemCount(player.DRAGON_SOUL_INVENTORY, slotNumber)
                if 0 == itemCount:
                    self.wndItem.ClearSlot(i)
                    continue
                elif 1 == itemCount:
                    itemCount = 0
                itemVnum = getItemVNum(player.DRAGON_SOUL_INVENTORY, slotNumber)

                setItemVnum(i, itemVnum, itemCount)

                if itemVnum != 0:
                    item.SelectItem(itemVnum)
                    for j in xrange(item.LIMIT_MAX_NUM):
                        (limitType, limitValue) = item.GetLimit(j)

                        # ¹ط؟،¼­ remain_timeہج ہ½¼ِہخءِ أ¼إ© اد±â ¶§¹®؟، ہسہاہا ¾ç¼ِ·خ أت±âب­
                        remain_time = 999
                        if item.LIMIT_REAL_TIME == limitType:
                            remain_time = player.GetItemMetinSocket(player.DRAGON_SOUL_INVENTORY, slotNumber, 0)
                        elif item.LIMIT_REAL_TIME_START_FIRST_USE == limitType:
                            remain_time = player.GetItemMetinSocket(player.DRAGON_SOUL_INVENTORY, slotNumber, 0)
                        elif item.LIMIT_TIMER_BASED_ON_WEAR == limitType:
                            remain_time = player.GetItemMetinSocket(player.DRAGON_SOUL_INVENTORY, slotNumber, 0)
                    
                        if remain_time <= 0:
                            self.wndItem.DisableSlot(i)
                            break

            self.__HighlightSlot_RefreshCurrentPage()
            self.wndItem.RefreshSlot()
            
        def ShowToolTip(self, window_type, slotIndex):
            if None != self.tooltipItem:
                if player.INVENTORY == window_type:
                    self.tooltipItem.SetInventoryItem(slotIndex)
                else:
                    self.tooltipItem.SetInventoryItem(slotIndex, player.DRAGON_SOUL_INVENTORY)

        def OnPressEscapeKey(self):
            self.Close()
            return TRUE
                
        def OnTop(self):
            if None != self.tooltipItem:
                self.tooltipItem.SetTop()
        
        # item slot °ü·أ اش¼ِ                
        def OverOutItem(self):
            self.wndItem.SetUsableItem(FALSE)
            if None != self.tooltipItem:
                self.tooltipItem.HideToolTip()
                
        def OverInItem(self, overSlotPos):
            self.wndItem.DeactivateSlot(overSlotPos)
            overSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(player.DRAGON_SOUL_INVENTORY, overSlotPos)
            try:
                self.listHighlightedSlot.remove(overSlotPos)
            except:
                pass
            
            self.wndItem.SetUsableItem(FALSE)
            self.ShowToolTip(player.DRAGON_SOUL_INVENTORY, overSlotPos)
        
        def __UseItem(self, slotIndex):
            ItemVNum = player.GetItemIndex(player.DRAGON_SOUL_INVENTORY, slotIndex)
            if 0 == player.GetItemMetinSocket(player.DRAGON_SOUL_INVENTORY, slotIndex, 0):
                self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_EXPIRED)
                self.wndPopupDialog.Open()
                return
     
            self.__EquipItem(slotIndex)

        def __EquipItem(self, slotIndex):    
            ItemVNum = player.GetItemIndex(player.DRAGON_SOUL_INVENTORY, slotIndex)
            item.SelectItem(ItemVNum)
            subType = item.GetItemSubType()
            equipSlotPos = player.DRAGON_SOUL_EQUIPMENT_SLOT_START + self.deckPageIndex * player.DRAGON_SOUL_EQUIPMENT_FIRST_SIZE + subType
            srcItemPos = (player.DRAGON_SOUL_INVENTORY, slotIndex)
            dstItemPos = (player.INVENTORY, equipSlotPos)
            self.__OpenQuestionDialog(TRUE, srcItemPos, dstItemPos)
        
        def SelectItemSlot(self, itemSlotIndex):
            if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
                return

            itemSlotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(player.DRAGON_SOUL_INVENTORY, itemSlotIndex)

            if mouseModule.mouseController.isAttached():
                attachedSlotType = mouseModule.mouseController.GetAttachedType()
                attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
                attachedItemVID = mouseModule.mouseController.GetAttachedItemIndex()
                    
                attachedInvenType = player.SlotTypeToInvenType(attachedSlotType)
                if player.RESERVED_WINDOW != attachedInvenType:
                    net.SendItemUseToItemPacket(attachedInvenType, attachedSlotPos, player.DRAGON_SOUL_INVENTORY, itemSlotIndex)

                mouseModule.mouseController.DeattachObject()

            else:
                ## »َء،؟،¼­ ئبµµ·د أك°،
                ## 20140220
                curCursorNum = app.GetCursor()

                if app.SELL == curCursorNum:
                    self.__SellItem(itemSlotIndex)
                elif app.BUY == curCursorNum:
                    chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SHOP_BUY_INFO)
                else:
                    selectedItemVNum = player.GetItemIndex(player.DRAGON_SOUL_INVENTORY, itemSlotIndex)
                    itemCount = player.GetItemCount(player.DRAGON_SOUL_INVENTORY, itemSlotIndex)
                    mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_DRAGON_SOUL_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
                    self.wndItem.SetUseMode(FALSE)
                    snd.PlaySound("sound/ui/pick.wav")
        
        ## »َء،؟، ئب±â
        ## 2014.02.20 أك°،
        def __SellItem(self, itemSlotPos):
            if not player.IsDSEquipmentSlot(player.DRAGON_SOUL_INVENTORY, itemSlotPos):
                self.sellingSlotNumber = itemSlotPos
                itemIndex = player.GetItemIndex(player.DRAGON_SOUL_INVENTORY, itemSlotPos)
                itemCount = player.GetItemCount(player.DRAGON_SOUL_INVENTORY, itemSlotPos)

                item.SelectItem(itemIndex)
                
                if item.IsAntiFlag(item.ANTIFLAG_SELL):
                    popup = uiCommon.PopupDialog()
                    popup.SetText(localeInfo.SHOP_CANNOT_SELL_ITEM)
                    popup.SetAcceptEvent(self.__OnClosePopupDialog)
                    popup.Open()
                    self.popup = popup
                    return
                
                itemPrice = item.GetISellItemPrice()

                if item.Is1GoldItem():
                    itemPrice = itemCount / itemPrice / 5
                else:
                    itemPrice = itemPrice * itemCount / 5

                item.GetItemName(itemIndex)
                itemName = item.GetItemName()

                self.questionDialog = uiCommon.QuestionDialog()
                self.questionDialog.SetText(localeInfo.DO_YOU_SELL_ITEM(itemName, itemCount, itemPrice))
                self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.SellItem))
                self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
                self.questionDialog.Open()
                self.questionDialog.count = itemCount

        ## »َء،؟، ئب±â
        def SellItem(self):

            net.SendShopSellPacketNew(self.sellingSlotNumber, self.questionDialog.count, player.DRAGON_SOUL_INVENTORY)
            snd.PlaySound("sound/ui/money.wav")
            self.OnCloseQuestionDialog()

        ## »َء،؟، ئب±â
        def OnCloseQuestionDialog(self):
            if self.questionDialog:
                self.questionDialog.Close()

            self.questionDialog = None

        ## »َء،؟، ئب±â
        def __OnClosePopupDialog(self):
            self.pop = None

        def SelectEmptySlot(self, selectedSlotPos):
            if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
                return

            selectedSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(player.DRAGON_SOUL_INVENTORY, selectedSlotPos)
            if mouseModule.mouseController.isAttached():

                attachedSlotType = mouseModule.mouseController.GetAttachedType()
                attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
                attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
                attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()

                attachedInvenType = player.SlotTypeToInvenType(attachedSlotType)
                if player.SLOT_TYPE_PRIVATE_SHOP == attachedSlotType:
                    mouseModule.mouseController.RunCallBack("INVENTORY")

                elif player.SLOT_TYPE_SHOP == attachedSlotType:
                    net.SendShopBuyPacket(attachedSlotPos)

                elif player.SLOT_TYPE_SAFEBOX == attachedSlotType:
                    if player.ITEM_MONEY == attachedItemIndex:
                        net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
                        snd.PlaySound("sound/ui/money.wav")

                    else:
                        net.SendSafeboxCheckoutPacket(attachedSlotPos, player.DRAGON_SOUL_INVENTORY, selectedSlotPos)

                elif player.SLOT_TYPE_MALL == attachedSlotType:
                    net.SendMallCheckoutPacket(attachedSlotPos, player.DRAGON_SOUL_INVENTORY, selectedSlotPos)

                elif player.RESERVED_WINDOW != attachedInvenType:
                    if player.IsDSEquipmentSlot(attachedInvenType, attachedSlotPos):
                        srcItemPos = (attachedInvenType, attachedSlotPos)
                        dstItemPos = (player.DRAGON_SOUL_INVENTORY, selectedSlotPos)
                        self.__OpenQuestionDialog(FALSE, srcItemPos, dstItemPos)
                    else:
                        itemCount = player.GetItemCount(attachedInvenType, attachedSlotPos)
                        attachedCount = mouseModule.mouseController.GetAttachedItemCount()
     
                        self.__SendMoveItemPacket(attachedInvenType, attachedSlotPos, player.DRAGON_SOUL_INVENTORY, selectedSlotPos, attachedCount)

                mouseModule.mouseController.DeattachObject()

        def UseItemSlot(self, slotIndex):
            if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS():
                return
            slotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(player.DRAGON_SOUL_INVENTORY, slotIndex)
            try:
                # ؟ëب¥¼® °­ب­أ¢ہج ؟­·ءہضہ¸¸é, ¾ئہجإغ ؟ىإ¬¸¯ ½أ ہعµ؟ہ¸·خ °­ب­أ¢ہ¸·خ µé¾î°¨.
                if self.wndDragonSoulRefine.IsShow():
                    if uiPrivateShopBuilder.IsBuildingPrivateShop():
                        chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP)
                        return
                    self.wndDragonSoulRefine.AutoSetItem((player.DRAGON_SOUL_INVENTORY, slotIndex), 1)
                    return
            except:
                pass

            self.__UseItem(slotIndex)
     
            mouseModule.mouseController.DeattachObject()
            self.OverOutItem()
            
        def __SendMoveItemPacket(self, srcSlotWindow, srcSlotPos, dstSlotWindow, dstSlotPos, srcItemCount):
            if uiPrivateShopBuilder.IsBuildingPrivateShop():
                chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP)
                return
            
            net.SendItemMovePacket(srcSlotWindow , srcSlotPos, dstSlotWindow, dstSlotPos, srcItemCount)
        
        # equip ½½·ش °ü·أ اش¼ِµé.
        def OverOutEquipItem(self):
            self.OverOutItem()
                
        def OverInEquipItem(self, overSlotPos):
            overSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(player.INVENTORY, overSlotPos)
            self.wndItem.SetUsableItem(FALSE)
            self.ShowToolTip(player.INVENTORY, overSlotPos)
        
        def UseEquipItemSlot(self, slotIndex):
            if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS():
                return

            slotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(player.INVENTORY, slotIndex)

            self.__UseEquipItem(slotIndex)
            mouseModule.mouseController.DeattachObject()
            self.OverOutEquipItem()
        
        def __UseEquipItem(self, slotIndex):
            if uiPrivateShopBuilder.IsBuildingPrivateShop():
                chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_PRIVATE_SHOP)
                return

            self.__OpenQuestionDialog(FALSE, (player.INVENTORY, slotIndex), (1, 1))
                        
        
        def SelectEquipItemSlot(self, itemSlotIndex):

            ## ¸¶؟ى½؛ ¹ِئ°ہج sell buy أ¼إ© اط¼­ return
            curCursorNum = app.GetCursor()
            if app.SELL == curCursorNum:
                return
            elif app.BUY == curCursorNum:
                chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SHOP_BUY_INFO)
                return

            if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
                return

            itemSlotIndex = self.__InventoryLocalSlotPosToGlobalSlotPos(player.INVENTORY, itemSlotIndex)

            if mouseModule.mouseController.isAttached():
                attachedSlotType = mouseModule.mouseController.GetAttachedType()
                attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
                # ہع±â ہع½إہ» ہع±â ہع½إ؟،°ش µه·،±×اد´آ °و؟ى
                if player.SLOT_TYPE_INVENTORY == attachedSlotType and itemSlotIndex == attachedSlotPos:
                    return
     
                attachedItemVID = mouseModule.mouseController.GetAttachedItemIndex()
                    
                attachedInvenType = player.SlotTypeToInvenType(attachedSlotType)
                if player.RESERVED_WINDOW != attachedInvenType:
                    net.SendItemUseToItemPacket(attachedInvenType, attachedSlotPos, player.INVENTORY, itemSlotIndex)

                mouseModule.mouseController.DeattachObject()
            else:
                selectedItemVNum = player.GetItemIndex(player.INVENTORY, itemSlotIndex)
                itemCount = player.GetItemCount(player.INVENTORY, itemSlotIndex)
                mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
                self.wndItem.SetUseMode(FALSE)
                snd.PlaySound("sound/ui/pick.wav")
                
        def SelectEmptyEquipSlot(self, selectedSlot):
            if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
                return

            selectedSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(player.INVENTORY, selectedSlot)

            if mouseModule.mouseController.isAttached():
                attachedSlotType = mouseModule.mouseController.GetAttachedType()
                attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
                attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
                attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()

                if player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedSlotType:
                    if 0 == player.GetItemMetinSocket(player.DRAGON_SOUL_INVENTORY, attachedSlotPos, 0):
                        self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_EXPIRED)
                        self.wndPopupDialog.Open()
                        return
                
                    item.SelectItem(attachedItemIndex)
                    subType = item.GetItemSubType()
                    if subType != (selectedSlot - player.DRAGON_SOUL_EQUIPMENT_SLOT_START):
                        self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_UNMATCHED_SLOT)
                        self.wndPopupDialog.Open()
                    else:
                        srcItemPos = (player.DRAGON_SOUL_INVENTORY, attachedSlotPos)
                        dstItemPos = (player.INVENTORY, selectedSlotPos)
                        self.__OpenQuestionDialog(TRUE, srcItemPos, dstItemPos)

                mouseModule.mouseController.DeattachObject()
        # equip ½½·ش °ü·أ اش¼ِµé ³،.
        
        # °و°يأ¢ °ü·أ
        def __OpenQuestionDialog(self, Equip, srcItemPos, dstItemPos):
            self.srcItemPos = srcItemPos
            self.dstItemPos = dstItemPos
            
            self.dlgQuestion.SetAcceptEvent(ui.__mem_func__(self.__Accept))
            self.dlgQuestion.SetCancelEvent(ui.__mem_func__(self.__Cancel))

            if Equip:
                self.dlgQuestion.SetText1(localeInfo.DRAGON_SOUL_EQUIP_WARNING1)
                self.dlgQuestion.SetText2(localeInfo.DRAGON_SOUL_EQUIP_WARNING2)
            else:
                self.dlgQuestion.SetText1(localeInfo.DRAGON_SOUL_UNEQUIP_WARNING1)
                self.dlgQuestion.SetText2(localeInfo.DRAGON_SOUL_UNEQUIP_WARNING2)
     
            self.dlgQuestion.Open()
            
        def __Accept(self):
            if (-1, -1) == self.dstItemPos:
                net.SendItemUsePacket(*self.srcItemPos)
            else:
                self.__SendMoveItemPacket(*(self.srcItemPos + self.dstItemPos + (0,)))
            self.dlgQuestion.Close()

        def __Cancel(self):
            self.srcItemPos = (0, 0)
            self.dstItemPos = (0, 0)
            self.dlgQuestion.Close()

        # °و°يأ¢ °ü·أ ³،
        
        def SetDSKindIndex(self, kindIndex):
            if self.DSKindIndex != kindIndex:
                self.__HighlightSlot_ClearCurrentPage()
            
            self.DSKindIndex = kindIndex

            for (tabKey, tabButton) in self.tabButtonDict.items():
                if kindIndex!=tabKey:
                    tabButton.SetUp()

            for tabValue in self.tabDict.itervalues():
                tabValue.Hide()

            self.tabDict[kindIndex].Show()
            self.tabText.SetText(DragonSoulWindow.KIND_TAP_TITLES[kindIndex])
            
            self.RefreshBagSlotWindow()
            
        def SetDeckPage(self, page):
            if page == self.deckPageIndex:
                return
        
            if self.isActivated:
                self.DeactivateDragonSoul()
                net.SendChatPacket("/dragon_soul deactivate")
            self.deckPageIndex = page
            self.deckTab
            self.deckTab[(page+1)%2].SetUp()
            
            self.RefreshEquipSlotWindow()
        
        # ؟ëب¥¼® ب°¼؛ب­ °ü·أ
        def ActivateDragonSoulByExtern(self, deck):
            self.isActivated = TRUE
            self.activateButton.Down()
            self.deckPageIndex = deck
            self.deckTab[deck].Down()
            self.deckTab[(deck+1)%2].SetUp()
            self.RefreshEquipSlotWindow()
            
        def DeactivateDragonSoul(self):
            self.isActivated = FALSE
            self.activateButton.SetUp()

        def ActivateButtonClick(self):
            self.isActivated = self.isActivated ^ TRUE
            if self.isActivated:
                if self.__CanActivateDeck():
                    net.SendChatPacket("/dragon_soul activate " + str(self.deckPageIndex))
                else:
                    self.isActivated = FALSE
                    self.activateButton.SetUp()
            else:
                net.SendChatPacket("/dragon_soul deactivate")

        def __CanActivateDeck(self):
            canActiveNum = 0
            for i in xrange(6):
                slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(player.INVENTORY, player.DRAGON_SOUL_EQUIPMENT_SLOT_START + i)
                itemVnum = player.GetItemIndex(slotNumber)
                
                if itemVnum != 0:
                    item.SelectItem(itemVnum)
                    isNoLimit = TRUE
                    for i in xrange(item.LIMIT_MAX_NUM):
                        (limitType, limitValue) = item.GetLimit(i)
                        
                        # LIMIT_TIMER_BASED_ON_WEAR´آ ¼زؤد0؟، ³²ہ؛ ½أ°£ہ» ¹ع´آ´ظ.
                        # LIMIT_REAL_TIMEہ؛ ½أ°£ ´ظ µا¸é ¾ئہجإغہج »ç¶َءِ¹ا·خ از ات؟ن°، ¾ّ´ظ.
                        # LIMIT_REAL_TIME_START_FIRST_USE´آ ¼­¹ِ؟، ء¦´ë·خ ء¤ہاµاءِ ¾ت¾ئ ہد´ـ ³ہµذ´ظ.
                        if item.LIMIT_TIMER_BASED_ON_WEAR == limitType:
                            isNoLimit = FALSE
                            remain_time = player.GetItemMetinSocket(player.INVENTORY, slotNumber, 0)
                            if 0 != remain_time:
                                canActiveNum += 1
                                break
                    # إ¸ہج¸س°، ¾ّ´ظ¸é Activateاز ¼ِ ہض´آ ؟ëب¥¼®.
                    if isNoLimit:
                        canActiveNum += 1
            
            return canActiveNum > 0
        
        # ب°¼؛ب­ °ü·أ ³،
        
        # ½½·ش highlight °ü·أ
        def __HighlightSlot_ClearCurrentPage(self):
            for i in xrange(self.wndItem.GetSlotCount()):
                slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(player.DRAGON_SOUL_INVENTORY, i)
                if slotNumber in self.listHighlightedSlot:
                    self.wndItem.DeactivateSlot(i)
                    self.listHighlightedSlot.remove(slotNumber)
        
        def __HighlightSlot_RefreshCurrentPage(self):
            for i in xrange(self.wndItem.GetSlotCount()):
                slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(player.DRAGON_SOUL_INVENTORY, i)
                if slotNumber in self.listHighlightedSlot:
                    self.wndItem.ActivateSlot(i)
        
        def HighlightSlot(self, slot):
            if not slot in self.listHighlightedSlot:
                self.listHighlightedSlot.append (slot)
        # ½½·ش highlight °ü·أ ³،
        
        def SetDragonSoulRefineWindow(self, wndDragonSoulRefine):
            if app.ENABLE_DRAGON_SOUL_SYSTEM:
                from _weakref import proxy
                self.wndDragonSoulRefine = proxy(wndDragonSoulRefine)

    ## °­ب­از ¼ِ ¾ّ´آ °و؟ى ³¯¸®´آ ؟¹؟ـ
    #class DragonSoulRefineException(Exception):
        #pass

    class DragonSoulRefineWindow(ui.ScriptWindow):
        REFINE_TYPE_GRADE, REFINE_TYPE_STEP, REFINE_TYPE_STRENGTH = xrange(3)
        DS_SUB_HEADER_DIC = {
            REFINE_TYPE_GRADE : player.DS_SUB_HEADER_DO_UPGRADE,
            REFINE_TYPE_STEP : player.DS_SUB_HEADER_DO_IMPROVEMENT,
            REFINE_TYPE_STRENGTH : player.DS_SUB_HEADER_DO_REFINE 
        }
        REFINE_STONE_SLOT, DRAGON_SOUL_SLOT = xrange(2)

        INVALID_DRAGON_SOUL_INFO = -1
        
        def __init__(self):
            ui.ScriptWindow.__init__(self)
            self.tooltipItem = None
            self.sellingSlotNumber = -1
            self.isLoaded = 0
            self.refineChoiceButtonDict = None
            self.doRefineButton = None
            self.wndMoney = None
            self.SetWindowName("DragonSoulRefineWindow")
            self.__LoadWindow()
            
        def __del__(self):
            ui.ScriptWindow.__del__(self)

        def Show(self):
            self.__LoadWindow()
            ui.ScriptWindow.Show(self)

        def __LoadWindow(self):
            if self.isLoaded == 1:
                return
            self.isLoaded = 1
            try:
                pyScrLoader = ui.PythonScriptLoader()            
                pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "dragonsoulrefinewindow.py")

            except:
                import exception
                exception.Abort("dragonsoulrefinewindow.LoadWindow.LoadObject")
            try:
                if localeInfo.IsARABIC():
                    self.board = self.GetChild("DragonSoulRefineWindowBaseImage")
                    self.board.SetScale(-1.0, 1.0)
                    self.board.SetRenderingRect(-1.0, 0.0, 1.0, 0.0)
                    
                wndRefineSlot = self.GetChild("RefineSlot")
                wndResultSlot = self.GetChild("ResultSlot")
                self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))            
                self.refineChoiceButtonDict = {
                    self.REFINE_TYPE_GRADE    : self.GetChild("GradeButton"),
                    self.REFINE_TYPE_STEP: self.GetChild("StepButton"),
                    self.REFINE_TYPE_STRENGTH    : self.GetChild("StrengthButton"),
                }
                self.doRefineButton = self.GetChild("DoRefineButton")
                self.wndMoney = self.GetChild("Money_Slot")
            
            except:
                import exception
                exception.Abort("DragonSoulRefineWindow.LoadWindow.BindObject")
            
        
            ## Item Slots
            wndRefineSlot.SetOverInItemEvent(ui.__mem_func__(self.__OverInRefineItem))
            wndRefineSlot.SetOverOutItemEvent(ui.__mem_func__(self.__OverOutItem))
            wndRefineSlot.SetSelectEmptySlotEvent(ui.__mem_func__(self.__SelectRefineEmptySlot))
            wndRefineSlot.SetSelectItemSlotEvent(ui.__mem_func__(self.__SelectRefineItemSlot))
            wndRefineSlot.SetUseSlotEvent(ui.__mem_func__(self.__SelectRefineItemSlot))
            wndRefineSlot.SetUnselectItemSlotEvent(ui.__mem_func__(self.__SelectRefineItemSlot))
            
            wndResultSlot.SetOverInItemEvent(ui.__mem_func__(self.__OverInResultItem))
            wndResultSlot.SetOverOutItemEvent(ui.__mem_func__(self.__OverOutItem))
            self.wndRefineSlot = wndRefineSlot
            self.wndResultSlot = wndResultSlot
            
            ## Button
            self.refineChoiceButtonDict[self.REFINE_TYPE_GRADE].SetToggleDownEvent(self.__ToggleDownGradeButton)
            self.refineChoiceButtonDict[self.REFINE_TYPE_STEP].SetToggleDownEvent(self.__ToggleDownStepButton)
            self.refineChoiceButtonDict[self.REFINE_TYPE_STRENGTH].SetToggleDownEvent(self.__ToggleDownStrengthButton)
            self.refineChoiceButtonDict[self.REFINE_TYPE_GRADE].SetToggleUpEvent(lambda : self.__ToggleUpButton(self.REFINE_TYPE_GRADE))
            self.refineChoiceButtonDict[self.REFINE_TYPE_STEP].SetToggleUpEvent(lambda : self.__ToggleUpButton(self.REFINE_TYPE_STEP))
            self.refineChoiceButtonDict[self.REFINE_TYPE_STRENGTH].SetToggleUpEvent(lambda : self.__ToggleUpButton(self.REFINE_TYPE_STRENGTH))
            self.doRefineButton.SetEvent(self.__PressDoRefineButton)
            
            ## Dialog
            self.wndPopupDialog = uiCommon.PopupDialog()
            
            self.currentRefineType = self.REFINE_TYPE_GRADE
            self.refineItemInfo = {}
            self.resultItemInfo = {}
            self.currentRecipe = {}
            
            self.wndMoney.SetText(localeInfo.NumberToMoneyString(0))
            self.refineChoiceButtonDict[self.REFINE_TYPE_GRADE].Down()
            
            self.__Initialize()
            
        def Destroy(self):
            self.ClearDictionary()
            self.tooltipItem = None
            self.wndItem = 0
            self.wndEquip = 0
            self.activateButton = 0
            self.questionDialog = None
            self.mallButton = None
            self.inventoryTab = []
            self.deckTab = []
            self.equipmentTab = []
            self.tabDict = None
            self.tabButtonDict = None
            
        def Close(self):
            if None != self.tooltipItem:
                self.tooltipItem.HideToolTip()
            
            self.__FlushRefineItemSlot()
            player.SendDragonSoulRefine(player.DRAGON_SOUL_REFINE_CLOSE)
            self.Hide()

        def Show(self):
            self.currentRefineType = self.REFINE_TYPE_GRADE
            self.wndMoney.SetText(localeInfo.NumberToMoneyString(0))
            self.refineChoiceButtonDict[self.REFINE_TYPE_GRADE].Down()
            self.refineChoiceButtonDict[self.REFINE_TYPE_STEP].SetUp()
            self.refineChoiceButtonDict[self.REFINE_TYPE_STRENGTH].SetUp()
            
            self.Refresh()
            
            ui.ScriptWindow.Show(self)

        def SetItemToolTip(self, tooltipItem):
            self.tooltipItem = tooltipItem
        
        # ¹ِئ° ´­·ء ہض´آ »َإآ¸¦ ء¦؟ـار ¸ًµç °­ب­أ¢ °ü·أ ؛¯¼ِµéہ» أت±âب­.
        def __Initialize(self):
            self.currentRecipe = {}
            self.refineItemInfo = {}
            self.resultItemInfo = {}
            
            if self.REFINE_TYPE_STRENGTH == self.currentRefineType:
                self.refineSlotLockStartIndex = 2
            else:
                self.refineSlotLockStartIndex = 1

            for i in xrange(self.refineSlotLockStartIndex):
                self.wndRefineSlot.HideSlotBaseImage(i)

            self.wndMoney.SetText(localeInfo.NumberToMoneyString(0))

        def __FlushRefineItemSlot(self):
            ## Item slot settings
            # ؟ّ·، ہخ؛¥ہا ¾ئہجإغ ؤ«؟îئ® ب¸؛¹
            for invenType, invenPos, itemCount in self.refineItemInfo.values():
                remainCount = player.GetItemCount(invenType, invenPos)
                player.SetItemCount(invenType, invenPos, remainCount + itemCount)
            self.__Initialize()
        
        def __ToggleUpButton(self, idx):
            #if self.REFINE_TYPE_GRADE == self.currentRefineType:
            self.refineChoiceButtonDict[idx].Down()

        def __ToggleDownGradeButton(self):
            if self.REFINE_TYPE_GRADE == self.currentRefineType:
                return
            self.refineChoiceButtonDict[self.currentRefineType].SetUp()
            self.currentRefineType = self.REFINE_TYPE_GRADE
            self.__FlushRefineItemSlot()
            self.Refresh()
            
        def __ToggleDownStepButton(self):
            if self.REFINE_TYPE_STEP == self.currentRefineType:
                return
            self.refineChoiceButtonDict[self.currentRefineType].SetUp()
            self.currentRefineType = self.REFINE_TYPE_STEP
            self.__FlushRefineItemSlot()
            self.Refresh()

        def __ToggleDownStrengthButton(self):
            if self.REFINE_TYPE_STRENGTH == self.currentRefineType:
                return
            self.refineChoiceButtonDict[self.currentRefineType].SetUp()
            self.currentRefineType = self.REFINE_TYPE_STRENGTH
            self.__FlushRefineItemSlot()
            self.Refresh()

        def __PopUp(self, message):
            self.wndPopupDialog.SetText(message)
            self.wndPopupDialog.Open()
        
        def __SetItem(self, inven, dstSlotIndex, itemCount):
            invenType, invenPos = inven

            if dstSlotIndex >= self.refineSlotLockStartIndex:
                return FALSE
                
            itemVnum = player.GetItemIndex(invenType, invenPos)
            maxCount = player.GetItemCount(invenType, invenPos)
            
            if itemCount > maxCount:
                raise Exception, ("Invalid attachedItemCount(%d). (base pos (%d, %d), base itemCount(%d))" % (itemCount, invenType, invenPos, maxCount))
                #return FALSE
            
            # strength °­ب­ہد °و؟ى, 0¹ّ؟£ °­ب­¼®, 1¹ّ؟£ ؟ëب¥¼®ہ» ³ُµµ·د °­ء¦اش.
            if DragonSoulRefineWindow.REFINE_TYPE_STRENGTH == self.currentRefineType:
                if self.__IsDragonSoul(itemVnum):
                    dstSlotIndex = 1
                else:
                    dstSlotIndex = 0
            
            # ؛َ ½½·شہج¾î¾كاش.
            if dstSlotIndex in self.refineItemInfo:
                return FALSE
                
            # °­ب­أ¢؟، ؟أ¸± ¼ِ ہض´آ ¾ئہجإغہخءِ °ث»ç.
            if FALSE == self.__CheckCanRefine(itemVnum):
                return FALSE
            
            # ²ّ¾î´ظ ³ُہ؛ ¾ئہجإغ ؤ«؟îئ®¸¸إ­ ؟ّ·، ہع¸®ہا ¾ئہجإغ ؤ«؟îئ® °¨¼ز
            player.SetItemCount(invenType, invenPos, maxCount - itemCount)
            self.refineItemInfo[dstSlotIndex] = (invenType, invenPos, itemCount)
            self.Refresh()

            return TRUE
        
        # °­ب­ °،´ةار ¾ئہجإغہخءِ أ¼إ©
        # ؟ëب¥¼® °­ب­´آ °­ب­ ·¹½أاا¸¦ ء¤اط³ُ°ي ½أہغاد´آ °حہج ¾ئ´د¶َ,
        # أ³ہ½؟، °­ب­أ¢؟، ؟أ¸° ؟ëب¥¼®؟، ہااط °­ب­ ·¹½أاا°، °لء¤µب´ظ.
        # ±×·،¼­ __CanRefineGrade, __CanRefineStep, __CanRefineStrength اش¼ِ؟،¼­
        # °­ب­ ·¹½أاا°، ¾ّ´ظ¸é(أ³ہ½ ؟أ¸®´آ ¾ئہجإغہج¶َ¸é), °­ب­ ·¹½أاا¸¦ ¼³ء¤اطءض´آ ؟ھازµµ ار´ظ.
        def __CheckCanRefine(self, vnum):
            if self.REFINE_TYPE_GRADE == self.currentRefineType:
                return self.__CanRefineGrade(vnum)

            elif self.REFINE_TYPE_STEP == self.currentRefineType:
                return self.__CanRefineStep(vnum)
                    
            elif self.REFINE_TYPE_STRENGTH == self.currentRefineType:
                return self.__CanRefineStrength(vnum)
                    
            else:
                return FALSE

        def __CanRefineGrade (self, vnum):
            ds_info = self.__GetDragonSoulTypeInfo(vnum)
            
            if DragonSoulRefineWindow.INVALID_DRAGON_SOUL_INFO == ds_info:
                self.__PopUp(localeInfo.DRAGON_SOUL_IS_NOT_DRAGON_SOUL)
                return FALSE
                
            if self.currentRecipe:
                ds_type, grade, step, strength = ds_info
                cur_refine_ds_type, cur_refine_grade, cur_refine_step, cur_refine_strength = self.currentRecipe["ds_info"]
                if not (cur_refine_ds_type == ds_type and cur_refine_grade == grade):
                    self.__PopUp(localeInfo.DRAGON_SOUL_INVALID_DRAGON_SOUL)
                    return FALSE
            # °­ب­ أ¢؟، أ³ہ½ ¾ئہجإغہ» ؟أ¸®´آ °و؟ى, °­ب­ ہç·ل؟، °üار ء¤؛¸°، ¾ّ´ظ.
            # ؟ëب¥¼® °­ب­°،, ·¹½أاا¸¦ °،ءِ°ي ½أہغاد´آ °حہج ¾ئ´د¶َ, °­ب­أ¢؟، أ³ہ½ ؟أ¸®´آ ¾ئہجإغہج ¹«¾ùہج³ؤ؟، µû¶َ,
            # ¹«¾ùہ» °­ب­اد°ي, ہç·ل°، ¹«¾ùہخءِ(ہجاد ·¹½أاا)°، ء¤اطءّ´ظ.
            # ·¹½أاا°، ¾ّ´ظ¸é, أ³ہ½ ؟أ¸° ¾ئہجإغہج¶َ »‎°¢اد°ي, vnumہ» ¹ظإءہ¸·خ ·¹½أاا¸¦ ¼آئأ.
            else:
                self.currentRecipe = self.__GetRefineGradeRecipe(vnum)

                if self.currentRecipe:
                    self.refineSlotLockStartIndex = self.currentRecipe["need_count"]
                    self.wndMoney.SetText(localeInfo.NumberToMoneyString(self.currentRecipe["fee"]))                
                    return TRUE
                else:
                # °­ب­ ء¤؛¸ ¼آئأ؟، ½ائذاد¸é ؟أ¸± ¼ِ ¾ّ´آ ¾ئہجإغہ¸·خ ئا´ـ.
                    self.__PopUp(localeInfo.DRAGON_SOUL_CANNOT_REFINE)
                    return FALSE

        def __CanRefineStep (self, vnum):
            ds_info = self.__GetDragonSoulTypeInfo(vnum)
            
            if DragonSoulRefineWindow.INVALID_DRAGON_SOUL_INFO == ds_info:
                self.__PopUp(localeInfo.DRAGON_SOUL_IS_NOT_DRAGON_SOUL)
                return FALSE
            
            if self.currentRecipe:
                ds_type, grade, step, strength = ds_info
                cur_refine_ds_type, cur_refine_grade, cur_refine_step, cur_refine_strength = self.currentRecipe["ds_info"]
                if not (cur_refine_ds_type == ds_type and cur_refine_grade == grade and cur_refine_step == step):
                    self.__PopUp(localeInfo.DRAGON_SOUL_INVALID_DRAGON_SOUL)
                    return FALSE
            # °­ب­ أ¢؟، أ³ہ½ ¾ئہجإغہ» ؟أ¸®´آ °و؟ى, ہç·ل؟، °üار ء¤؛¸°، ¾ّ´ظ.
            # ؟ëب¥¼® °­ب­°،, ·¹½أاا¸¦ °،ءِ°ي ½أہغاد´آ °حہج ¾ئ´د¶َ, °­ب­أ¢؟، أ³ہ½ ؟أ¸®´آ ¾ئہجإغہج ¹«¾ùہج³ؤ؟، µû¶َ,
            # ¹«¾ùہ» °­ب­اد°ي, ہç·ل°، ¹«¾ùہخءِ(ہجاد ·¹½أاا)°، ء¤اطءّ´ظ.
            # ·¹½أاا°، ¾ّ´ظ¸é, أ³ہ½ ؟أ¸° ¾ئہجإغہج¶َ »‎°¢اد°ي, vnumہ» ¹ظإءہ¸·خ ·¹½أاا¸¦ ¼آئأ.
            else:
                self.currentRecipe = self.__GetRefineStepRecipe(vnum)

                if self.currentRecipe:
                    self.refineSlotLockStartIndex = self.currentRecipe["need_count"]
                    self.wndMoney.SetText(localeInfo.NumberToMoneyString(self.currentRecipe["fee"]))                
                    return TRUE

                else:
                # °­ب­ ء¤؛¸ ¼آئأ؟، ½ائذاد¸é ؟أ¸± ¼ِ ¾ّ´آ ¾ئہجإغہ¸·خ ئا´ـ.
                    self.__PopUp(localeInfo.DRAGON_SOUL_CANNOT_REFINE)
                    return FALSE

        def __CanRefineStrength (self, vnum):
            # ؟ëب¥¼®ہخ °و؟ى, ´ُ ہج»َ strength °­ب­¸¦ از ¼ِ ¾ّ´آءِ أ¼إ©اط¾كاش.
            if self.__IsDragonSoul(vnum):
                ds_type, grade, step, strength = self.__GetDragonSoulTypeInfo(vnum)
                
                import dragon_soul_refine_settings
                if strength >= dragon_soul_refine_settings.dragon_soul_refine_info[ds_type]["strength_max_table"][grade][step]:
                    self.__PopUp(localeInfo.DRAGON_SOUL_CANNOT_REFINE_MORE)
                    return FALSE

                else:
                    return TRUE
            
            # strength °­ب­ہا °و؟ى, refine_recipe°، ؟ëب¥¼®ہا ء¾·ù°، ¾ئ´ر, °­ب­¼®ہا ء¾·ù؟، µû¶َ ´ق¶َءّ´ظ.
            # µû¶َ¼­ ؟ëب¥¼®ہج ¾ئ´د¶َ¸é, 
            # ہج¹ج ·¹½أاا°، ہض´آ °و؟ى´آ, °­ب­¼®ہج °­ب­أ¢؟، ہض´ظ´آ °حہج¹ا·خ, return FALSE
            # ·¹½أاا°، ¾ّ´آ °و؟ى´آ, °­ب­¼®ہخءِ ب®ہخاد°ي, ·¹½أاا¸¦ ¼آئأار´ظ.
            else:
                if self.currentRecipe:
                    self.__PopUp(localeInfo.DRAGON_SOUL_IS_NOT_DRAGON_SOUL)
                    return FALSE
                else:
                    refineRecipe = self.__GetRefineStrengthInfo(vnum)
                    if refineRecipe:
                        self.currentRecipe = refineRecipe
                        self.wndMoney.SetText(localeInfo.NumberToMoneyString(self.currentRecipe["fee"]))
                        return TRUE
                    else:
                    # ·¹½أاا¸¦ ¼آئأاز ¼ِ ¾ّ´آ °و؟ى
                        self.__PopUp(localeInfo.DRAGON_SOUL_NOT_DRAGON_SOUL_REFINE_STONE)
                        return FALSE

        def __GetRefineGradeRecipe (self, vnum):
            ds_type, grade, step, strength = self.__GetDragonSoulTypeInfo(vnum)
            try:
                import dragon_soul_refine_settings

                return    {
                    "ds_info"        : (ds_type, grade, step, strength),
                    "need_count"    : dragon_soul_refine_settings.dragon_soul_refine_info[ds_type]["grade_need_count"][grade],
                    "fee"            : dragon_soul_refine_settings.dragon_soul_refine_info[ds_type]["grade_fee"][grade]
                        }
            except:
                return None

        def __GetRefineStepRecipe (self, vnum):
            ds_type, grade, step, strength = self.__GetDragonSoulTypeInfo(vnum)
            try:
                import dragon_soul_refine_settings
        
                return    {
                    "ds_info"        : (ds_type, grade, step, strength),
                    "need_count"    : dragon_soul_refine_settings.dragon_soul_refine_info[ds_type]["step_need_count"][step],
                    "fee"            : dragon_soul_refine_settings.dragon_soul_refine_info[ds_type]["step_fee"][step]
                        }
            except:
                return None
            
        # strength °­ب­ہا °و؟ى, refineInfo´آ °­ب­¼®؟، µû¶َ ´ق¶َءّ´ظ.
        def __GetRefineStrengthInfo (self, itemVnum):
            try:
                # ہج³ًہا ہ§ؤ،¸¦ ¾îآîادءِ....
                # °­ب­¼®ہج ¾ئ´د¸é ¾بµت.
                item.SelectItem(itemVnum)
                if not (item.ITEM_TYPE_MATERIAL == item.GetItemType() \
                        and (item.MATERIAL_DS_REFINE_NORMAL <= item.GetItemSubType() and item.GetItemSubType() <= item.MATERIAL_DS_REFINE_HOLLY)):
                    return None

                import dragon_soul_refine_settings
                return { "fee" : dragon_soul_refine_settings.strength_fee[item.GetItemSubType()] }
            except:
                return None

        def __IsDragonSoul(self, vnum):
            item.SelectItem(vnum)
            return item.GetItemType() == item.ITEM_TYPE_DS
            
        # ؟ëب¥¼® Vnum؟، ´ëار comment    
        # ITEM VNUMہ» 10¸¸ ہع¸®؛خإح, FEDCBA¶َ°ي ار´ظ¸é
        # FE : ؟ëب¥¼® ء¾·ù.    D : µî±ق
        # C : ´ـ°è            B : °­ب­        
        # A : ؟©¹ْہا ¹ّب£µé...    
        def __GetDragonSoulTypeInfo(self, vnum):
            if not self.__IsDragonSoul(vnum):
                return DragonSoulRefineWindow.INVALID_DRAGON_SOUL_INFO 
            ds_type = vnum / 10000
            grade = vnum % 10000 /1000
            step = vnum % 1000 / 100
            strength = vnum % 100 / 10
            
            return (ds_type, grade, step, strength)
        
        def __MakeDragonSoulVnum(self, ds_type, grade, step, strength):
            return ds_type * 10000 + grade * 1000 + step * 100 + strength * 10

        ## ؛َ ½½·ش ¼±إأ Event
        def __SelectRefineEmptySlot(self, selectedSlotPos):
            try:
                if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
                    return
                
                if selectedSlotPos >= self.refineSlotLockStartIndex:
                    return
         
                if mouseModule.mouseController.isAttached():
                    attachedSlotType = mouseModule.mouseController.GetAttachedType()
                    attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
                    attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
                    attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
                    mouseModule.mouseController.DeattachObject()

                    if uiPrivateShopBuilder.IsBuildingPrivateShop():
                        chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP)
                        return

                    attachedInvenType = player.SlotTypeToInvenType(attachedSlotType)

                    if player.INVENTORY == attachedInvenType and player.IsEquipmentSlot(attachedSlotPos):
                        return

                    if player.INVENTORY != attachedInvenType and player.DRAGON_SOUL_INVENTORY != attachedInvenType:
                        return

                    if TRUE == self.__SetItem((attachedInvenType, attachedSlotPos), selectedSlotPos, attachedItemCount):
                        self.Refresh()

            except Exception, e:
                import dbg
                dbg.TraceError("Exception : __SelectRefineEmptySlot, %s" % e)

        # إ¬¸¯ہ¸·خ ½½·ش؟،¼­ »èء¦.
        def __SelectRefineItemSlot(self, selectedSlotPos):
            if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
                return

            try:
                if not selectedSlotPos in self.refineItemInfo:
                    # »ُ·خ؟î ¾ئہجإغہ» °­ب­أ¢؟، ؟أ¸®´آ ہغ¾÷.
                    if mouseModule.mouseController.isAttached():
                        attachedSlotType = mouseModule.mouseController.GetAttachedType()
                        attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
                        attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
                        attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
                        mouseModule.mouseController.DeattachObject()

                        if uiPrivateShopBuilder.IsBuildingPrivateShop():
                            chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP)
                            return

                        attachedInvenType = player.SlotTypeToInvenType(attachedSlotType)

                        if player.INVENTORY == attachedInvenType and player.IsEquipmentSlot(attachedSlotPos):
                            return

                        if player.INVENTORY != attachedInvenType and player.DRAGON_SOUL_INVENTORY != attachedInvenType:
                            return

                        self.AutoSetItem((attachedInvenType, attachedSlotPos), 1)
                    return
                elif mouseModule.mouseController.isAttached():
                    return
     
                attachedInvenType, attachedSlotPos, attachedItemCount = self.refineItemInfo[selectedSlotPos]
                selectedItemVnum = player.GetItemIndex(attachedInvenType, attachedSlotPos)
                    
                # °­ب­أ¢؟،¼­ »èء¦ ¹× ؟ّ·، ہخ؛¥ہا ¾ئہجإغ ؤ«؟îئ® ب¸؛¹
                invenType, invenPos, itemCount = self.refineItemInfo[selectedSlotPos]
                remainCount = player.GetItemCount(invenType, invenPos)
                player.SetItemCount(invenType, invenPos, remainCount + itemCount)
                del self.refineItemInfo[selectedSlotPos]
                    
                # °­ب­أ¢ہج ؛ٌ¾ْ´ظ¸é, أت±âب­
                if not self.refineItemInfo:
                    self.__Initialize()
                else:
                    item.SelectItem(selectedItemVnum)
                    # ¾ّ¾ط ¾ئہجإغہج °­ب­¼®ہج¾ْ´ظ¸é °­ب­ ·¹اا½أ أت±âب­
                    if (item.ITEM_TYPE_MATERIAL == item.GetItemType() \
                        and (item.MATERIAL_DS_REFINE_NORMAL <= item.GetItemSubType() and item.GetItemSubType() <= item.MATERIAL_DS_REFINE_HOLLY)):
                        self.currentRecipe = {}
                        self.wndMoney.SetText(localeInfo.NumberToMoneyString(0))
                    # ؟ëب¥¼®ہج¾ْ´ظ¸é, 
                    # strength°­ب­°، ¾ئ´ر °و؟ى, °­ب­أ¢؟، ´ظ¸¥ ؟ëب¥¼®ہج ³²¾ئہضہ¸¹ا·خ, ·¹½أاا¸¦ أت±âب­اد¸é ¾بµت.
                    # strength°­ب­ہا °و؟ى, °­ب­ ·¹½أاا´آ °­ب­¼®؟، ء¾¼سµب °حہج¹ا·خ ´ظ¸¥ أ³¸®از ات؟ن°، ¾ّہ½.
                    else:
                        pass
                        
            except Exception, e:
                import dbg
                dbg.TraceError("Exception : __SelectRefineItemSlot, %s" % e)
            
            self.Refresh()
        
        def __OverInRefineItem(self, slotIndex):
            if self.refineItemInfo.has_key(slotIndex):
                inven_type, inven_pos, item_count = self.refineItemInfo[slotIndex]
                self.tooltipItem.SetInventoryItem(inven_pos, inven_type)

        def __OverInResultItem(self, slotIndex):
            if self.resultItemInfo.has_key(slotIndex):
                inven_type, inven_pos, item_count = self.resultItemInfo[slotIndex]
                self.tooltipItem.SetInventoryItem(inven_pos, inven_type)
            
        def __OverOutItem(self):
            if self.tooltipItem:
                self.tooltipItem.HideToolTip()

        def __PressDoRefineButton(self):
            for i in xrange(self.refineSlotLockStartIndex):
                if not i in self.refineItemInfo:
                    self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_NOT_ENOUGH_MATERIAL)
                    self.wndPopupDialog.Open()
                    
                    return
     
            player.SendDragonSoulRefine(DragonSoulRefineWindow.DS_SUB_HEADER_DIC[self.currentRefineType], self.refineItemInfo)
                
        def OnPressEscapeKey(self):
            self.Close()
            return TRUE
        
        def Refresh(self):
            self.__RefreshRefineItemSlot()
            self.__ClearResultItemSlot()
                
        def __RefreshRefineItemSlot(self):
            try:
                for slotPos in xrange(self.wndRefineSlot.GetSlotCount()):
                    self.wndRefineSlot.ClearSlot(slotPos)
                    if slotPos < self.refineSlotLockStartIndex:
                        # self.refineItemInfo[slotPos]ہا ء¤؛¸ب®ہخ
                        # (½اء¦·خ ¾ئہجإغہج ء¸ہçاد´آءِ ب®ہخ)
                        # ء¸ہç -> ¾ئہجإغ ¾ئہجؤـہ» ½½·ش؟، ¼آئأ.
                        # ؛ٌء¸ہç -> ¾ئہجإغہج ¾ّہ¸¹ا·خ °­ب­أ¢؟،¼­ »èء¦.
                        if slotPos in self.refineItemInfo:
                            invenType, invenPos, itemCount = self.refineItemInfo[slotPos]
                            itemVnum = player.GetItemIndex(invenType, invenPos)

                            # if itemVnum:
                            if itemVnum:
                                self.wndRefineSlot.SetItemSlot(slotPos, player.GetItemIndex(invenType, invenPos), itemCount)
                            else:
                                del self.refineItemInfo[slotPos]

                        # ؛َ ½½·ش؟، reference ¾ئہجؤـہ» alpha 0.5·خ ¼آئأ.
                        if not slotPos in self.refineItemInfo:
                            try:
                                reference_vnum = 0
                                # strength °­ب­ہد ¶§´آ,
                                # 0¹ّ ½½·ش؟، °­ب­¼®ہ», 1¹ّ ½½·ش؟، ؟ëب¥¼®ہ» ³ُ´آ´ظ.
                                if DragonSoulRefineWindow.REFINE_TYPE_STRENGTH == self.currentRefineType:
                                    if DragonSoulRefineWindow.REFINE_STONE_SLOT == slotPos:
                                        reference_vnum = 100300
                                else:
                                    reference_vnum = self.__MakeDragonSoulVnum(*self.currentRecipe["ds_info"])
                                if 0 != reference_vnum:
                                    item.SelectItem(reference_vnum)
                                    itemIcon = item.GetIconImage()
                                    (width, height) = item.GetItemSize()
                                    self.wndRefineSlot.SetSlot(slotPos, 0, width, height, itemIcon, (1.0, 1.0, 1.0, 0.5))
                                    # slot ؟ىأّ اد´ـ؟، ¼‎ہع ¶ك¸é ¾ب ؟¹»ف...
                                    self.wndRefineSlot.SetSlotCount(slotPos, 0)
                            except:
                                pass
                        # refineSlotLockStartIndex ؛¸´ظ ہغہ؛ ½½·شہ؛ ´فبù ہج¹جءِ¸¦ ؛¸؟©ءض¸é ¾بµت.
                        self.wndRefineSlot.HideSlotBaseImage(slotPos)
                    # slotPos >= self.refineSlotLockStartIndex:
                    else:
                        # ء¤»َہûہخ °و؟ى¶َ¸é ہج if¹®؟، µé¾î°¥ ہدہ؛ ¾ّ°عءِ¸¸,
                        # (¾ضأت؟، ہخµ¦½؛°، refineSlotLockStartIndex ہج»َہخ ½½·ش؟،´آ ¾ئہجإغہ» ³ضءِ ¸ّاد°ش اك±â ¶§¹®)
                        # ب¤½أ ¸ً¸¦ ؟،·¯؟، ´ë؛ٌاش.
                        if slotPos in self.refineItemInfo:
                            invenType, invenPos, itemCount = self.refineItemInfo[slotPos]
                            remainCount = player.GetItemCount(invenType, invenPos)
                            player.SetItemCount(invenType, invenPos, remainCount + itemCount)
                            del self.refineItemInfo[slotPos]
                        # refineSlotLockStartIndex ہج»َہخ ½½·شہ؛ ´فبù ہج¹جءِ¸¦ ؛¸؟©ءà¾كاش.
                        self.wndRefineSlot.ShowSlotBaseImage(slotPos)
                
                # °­ب­أ¢؟، ¾ئ¹«·± ¾ئہجإغہج ¾ّ´ظ¸é, أت±âب­اطءـ.
                # ہ§؟،¼­ ءك°£ ءك°£؟، "del self.refineItemInfo[slotPos]"¸¦ اك±â ¶§¹®؟،,
                # ؟©±â¼­ ار¹ّ أ¼إ©اطءà¾كاش.
                if not self.refineItemInfo:
                    self.__Initialize()
     
                self.wndRefineSlot.RefreshSlot()
            except Exception, e:
                import dbg
                dbg.TraceError("Exception : __RefreshRefineItemSlot, %s" % e)
        
        def __GetEmptySlot(self, itemVnum = 0):
            # STRENGTH °­ب­ہا °و؟ى, ؟ëب¥¼® ½½·ش°ْ °­ب­¼® ½½·شہج ±¸؛ذµا¾îہض±â ‹ڑ¹®؟،
            # vnumہ» ¾ث¾ئ¾ك ار´ظ.
            if DragonSoulRefineWindow.REFINE_TYPE_STRENGTH == self.currentRefineType:
                if 0 == itemVnum:
                    return -1
                
                if self.__IsDragonSoul(itemVnum):
                    if not DragonSoulRefineWindow.DRAGON_SOUL_SLOT in self.refineItemInfo:
                        return DragonSoulRefineWindow.DRAGON_SOUL_SLOT
                else:
                    if not DragonSoulRefineWindow.REFINE_STONE_SLOT in self.refineItemInfo:
                        return DragonSoulRefineWindow.REFINE_STONE_SLOT
            else:
                for slotPos in xrange(self.wndRefineSlot.GetSlotCount()):
                    if not slotPos in self.refineItemInfo:
                        return slotPos
            
            return -1

        def AutoSetItem(self, inven, itemCount):
            invenType, invenPos = inven
            itemVnum = player.GetItemIndex(invenType, invenPos)
            emptySlot = self.__GetEmptySlot(itemVnum)
            if -1 == emptySlot:
                return
            
            self.__SetItem((invenType, invenPos), emptySlot, itemCount)

        def __ClearResultItemSlot(self):
            self.wndResultSlot.ClearSlot(0)
            self.resultItemInfo = {}
        
        def RefineSucceed(self, inven_type, inven_pos):
            self.__Initialize()
            self.Refresh()
            
            itemCount = player.GetItemCount(inven_type, inven_pos)
            if itemCount > 0:
                self.resultItemInfo[0] = (inven_type, inven_pos, itemCount)
                self.wndResultSlot.SetItemSlot(0, player.GetItemIndex(inven_type, inven_pos), itemCount)
        
        def    RefineFail(self, reason, inven_type, inven_pos):
            if net.DS_SUB_HEADER_REFINE_FAIL == reason:
                self.__Initialize()
                self.Refresh()
                itemCount = player.GetItemCount(inven_type, inven_pos)
                if itemCount > 0:
                    self.resultItemInfo[0] = (inven_type, inven_pos, itemCount)
                    self.wndResultSlot.SetItemSlot(0, player.GetItemIndex(inven_type, inven_pos), itemCount)
            else:
                self.Refresh()

        def SetInventoryWindows(self, wndInventory, wndDragonSoul):
            self.wndInventory = wndInventory
            self.wndDragonSoul = wndDragonSoul
     

     

    dragon_soul_table.txt:

    Spoiler

    dragon_soul_table.txt

    # ؟ëب¥¼® إ×ہج؛يµé...                                        
    # TAB ہ¸·خ ±¸؛ذµا´د ؟¢¼؟·خ ؛¼ °ح.                                        
    # vimہ¸·خ ؛»´ظ¸é إا°£ °£°فہ» ء¶ء¤اد°ي ؛¼ °ح. (set ts=16 أكأµ)                                        
    # إ« µû؟با¥·خ ¹­ہخ ؛خ؛ذہ؛ ¾ب ±¸؛ذ.                                         
    # \" ہجµ‎°إ ءِ؟ّ ¾باش.                                        
                                            
    # ؟ëب¥¼® Vnum؟، ´ëار comment                                        
    # ITEM VNUMہ» 10¸¸ ہع¸®؛خإح, FEDCBA¶َ°ي ار´ظ¸é                                        
    # FE : ؟ëب¥¼® ء¾·ù.    D : µî±ق                                    
    # C : ´ـ°è            B : °­ب­                            
    # A : ؟©¹ْہا ¹ّب£µé...                                         
    # ہج أ¼°è؟،¼­ ¹‏¾î³ھ´آ ؟ëب¥¼®ہ؛ ؟ë¼­ادءِ ¾تہ» °حہج´ظ.                                        
    # ok?                                        
    # ؟ëب¥¼®ہج ³ت¹«³ھµµ ¸¹±â ¶§¹®؟، Vnumہج ءك±¸³­¹وہج¸é,                                        
    #    Special item group؟،¼­ groupہ¸·خ ¹­¾î¼­ أ³¸®اد±âµµ بûµé°ي-_-,                                    
    #    VnumHelper.h؟،¼­ أ³¸®اد´آ °حµµ بûµé´ظ. -_-                                  
    #     Group ہâ´آµ¥¸¸ ¼ِأµءظہ» ½ل¾كاز ءِµµ...                                    
    # Vnum؟، أ¼°è¸¦ ہâ¾ئ¼­ ہع¸´¼ِ ±â¹فہ¸·خ اط¾ك¸¸ ار´ظ.                                        
                                            
    # Tableہ؛ "Group"°ْ "ہج¸§"ہ¸·خ ½أہغار´ظ.                                        
    # Table ³»؛خ؟، ¶ا Tableہج ہضہ» ¼ِ ہض´ظ.                                        
    # ±×·¸´ظ°ي ¾û¶×ار إ×ہج؛يہ» ½ل³ُ´آ´ظ°ي ¼­¹ِ°، ہخ½ؤاد´آ °حہ؛ ¾ئ´د´ظ.                                        
    # ات؟نار إ×ہج؛يہ؛ ´ظہ½°ْ °°´ظ.                                        
    # BaseVnums, BaseAttrs, AddtionalAttrs, AttrSettings, UpgradeTable, ImproveTable,                                        
    # RefineTable, UpgradeMoneys, ImproveTable, RefineMoneys, WeightTable, DurationTable,                                        
    # DragonHeartExtTable, DragonSoulExtTable                                        
                                            
    # ب®·ü إ×ہج؛يہا °ھہ؛ ±â؛»ہûہ¸·خ floatہج´ظ.                                        
                                            
    # ءك؟ن !!!!!                                        
    # إ×ہج؛يہ» ؛¸´ظ ؛¸¸é #--#ہج¶َ ¾²؟©ءّ ؛خ؛ذہج ہض´آµ¥ ہ‎´ë·خ ءِ؟ىءِ ¸»°ح.                                        
    #                                         
                                            
    # ہج°ا vnum to ہج¸§ mapping.                                        
    # ہج°ة·خ ئ¯ء¤ vnumہا ؟ëب¥¼®ہج ¾î¶² ء¾·ùہا ؟ëب¥¼®ہخءِ(ہج¸§ہج ¹؛ءِ) ¾ث¾ئ³½ بؤ,                                        
    # ±× ؟ëب¥¼®؟، اط´çاد´آ ¼س¼؛ہ» أ£´آ´ظ.                                        
    # ¶اار ؟©±â؟، ہûاôہضءِ ¾تہ؛ ؟ëب¥¼®ہج ¹ط؟، Group ء¤ہااد´آ ؛خ؛ذ؟، ہض´ظ¸é                                        
    # ؟،·¯.                                        
    Group VnumMapper                                        
    {                                        
        # ½أہغ vnum.                                    
        # ؟©±â¼­ ½ل¾كاز ؛خ؛ذہ؛ ہ§؟، ¼³¸يار FE؟، اط´çاد´آ ؛خ؛ذ.                                     
        # FE¸¦ ½لءظ °ح                                    
        #--#    DragonSoulName    Type                            
        1    ¹é·و¼®    11                            
        2    ب­·و¼®    12                            
        3    ا³·و¼®    13                            
        4    أ¶·و¼®    14                            
        5    ³ْ·و¼®    15                            
        6    بو·و¼®    16                            
    }                                        
                                            
    Group BasicApplys                                        
    {                                        
        Group ¹é·و¼®                                    
        {                                    
        # 1؛خإح ¼ّ¼­´ë·خ ؛خ؟©µب´ظ.                                    
            #--#    Apply_Type    Apply_value                        
            1    INT    10                        
            2    RESIST_ICE    10                        
        }                                    
                                            
        Group ب­·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value                        
            1    STR    10                        
            2    RESIST_FIRE    10
        }                                    
        Group ا³·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value                        
            1    MAX_SP    500                        
            2    RESIST_WIND    10                        
        }                                    
        Group أ¶·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value                        
            1    DEX    10                        
            2    RESIST_EARTH    10                        
        }                                    
        Group ³ْ·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value                        
            1    MAX_HP    1500                        
            2    RESIST_ELEC    10                        
        }                                    
        Group بو·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value                        
            1    CON    10                        
            2    RESIST_DARK    10                        
        }                                    
    }                                        
                                            
    Group AdditionalApplys                                        
    {                                        
        Group ¹é·و¼®                                    
        {                                    
        # ¾صہا أ¹ ؤأ·³ہ؛ ¼ّ¼­؟ح °ü°è ¾ّ´ظ. أ¶ہْب÷ ب®·ü؟، µû¶َ ¼س¼؛ہج ؛خ؟©µة »سہج´ظ.                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    MAGIC_ATT_GRADE    15    10                    
            2    MAGIC_DEF_GRADE    15    10                    
            3    SKILL_DAMAGE_BONUS    15    10                    
            4    SKILL_DEFEND_BONUS    15    10                    
        }                                    
        Group ب­·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    ATT_BONUS    300    10                    
            2    DEF_BONUS    200    10                    
            3    NORMAL_HIT_DAMAGE_BONUS    15    10                    
            4    NORMAL_HIT_DEFEND_BONUS    15    10                    
        }                                    
        Group ا³·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    MAX_HP    3000    10                    
            2    HP_REGEN    10    10                    
            3    STEAL_HP    10    10                    
            4    KILL_HP_RECOVER    5    10                    
            5    MAX_HP_PCT    20    10                    
        }                                    
        Group أ¶·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    ATT_BONUS_TO_WARRIOR    15    10                    
            2    ATT_BONUS_TO_ASSASSIN    15    10                    
            3    ATT_BONUS_TO_SURA    15    10                    
            4    ATT_BONUS_TO_SHAMAN    15    10                    
            5    RESIST_WARRIOR    15    10                    
            6    RESIST_ASSASSIN    15    10                    
            7    RESIST_SURA    15    10                    
            8    RESIST_SHAMAN    15    10                    
        }                                    
        Group ³ْ·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    MAX_SP    1500    10                    
            2    SP_REGEN    10    10                    
            3    STEAL_SP    10    10                    
            4    KILL_SP_RECOVER    5    10                    
            5    MAX_SP_PCT    20    10                    
        }                                    
        Group بو·و¼®                                    
        {                                    
            #--#    Apply_Type    Apply_value    Prob                    
            1    BLOCK    10    10                    
            2    DODGE    10    10                    
            3    REFLECT_MELEE    10    10                    
            4    RESIST_CRITICAL    10    10                    
            5    RESIST_PENETRATE    10    10                    
        }                                    
    }                                        
                                            
    # ؟©±â؛خإح Default¸¦ µذ´ظ.                                        
    # Default °ھہ» ¸ًµç ؟ëب¥¼®ہج µû¸£°ي,                                         
    # ئ¯ء¤ °ھہج ہض´آ ؟ëب¥¼®ہ؛ Default¸¦ ¹ظإءہ¸·خ ±× °ھہ» µ¤¾î¾´´ظ.                                        
    # µî±ق؟، µû¸¥ ¼س¼؛¼ِ                                        
    # ´ـ, basis, add_max´آ 3؛¸´ظ إ©¸é ¾بµب´ظ.                                        
    Group ApplyNumSettings                                        
    {                                        
        Group Default                                    
        {                                    
            #--#    GRADE_NORMAL    GRADE_BRILLIANT    GRADE_RARE    GRADE_ANCIENT    GRADE_LEGENDARY            
            basis    1    1    1    2    2            
            add_min    0    0    0    0    0            
            add_max    0    1    2    2    3            
        }                                    
    #    Group ¹é·و¼®                                    
    #    {                                    
    #        #--#    GRADE_NORMAL    GRADE_BRILLIANT    GRADE_RARE    GRADE_ANCIENT    GRADE_LEGENDARY            
    #        basis    1    1    1    2    2            
    #    }                                    
    }                                        
                                            
    # ؟ëب¥¼® °،ءكؤ، إ×ہج؛ي.                                        
    # ہج إ×ہج؛ي؟،¼­ °ھہج 0ہج¶َ¸é ±× ہج»َہا °­ب­´آ ؛ز°،´ةاد´ظ°ي ئا´ـار´ظ.                                        
    Group WeightTables                                        
    {                                        
        Group Default                                    
        {                                    
            Group GRADE_NORMAL                                
            {                                
        #        ´ـ°è    °­ب­                        
                #--#    0    1    2    3    4    5    6
                STEP_LOWEST    1    2    3    0    0    0    0
                STEP_LOW    2    3    4    0    0    0    0
                STEP_MID    3    4    5    6    0    0    0
                STEP_HIGH    4    5    6    7    0    0    0
                STEP_HIGHEST    5    6    7    8    10    0    0
            }                                
            Group GRADE_BRILLIANT                                
            {                                
                STEP_LOWEST    3    4    5    6    0    0    0
                STEP_LOW    4    5    6    8    0    0    0
                STEP_MID    5    6    8    10    0    0    0
                STEP_HIGH    6    8    10    12    15    0    0
                STEP_HIGHEST    8    10    12    15    20    0    0
            }                                
            Group GRADE_RARE                                
            {                                
                #--#    0    1    2    3    4    5    6
                STEP_LOWEST    6    7    9    11    15    0    0
                STEP_LOW    7    9    11    15    20    0    0
                STEP_MID    9    11    15    20    25    0    0
                STEP_HIGH    11    15    20    25    30    0    0
                STEP_HIGHEST    15    20    25    30    40    0    0
            }                                
            Group GRADE_ANCIENT                                
            {                                
                #--#    0    1    2    3    4    5    6
                STEP_LOWEST    10    12    15    18    20    0    0
                STEP_LOW    12    15    18    20    25    0    0
                STEP_MID    15    18    20    25    35    0    0
                STEP_HIGH    18    20    25    35    40    0    0
                STEP_HIGHEST    20    25    35    40    60    80    0
            }                                
            Group GRADE_LEGENDARY                                
            {                                
                #--#    0    1    2    3    4    5    6
                STEP_LOWEST    30    35    40    45    50    0    0
                STEP_LOW    35    40    45    50    55    0    0
                STEP_MID    40    45    50    55    65    0    0
                STEP_HIGH    45    50    55    65    75    90    0
                STEP_HIGHEST    50    55    65    75    90    105    120
            }                                
        }                                    
    #    Group ¹é·و¼®                                    
    #    {                                    
    #        Group GRADE_NORMAL                                
    #        {                                
    #            #--#    0    1    2    3    4    5    6
    #            STEP_LOWEST    10    20    53    0    0    0    0
    #            STEP_HIGHEST    50    60    37    18    10    0    0
    #        }                                
    #    }                                    
    }
                                            
    # °³·® table                                    
    Group RefineGradeTables                                    
    {                                    
        Group Default                                
        {                                
            #--#    NEED_COUNT    FEE    GRADE_NORMAL    GRADE_BRILLIANT    GRADE_RARE    GRADE_ANCIENT    GRADE_LEGENDARY
            GRADE_NORMAL    3    30000    70    25    5    0    0
            GRADE_BRILLIANT    3    50000    25    70    5    0    0
            GRADE_RARE    3    70000    8    15    75    2    0
            GRADE_ANCIENT    3    100000    2    3    8    85    2
        }                                
    }                                    
                                        
    Group RefineStepTables                                    
    {                                    
        Group Default                                
        {                                
            #--#    NEED_COUNT    FEE    STEP_LOWEST    STEP_LOW    STEP_MID    STEP_HIGH    STEP_HIGHEST
            STEP_LOWEST    4    20000    70    25    5    0    0
            STEP_LOW    3    30000    25    70    5    0    0
            STEP_MID    2    40000    10    20    80    1    0
            STEP_HIGH    1    50000    2    3    5    89    1
        }                                
    }                                    
                                        
    Group RefineStrengthTables                                    
    {                                    
        Group Default                                
        {                                
            # MATERIAL_DS_REFINE_NORMAL : GRADE_NORMAL °­ب­¼®                            
            # MATERIAL_DS_REFINE_BLESSED : أà؛¹ہا °­ب­¼®                            
            # MATERIAL_DS_REFINE_HOLLY : ؟ë½إہا °­ب­¼®                            
            #--#    FEE    0    1    2    3    4    5
            MATERIAL_DS_REFINE_NORMAL    10000    100    80    70    50    30    20
            MATERIAL_DS_REFINE_BLESSED    20000    100    88    77    55    33    22
            MATERIAL_DS_REFINE_HOLLY    30000    100    90    80    60    40    30
        }                                
    }                                    

    # ؟ë½ةہ؛ 100000(ہس½أ vnum)ہج°ي, أوہü·®ہ؛ socket (0)؟، ¹ع¾ئ³ض´آ´ظ.                                        
    # ´ـ, special item group؟، vnum 10053ہ¸·خ ء¤ہاµا¾îہض´آ ´ظ¸¥ ؟ë½ةµéہ؛ Value(0)؟، ہض´آ °ھہج أوہü·®.                                        
    # ؟ë½ة أكأâ ب®·ü إ×ہج؛ي                                        
    # أوہü·®ہج 0ہج¶َ´آ °حہ؛ أكأâ ½ائذ¶َ´آ °إ.                                        
    Group DragonHeartExtTables                                        
    {                                        
        Group Default                                    
        {                                    
            #--#    1    2    3    4    5            
        # ؟ë½ة أوہü·®(%)                                    
            CHARGING    0    5    15    30    50            
        #    µî±ق°ْ أوہü·®؟، µû¸¥ ب®·ü إ×ہج؛ي                                
        #    µî±ق     ب®·ü                            
            GRADE_NORMAL    50    35    12    2    1            
            GRADE_BRILLIANT    35    40    20    4    1            
            GRADE_RARE    20    35    30    12    3            
            GRADE_ANCIENT    15    30    35    15    5            
            GRADE_LEGENDARY    10    20    40    20    10            
        }                                    
    }                                        
                                            
    # ؟ëب¥¼® أكأâ ب®·ü إ×ہج؛ي.                                        
    # ہج°حµµ 1, 2¾بہج ہض¾î إëاصاز ¼ِ ہض´آ ¹و¾بہ¸·خ °¨.                                        
    # أكأâ ب®·üہ» ء¤از ¼ِ ہض°ي, ½ائذ ؛خ»ê¹°µµ ء¤از ¼ِ ہضہ½.(0ہج¸é ¾بءـ)                                        
    Group DragonSoulExtTables                                        
    {                                        
        Group Default                                    
        {                                    
                    #½ائذ ؛خ»ê¹°                        
            #--#    Prob    ByProduct                        
            GRADE_NORMAL    50    30270                        
            GRADE_BRILLIANT    40    30270                        
            GRADE_RARE    30    30270                        
            GRADE_ANCIENT    30    30270                        
            GRADE_LEGENDARY    20    30270                        
        }                                    
    }                                        
     

    some one help me for fix this bug

    thx for all

  4. Hi, Devs

    Thx always to respond to my problems
    I encountered a strange problem in the game
    When you move the server to host another
    The problem is when I use anything in inventory see
    Message comes at the chat
    (affect are not loaded!)
    My serverfile depends on the source Marty
    But the source not with me  to know the cause of the problem
    But I was able to locate a problem in
    mysql
    i change completely and after change the mysql fixed
    anyone  can solution please,
    thx

    sorry iam bad in english

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.