Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/24/13 in Posts

  1. Source inserting shop info into database. Few source lines and a little bit of magic php + js Decorated with new Twitter Bootstrap Remake of this http://www.eathena.ws/board/index.php?showtopic=255406 Installation /src/map/vending.c Function: vending_closevending After clif_closevendingboard(&sd->bl, 0); Add //vending to db [Sanasol] if( SQL_ERROR == Sql_Query(mmysql_handle,"delete from `vending` where `char_id`='%d'", sd->status.char_id) ) Sql_ShowDebug(mmysql_handle); //vending to db [Sanasol] Function: vending_purchasereq After // vending item pc_additem(sd, &vsd->status.cart[idx], amount, LOG_TYPE_VENDING); vsd->vending[vend_list[i]].amount -= amount; pc_cart_delitem(vsd, idx, amount, 0, LOG_TYPE_VENDING); clif_vendingreport(vsd, idx, amount); Add //vending to db [Sanasol] if(vsd->vending[vend_list[i]].amount >= 1) { if( SQL_ERROR == Sql_Query(mmysql_handle,"update `vending` set `amount`='%d' where `char_id`='%d' and `index`='%d'", vsd->vending[vend_list[i]].amount, vsd->status.char_id, vend_list[i]) ) Sql_ShowDebug(mmysql_handle); } else { if( SQL_ERROR == Sql_Query(mmysql_handle,"delete from `vending` where `char_id`='%d' and `index`='%d'", vsd->status.char_id, vend_list[i]) ) Sql_ShowDebug(mmysql_handle); } //vending to db [Sanasol] Function: vending_openvending After clif_openvending(sd,sd->bl.id,sd->vending); Add //vending to db [Sanasol] for( j = 0; j < count; j++ ) { int index = sd->vending[j].index; struct item_data* data = itemdb_search(sd->status.cart[index].nameid); int nameid = ( data->view_id > 0 ) ? data->view_id : sd->status.cart[index].nameid; int amount = sd->vending[j].amount; int price = cap_value(sd->vending[j].value, 0, (unsigned int)battle_config.vending_max_value); if( SQL_ERROR == Sql_Query(mmysql_handle,"INSERT INTO `vending` (`char_id`,`name`,`index`,`nameid`,`amount`,`price`,`refine`,`card0`,`card1`,`card2`,`card3`) VALUES (%d, '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')", sd->status.char_id, message, j, nameid, amount, price, sd->status.cart[index].refine, sd->status.cart[index].card[0], sd->status.cart[index].card[1], sd->status.cart[index].card[2], sd->status.cart[index].card[3]) ) Sql_ShowDebug(mmysql_handle); } //vending to db [Sanasol] /src/map/unit.c After case BL_PC: { struct map_session_data *sd = (struct map_session_data*)bl; if(sd->shadowform_id){ //if shadow target has leave the map struct block_list *d_bl = map_id2bl(sd->shadowform_id); if( d_bl ) status_change_end(d_bl,SC__SHADOWFORM,INVALID_TIMER); } //Leave/reject all invitations. if(sd->chatID) chat_leavechat(sd,0); if(sd->trade_partner) trade_tradecancel(sd); Add //vending to db [Sanasol] vending_closevending(sd); //vending to db [Sanasol] Create table CREATE TABLE IF NOT EXISTS `vending` ( `char_id` int(11) unsigned NOT NULL DEFAULT '0', `name` varchar(50) DEFAULT NULL, `index` tinyint(3) unsigned NOT NULL DEFAULT '0', `nameid` int(11) unsigned NOT NULL DEFAULT '0', `amount` int(11) unsigned NOT NULL DEFAULT '0', `price` bigint(20) unsigned NOT NULL DEFAULT '0', `refine` tinyint(3) unsigned NOT NULL DEFAULT '0', `card0` smallint(11) NOT NULL DEFAULT '0', `card1` smallint(11) NOT NULL DEFAULT '0', `card2` smallint(11) NOT NULL DEFAULT '0', `card3` smallint(11) NOT NULL DEFAULT '0', PRIMARY KEY (`char_id`,`index`), KEY `char_id` (`char_id`), KEY `nameid` (`nameid`) ) ENGINE=MyISAM; Screenshots Main page Map position tooltip For map showing need *.gat files Approximate position, accurate display at map could not to achieve And Search Item images very old, you need to add the new items FluxCP Screens [spoiler=Main Vending DB] [spoiler=Search] [spoiler=Map] Demo FluxCP Demo Sources Sources Sources FluxCP Addon Sources is absolutely free, but if you want you can do donation In attach web scripts with items images
    5 points
  2. 2012-04-10aRagexe_v3 dff included. Allow Chat Flood Always Call SelectKoreaClientInfo() Chat @-Bug Disable 1rag1 & 1sak1 Disable 4 Letter User Character Limit Disable 4 Letter User ID Limit Disable 4 Letter User Password Limit Disable HShield Disable Nagle Algorithm Disable Ragexe Filename Check Enable 64K hairstyles Enable ASCII in Text Enable Aura Over Level 99 And Level 150 Enable DNS Support Enable Multiple GRFs Enforce Official Login Background Extended Chat Box Extended Chat Room Box Extended PM Box Force Send Client Hash Packet Increase Headgear View ID Load LUA Before LUB Only First Login Background Read Data Folder First Read msgstringtable.txt Read questid2display.txt Remove Gravity Logo Remove Hourly Game Grade Banner Remove Hourly Playtime-Minder Remove Login Auto Close Remove Login Error Code Remove Serial Display Restore Login Window Skip Packet Header Obsfucation Skip License Screen Translate Client Translate Client Into English Use Normal Guild Brackets Use Plain Text Descriptions Use Ragnarok Icon Fixed Taekwon Job Name For Lang Type 0 Note! things need to check to make it work properly. src\common\mmo.h make sure the #ifndef PACKETVER #define PACKETVER 20120410 and for your packet_db db\packet_db.txt just use this. // Client<->Map Packet Database // // Structure of Database: // PacketType,PacketLength[,Name,FieldIndex1:FieldIndex2:FieldIndex3:...] // // 01. PacketType ID of the packet. // 02. PacketLength Length of the packet. If 0, packet is disabled in current packet version. If -1, packet has variable size. // 03. Name Name of the packet parser function (optional, for incoming packets only). // 04. FieldIndex Specifies the offset of a packet field in bytes from the begin of the packet (only specified when Name is given). // Can be 0, when the layout is not known. // ... // // NOTE: Up to MAX_PACKET_POS (typically 20) field indexes may be used. // // The packet database allows you to add support for new clients, // because packets change every release. // // Note: Every packet version needs a wanttoconnection specification, since // that is the packet used to identify a client's version. // If multiple versions have the same connection packet, the higher version // will be used (unless the lower one is specified as the default) // // Incoming packets have their parser function and layout specified, which enables // them for the current and all higher versions, unless explicitely disabled. // // Outgoing packets must be specified in order to enable them for the current // and all higher versions, unless explicitely disabled. Packets that are not // enabled for a packet version are silently discarded when sent as multicast. // // Every packet version inherits packet definitions from the previous (lower) // packet version. // // Main packet version of the DB to use (default = max available version) // Client detection is faster when all clients use this version. // Version 23 is the latest Sakexe (above versions are for Renewal clients) //packet_db_ver: 25 packet_db_ver: 30 packet_ver: 5 0x0064,55 0x0065,17 0x0066,6 0x0067,37 0x0068,46 0x0069,-1 0x006a,23 0x006b,-1 0x006c,3 0x006d,108 0x006e,3 0x006f,2 0x0070,6 0x0071,28 0x0072,19,wanttoconnection,2:6:10:14:18 0x0073,11 0x0074,3 0x0075,-1 0x0076,9 0x0077,5 0x0078,54 0x0079,53 0x007a,58 0x007b,60 0x007c,41 0x007d,2,loadendack,0 0x007e,6,ticksend,2 0x007f,6 0x0080,7 0x0081,3 0x0082,2 0x0083,2 0x0084,2 0x0085,5,walktoxy,2 0x0086,16 0x0087,12 0x0088,10 0x0089,7,actionrequest,2:6 0x008a,29 0x008b,2 0x008c,-1,globalmessage,2:4 0x008d,-1 0x008e,-1 //0x008f,-1 0x0090,7,npcclicked,2 0x0091,22 0x0092,28 0x0093,2 0x0094,6,getcharnamerequest,2 0x0095,30 0x0096,-1,wis,2:4:28 0x0097,-1 0x0098,3 0x0099,-1,broadcast,2:4 0x009a,-1 0x009b,5,changedir,2:4 0x009c,9 0x009d,17 0x009e,17 0x009f,6,takeitem,2 0x00a0,23 0x00a1,6 0x00a2,6,dropitem,2:4 0x00a3,-1 0x00a4,-1 0x00a5,-1 0x00a6,-1 0x00a7,8,useitem,2:4 0x00a8,7 0x00a9,6,equipitem,2:4 0x00aa,7 0x00ab,4,unequipitem,2 0x00ac,7 //0x00ad,-1 0x00ae,-1 0x00af,6 0x00b0,8 0x00b1,8 0x00b2,3,restart,2 0x00b3,3 0x00b4,-1 0x00b5,6 0x00b6,6 0x00b7,-1 0x00b8,7,npcselectmenu,2:6 0x00b9,6,npcnextclicked,2 0x00ba,2 0x00bb,5,statusup,2:4 0x00bc,6 0x00bd,44 0x00be,5 0x00bf,3,emotion,2 0x00c0,7 0x00c1,2,howmanyconnections,0 0x00c2,6 0x00c3,8 0x00c4,6 0x00c5,7,npcbuysellselected,2:6 0x00c6,-1 0x00c7,-1 0x00c8,-1,npcbuylistsend,2:4 0x00c9,-1,npcselllistsend,2:4 0x00ca,3 0x00cb,3 0x00cc,6,gmkick,2 0x00cd,3 0x00ce,2,killall,0 0x00cf,27,wisexin,2:26 0x00d0,3,wisall,2 0x00d1,4 0x00d2,4 0x00d3,2,wisexlist,0 0x00d4,-1 0x00d5,-1,createchatroom,2:4:6:7:15 0x00d6,3 0x00d7,-1 0x00d8,6 0x00d9,14,chataddmember,2:6 0x00da,3 0x00db,-1 0x00dc,28 0x00dd,29 0x00de,-1,chatroomstatuschange,2:4:6:7:15 0x00df,-1 0x00e0,30,changechatowner,2:6 0x00e1,30 0x00e2,26,kickfromchat,2 0x00e3,2,chatleave,0 0x00e4,6,traderequest,2 0x00e5,26 0x00e6,3,tradeack,2 0x00e7,3 0x00e8,8,tradeadditem,2:4 0x00e9,19 0x00ea,5 0x00eb,2,tradeok,0 0x00ec,3 0x00ed,2,tradecancel,0 0x00ee,2 0x00ef,2,tradecommit,0 0x00f0,3 0x00f1,2 0x00f2,6 0x00f3,8,movetokafra,2:4 0x00f4,21 0x00f5,8,movefromkafra,2:4 0x00f6,8 0x00f7,2,closekafra,0 0x00f8,2 0x00f9,26,createparty,2 0x00fa,3 0x00fb,-1 0x00fc,6,partyinvite,2 0x00fd,27 0x00fe,30 0x00ff,10,replypartyinvite,2:6 0x0100,2,leaveparty,0 0x0101,6 0x0102,6,partychangeoption,2 0x0103,30,removepartymember,2:6 0x0104,79 0x0105,31 0x0106,10 0x0107,10 0x0108,-1,partymessage,2:4 0x0109,-1 0x010a,4 0x010b,6 0x010c,6 0x010d,2 0x010e,11 0x010f,-1 0x0110,10 0x0111,39 0x0112,4,skillup,2 0x0113,10,useskilltoid,2:4:6 0x0114,31 0x0115,35 0x0116,10,useskilltopos,2:4:6:8 0x0117,18 0x0118,2,stopattack,0 0x0119,13 0x011a,15 0x011b,20,useskillmap,2:4 0x011c,68 0x011d,2,requestmemo,0 0x011e,3 0x011f,16 0x0120,6 0x0121,14 0x0122,-1 0x0123,-1 0x0124,21 0x0125,8 0x0126,8,putitemtocart,2:4 0x0127,8,getitemfromcart,2:4 0x0128,8,movefromkafratocart,2:4 0x0129,8,movetokafrafromcart,2:4 0x012a,2,removeoption,0 0x012b,2 0x012c,3 0x012d,4 0x012e,2,closevending,0 0x012f,-1 0x0130,6,vendinglistreq,2 0x0131,86 0x0132,6 0x0133,-1 0x0134,-1,purchasereq,2:4:8 0x0135,7 0x0136,-1 0x0137,6 0x0138,3 0x0139,16 0x013a,4 0x013b,4 0x013c,4 0x013d,6 0x013e,24 0x013f,26,itemmonster,2 0x0140,22,mapmove,2:18:20 0x0141,14 0x0142,6 0x0143,10,npcamountinput,2:6 0x0144,23 0x0145,19 0x0146,6,npccloseclicked,2 0x0147,39 0x0148,8 0x0149,9,gmreqnochat,2:6:7 0x014a,6 0x014b,27 0x014c,-1 0x014d,2,guildcheckmaster,0 0x014e,6 0x014f,6,guildrequestinfo,2 0x0150,110 0x0151,6,guildrequestemblem,2 0x0152,-1 0x0153,-1,guildchangeemblem,2:4 0x0154,-1 0x0155,-1,guildchangememberposition,2 0x0156,-1 0x0157,6 0x0158,-1 0x0159,54,guildleave,2:6:10:14 0x015a,66 0x015b,54,guildexpulsion,2:6:10:14 0x015c,90 0x015d,42,guildbreak,2 0x015e,6 0x015f,42 0x0160,-1 0x0161,-1,guildchangepositioninfo,2 0x0162,-1 0x0163,-1 0x0164,-1 0x0165,30,createguild,6 0x0166,-1 0x0167,3 0x0168,14,guildinvite,2 0x0169,3 0x016a,30 0x016b,10,guildreplyinvite,2:6 0x016c,43 0x016d,14 0x016e,186,guildchangenotice,2:6:66 0x016f,182 0x0170,14,guildrequestalliance,2 0x0171,30 0x0172,10,guildreplyalliance,2:6 0x0173,3 0x0174,-1 0x0175,6 0x0176,106 0x0177,-1 0x0178,4,itemidentify,2 0x0179,5 0x017a,4,usecard,2 0x017b,-1 0x017c,6,insertcard,2:4 0x017d,7 0x017e,-1,guildmessage,2:4 0x017f,-1 0x0180,6,guildopposition,2 0x0181,3 0x0182,106 0x0183,10,guilddelalliance,2:6 0x0184,10 0x0185,34 //0x0186,-1 0x0187,6 0x0188,8 0x0189,4 0x018a,4,quitgame,0 0x018b,4 0x018c,29 0x018d,-1 0x018e,10,producemix,2:4:6:8 0x018f,6 0x0190,90,useskilltoposinfo,2:4:6:8:10 0x0191,86 0x0192,24 0x0193,6,solvecharname,2 0x0194,30 0x0195,102 0x0196,9 0x0197,4,resetchar,2 0x0198,8,changemaptype,2:4:6 0x0199,4 0x019a,14 0x019b,10 0x019c,-1,localbroadcast,2:4 0x019d,6,gmhide,0 0x019e,2 0x019f,6,catchpet,2 0x01a0,3 0x01a1,3,petmenu,2 0x01a2,35 0x01a3,5 0x01a4,11 0x01a5,26,changepetname,2 0x01a6,-1 0x01a7,4,selectegg,2 0x01a8,4 0x01a9,6,sendemotion,2 0x01aa,10 0x01ab,12 0x01ac,6 0x01ad,-1 0x01ae,4,selectarrow,2 0x01af,4,changecart,2 0x01b0,11 0x01b1,7 0x01b2,-1,openvending,2:4:84:85 0x01b3,67 0x01b4,12 0x01b5,18 0x01b6,114 0x01b7,6 0x01b8,3 0x01b9,6 0x01ba,26,remove,2 0x01bb,26,shift,2 0x01bc,26,recall,2 0x01bd,26,summon,2 0x01be,2 0x01bf,3 0x01c0,2 0x01c1,14 0x01c2,10 0x01c3,-1 0x01c4,22 0x01c5,22 0x01c6,4 0x01c7,2 0x01c8,13 0x01c9,97 //0x01ca,-1 0x01cb,9 0x01cc,9 0x01cd,30 0x01ce,6,autospell,2 0x01cf,28 0x01d0,8 0x01d1,14 0x01d2,10 0x01d3,35 0x01d4,6 0x01d5,-1,npcstringinput,2:4:8 0x01d6,4 0x01d7,11 0x01d8,54 0x01d9,53 0x01da,60 0x01db,2 0x01dc,-1 0x01dd,47 0x01de,33 0x01df,6,gmreqaccname,2 0x01e0,30 0x01e1,8 0x01e2,34 0x01e3,14 0x01e4,2 0x01e5,6 0x01e6,26 0x01e7,2,sndoridori,0 0x01e8,28,createparty2,2 0x01e9,81 0x01ea,6 0x01eb,10 0x01ec,26 0x01ed,2,snexplosionspirits,0 0x01ee,-1 0x01ef,-1 0x01f0,-1 0x01f1,-1 0x01f2,20 0x01f3,10 0x01f4,32 0x01f5,9 0x01f6,34 0x01f7,14,adoptreply,0 0x01f8,2 0x01f9,6,adoptrequest,0 0x01fa,48 0x01fb,56 0x01fc,-1 0x01fd,4,repairitem,2 0x01fe,5 0x01ff,10 0x0200,26 0x0201,-1 0x0202,26,friendslistadd,2 0x0203,10,friendslistremove,2:6 0x0204,18 0x0205,26 0x0206,11 0x0207,34 0x0208,11,friendslistreply,2:6:10 0x0209,36 0x020a,10 //0x020b,-1 //0x020c,-1 0x020d,-1 //2004-07-05aSakexe packet_ver: 6 0x0072,22,wanttoconnection,5:9:13:17:21 0x0085,8,walktoxy,5 0x00a7,13,useitem,5:9 0x0113,15,useskilltoid,4:9:11 0x0116,15,useskilltopos,4:9:11:13 0x0190,95,useskilltoposinfo,4:9:11:13:15 0x0208,14,friendslistreply,2:6:10 0x020e,24 //2004-07-13aSakexe packet_ver: 7 0x0072,39,wanttoconnection,12:22:30:34:38 0x0085,9,walktoxy,6 0x009b,13,changedir,5:12 0x009f,10,takeitem,6 0x00a7,17,useitem,6:13 0x0113,19,useskilltoid,7:9:15 0x0116,19,useskilltopos,7:9:15:17 0x0190,99,useskilltoposinfo,7:9:15:17:19 //2004-07-26aSakexe packet_ver: 8 0x0072,14,dropitem,5:12 0x007e,33,wanttoconnection,12:18:24:28:32 0x0085,20,useskilltoid,7:12:16 0x0089,15,getcharnamerequest,11 0x008c,23,useskilltopos,3:6:17:21 0x0094,10,takeitem,6 0x009b,6,walktoxy,3 0x009f,13,changedir,5:12 0x00a2,103,useskilltoposinfo,3:6:17:21:23 0x00a7,12,solvecharname,8 0x00f3,-1,globalmessage,2:4 0x00f5,17,useitem,6:12 0x00f7,10,ticksend,6 0x0113,16,movetokafra,5:12 0x0116,2,closekafra,0 0x0190,26,movefromkafra,10:22 0x0193,9,actionrequest,3:8 //2004-08-09aSakexe packet_ver: 9 0x0072,17,dropitem,8:15 0x007e,37,wanttoconnection,9:21:28:32:36 0x0085,26,useskilltoid,11:18:22 0x0089,12,getcharnamerequest,8 0x008c,40,useskilltopos,5:15:29:38 0x0094,13,takeitem,9 0x009b,15,walktoxy,12 0x009f,12,changedir,7:11 0x00a2,120,useskilltoposinfo,5:15:29:38:40 0x00a7,11,solvecharname,7 0x00f5,24,useitem,9:20 0x00f7,13,ticksend,9 0x0113,23,movetokafra,5:19 0x0190,26,movefromkafra,11:22 0x0193,18,actionrequest,7:17 //2004-08-16aSakexe 0x0212,26,rc,2 0x0213,26,check,2 0x0214,42 //2004-08-17aSakexe 0x020f,10,pvpinfo,2:6 0x0210,22 //2004-09-06aSakexe packet_ver: 10 0x0072,20,useitem,9:20 0x007e,19,movetokafra,3:15 0x0085,23,actionrequest,9:22 0x0089,9,walktoxy,6 0x008c,105,useskilltoposinfo,10:14:18:23:25 0x0094,17,dropitem,6:15 0x009b,14,getcharnamerequest,10 0x009f,-1,globalmessage,2:4 0x00a2,14,solvecharname,10 0x00a7,25,useskilltopos,10:14:18:23 0x00f3,10,changedir,4:9 0x00f5,34,wanttoconnection,7:15:25:29:33 0x00f7,2,closekafra,0 0x0113,11,takeitem,7 0x0116,11,ticksend,7 0x0190,22,useskilltoid,9:15:18 0x0193,17,movefromkafra,3:13 //2004-09-20aSakexe packet_ver: 11 0x0072,18,useitem,10:14 0x007e,25,movetokafra,6:21 0x0085,9,actionrequest,3:8 0x0089,14,walktoxy,11 0x008c,109,useskilltoposinfo,16:20:23:27:29 0x0094,19,dropitem,12:17 0x009b,10,getcharnamerequest,6 0x00a2,10,solvecharname,6 0x00a7,29,useskilltopos,6:20:23:27 0x00f3,18,changedir,8:17 0x00f5,32,wanttoconnection,10:17:23:27:31 0x0113,14,takeitem,10 0x0116,14,ticksend,10 0x0190,14,useskilltoid,4:7:10 0x0193,12,movefromkafra,4:8 //2004-10-05aSakexe packet_ver: 12 0x0072,17,useitem,6:13 0x007e,16,movetokafra,5:12 0x0089,6,walktoxy,3 0x008c,103,useskilltoposinfo,2:6:17:21:23 0x0094,14,dropitem,5:12 0x009b,15,getcharnamerequest,11 0x00a2,12,solvecharname,8 0x00a7,23,useskilltopos,3:6:17:21 0x00f3,13,changedir,5:12 0x00f5,33,wanttoconnection,12:18:24:28:32 0x0113,10,takeitem,6 0x0116,10,ticksend,6 0x0190,20,useskilltoid,7:12:16 0x0193,26,movefromkafra,10:22 //2004-10-25aSakexe packet_ver: 13 0x0072,13,useitem,5:9 0x007e,13,movetokafra,6:9 0x0085,15,actionrequest,4:14 0x008c,108,useskilltoposinfo,6:9:23:26:28 0x0094,12,dropitem,6:10 0x009b,10,getcharnamerequest,6 0x00a2,16,solvecharname,12 0x00a7,28,useskilltopos,6:9:23:26 0x00f3,15,changedir,6:14 0x00f5,29,wanttoconnection,5:14:20:24:28 0x0113,9,takeitem,5 0x0116,9,ticksend,5 0x0190,26,useskilltoid,4:10:22 0x0193,22,movefromkafra,12:18 //2004-11-01aSakexe 0x0084,-1 0x0215,6 //2004-11-08aSakexe 0x0084,2 0x0216,6 0x0217,2,blacksmith,0 0x0218,2,alchemist,0 0x0219,282 0x021a,282 0x021b,10 0x021c,10 //2004-11-15aSakexe 0x021d,6,lesseffect,2 //2004-11-29aSakexe packet_ver: 14 0x0072,22,useskilltoid,8:12:18 0x007e,30,useskilltopos,4:9:22:28 0x0085,-1,globalmessage,2:4 0x0089,7,ticksend,3 0x008c,13,getcharnamerequest,9 0x0094,14,movetokafra,4:10 0x009b,2,closekafra,0 0x009f,18,actionrequest,6:17 0x00a2,7,takeitem,3 0x00a7,7,walktoxy,4 0x00f3,8,changedir,3:7 0x00f5,29,wanttoconnection,3:10:20:24:28 0x00f7,14,solvecharname,10 0x0113,110,useskilltoposinfo,4:9:22:28:30 0x0116,12,dropitem,4:10 0x0190,15,useitem,3:11 0x0193,21,movefromkafra,4:17 0x0221,-1 0x0222,6,weaponrefine,2 0x0223,8 //2004-12-13aSakexe //skipped: many packets being set to -1 0x0066,3 0x0070,3 0x01ca,3 0x021e,6 0x021f,66 0x0220,10 //2005-01-10bSakexe packet_ver: 15 0x0072,26,useskilltoid,8:16:22 0x007e,114,useskilltoposinfo,10:18:22:32:34 0x0085,23,changedir,12:22 0x0089,9,ticksend,5 0x008c,8,getcharnamerequest,4 0x0094,20,movetokafra,10:16 0x009b,32,wanttoconnection,3:12:23:27:31 0x009f,17,useitem,5:13 0x00a2,11,solvecharname,7 0x00a7,13,walktoxy,10 0x00f3,-1,globalmessage,2:4 0x00f5,9,takeitem,5 0x00f7,21,movefromkafra,11:17 0x0113,34,useskilltopos,10:18:22:32 0x0116,20,dropitem,15:18 0x0190,20,actionrequest,9:19 0x0193,2,closekafra,0 //2005-03-28aSakexe 0x0224,10 0x0225,2,taekwon,0 0x0226,282 //2005-04-04aSakexe 0x0227,18 0x0228,18 //2005-04-11aSakexe 0x0229,15 0x022a,58 0x022b,57 0x022c,64 //2005-04-25aSakexe 0x022d,5,hommenu,2:4 0x0232,9,hommoveto,2:6 0x0233,11,homattack,2:6:10 0x0234,6,hommovetomaster,2 //2005-05-09aSakexe packet_ver: 16 0x0072,25,useskilltoid,6:10:21 0x007e,102,useskilltoposinfo,5:9:12:20:22 0x0085,11,changedir,7:10 0x0089,8,ticksend,4 0x008c,11,getcharnamerequest,7 0x0094,14,movetokafra,7:10 0x009b,26,wanttoconnection,4:9:17:21:25 0x009f,14,useitem,4:10 0x00a2,15,solvecharname,11 0x00a7,8,walktoxy,5 0x00f5,8,takeitem,4 0x00f7,22,movefromkafra,14:18 0x0113,22,useskilltopos,5:9:12:20 0x0116,10,dropitem,5:8 0x0190,19,actionrequest,5:18 //2005-05-23aSakexe 0x022e,69 0x0230,12 //2005-05-30aSakexe 0x022e,71 0x0235,-1 0x0236,10 0x0237,2,rankingpk,0 0x0238,282 //2005-05-31aSakexe 0x0216,2 0x0239,11 //2005-06-08aSakexe 0x0216,6 0x0217,2,blacksmith,0 0x022f,5 0x0231,26,changehomunculusname,0 0x023a,4 0x023b,36,storagepassword,2:4:20 0x023c,6 //2005-06-22aSakexe 0x022e,71 //2005-06-28aSakexe packet_ver: 17 0x0072,34,useskilltoid,6:17:30 0x007e,113,useskilltoposinfo,12:15:18:31:33 0x0085,17,changedir,8:16 0x0089,13,ticksend,9 0x008c,8,getcharnamerequest,4 0x0094,31,movetokafra,16:27 0x009b,32,wanttoconnection,9:15:23:27:31 0x009f,19,useitem,9:15 0x00a2,9,solvecharname,5 0x00a7,11,walktoxy,8 0x00f5,13,takeitem,9 0x00f7,18,movefromkafra,11:14 0x0113,33,useskilltopos,12:15:18:31 0x0116,12,dropitem,3:10 0x0190,24,actionrequest,11:23 0x0216,-1 0x023d,-1 0x023e,4 //2005-07-18aSakexe packet_ver: 18 0x0072,19,useskilltoid,5:11:15 0x007e,110,useskilltoposinfo,9:15:23:28:30 0x0085,11,changedir,6:10 0x0089,7,ticksend,3 0x008c,11,getcharnamerequest,7 0x0094,21,movetokafra,12:17 0x009b,31,wanttoconnection,3:13:22:26:30 0x009f,12,useitem,3:8 0x00a2,18,solvecharname,14 0x00a7,15,walktoxy,12 0x00f5,7,takeitem,3 0x00f7,13,movefromkafra,5:9 0x0113,30,useskilltopos,9:15:23:28 0x0116,12,dropitem,6:10 0x0190,21,actionrequest,5:20 0x0216,6 0x023f,2,mailrefresh,0 0x0240,8 0x0241,6,mailread,2 0x0242,-1 0x0243,6,maildelete,2 0x0244,6,mailgetattach,2 0x0245,7 0x0246,4,mailwinopen,2 0x0247,8,mailsetattach,2:4 0x0248,68 0x0249,3 0x024a,70 0x024b,4,auctioncancelreg,0 0x024c,8,auctionsetitem,0 0x024d,14 0x024e,6,auctioncancel,0 0x024f,10,auctionbid,0 0x0250,3 0x0251,2 0x0252,-1 //2005-07-19bSakexe packet_ver: 19 0x0072,34,useskilltoid,6:17:30 0x007e,113,useskilltoposinfo,12:15:18:31:33 0x0085,17,changedir,8:16 0x0089,13,ticksend,9 0x008c,8,getcharnamerequest,4 0x0094,31,movetokafra,16:27 0x009b,32,wanttoconnection,9:15:23:27:31 0x009f,19,useitem,9:15 0x00a2,9,solvecharname,5 0x00a7,11,walktoxy,8 0x00f5,13,takeitem,9 0x00f7,18,movefromkafra,11:14 0x0113,33,useskilltopos,12:15:18:31 0x0116,12,dropitem,3:10 0x0190,24,actionrequest,11:23 //2005-08-01aSakexe 0x0245,3 0x0251,4 //2005-08-08aSakexe 0x024d,12,auctionregister,0 0x024e,4 //2005-08-17aSakexe 0x0253,3 0x0254,3,feelsaveok,0 //2005-08-29aSakexe 0x0240,-1 0x0248,-1,mailsend,2:4:28:68 0x0255,5 0x0256,-1 0x0257,8 //2005-09-12bSakexe 0x0256,5 0x0258,2 0x0259,3 //2005-10-10aSakexe 0x020e,32 0x025a,-1 0x025b,6,cooking,0 //2005-10-13aSakexe 0x007a,6 0x0251,32 0x025c,4,auctionbuysell,0 //2005-10-17aSakexe 0x007a,58 0x025d,6,auctionclose,0 0x025e,4 //2005-10-24aSakexe 0x025f,6 0x0260,6 //2005-11-07aSakexe 0x024e,6,auctioncancel,0 0x0251,34,auctionsearch,0 //2006-01-09aSakexe 0x0261,11 0x0262,11 0x0263,11 0x0264,20 0x0265,20 0x0266,30 0x0267,4 0x0268,4 0x0269,4 0x026a,4 0x026b,4 0x026c,4 0x026d,4 0x026f,2 0x0270,2 0x0271,38 0x0272,44 //2006-01-26aSakexe 0x0271,40 //2006-03-06aSakexe 0x0273,6 0x0274,8 //2006-03-13aSakexe 0x0273,30,mailreturn,2:6 //2006-03-27aSakexe packet_ver: 20 0x0072,26,useskilltoid,11:18:22 0x007e,120,useskilltoposinfo,5:15:29:38:40 0x0085,12,changedir,7:11 //0x0089,13,ticksend,9 0x008c,12,getcharnamerequest,8 0x0094,23,movetokafra,5:19 0x009b,37,wanttoconnection,9:21:28:32:36 0x009f,24,useitem,9:20 0x00a2,11,solvecharname,7 0x00a7,15,walktoxy,12 0x00f5,13,takeitem,9 0x00f7,26,movefromkafra,11:22 0x0113,40,useskilltopos,5:15:29:38 0x0116,17,dropitem,8:15 0x0190,18,actionrequest,7:17 //2006-10-23aSakexe 0x006d,110 //2006-04-24aSakexe to 2007-01-02aSakexe 0x023e,8 0x0277,84 0x0278,2 0x0279,2 0x027a,-1 0x027b,14 0x027c,60 0x027d,62 0x027e,-1 0x027f,8 0x0280,12 0x0281,4 0x0282,284 0x0283,6 0x0284,14 0x0285,6 0x0286,4 0x0287,-1 0x0288,6 0x0289,8 0x028a,18 0x028b,-1 0x028c,46 0x028d,34 0x028e,4 0x028f,6 0x0290,4 0x0291,4 0x0292,2,autorevive,0 0x0293,70 0x0294,10 0x0295,-1 0x0296,-1 0x0297,-1 0x0298,8 0x0299,6 0x029a,27 0x029c,66 0x029d,-1 0x029e,11 0x029f,3,mermenu,0 0x02a0,-1 0x02a1,-1 0x02a2,8 //2007-01-08aSakexe packet_ver: 21 0x0072,30,useskilltoid,10:14:26 0x007e,120,useskilltoposinfo,10:19:23:38:40 0x0085,14,changedir,10:13 0x0089,11,ticksend,7 0x008c,17,getcharnamerequest,13 0x0094,17,movetokafra,4:13 0x009b,35,wanttoconnection,7:21:26:30:34 0x009f,21,useitem,7:17 0x00a2,10,solvecharname,6 0x00a7,8,walktoxy,5 0x00f5,11,takeitem,7 0x00f7,15,movefromkafra,3:11 0x0113,40,useskilltopos,10:19:23:38 0x0116,19,dropitem,11:17 0x0190,10,actionrequest,4:9 //2007-01-22aSakexe 0x02a3,18 0x02a4,2 //2007-01-29aSakexe 0x029b,72 0x02a3,-1 0x02a4,-1 0x02a5,8 // 2007-02-05aSakexe 0x02aa,4 0x02ab,36 0x02ac,6 //2007-02-12aSakexe packet_ver: 22 0x0072,25,useskilltoid,6:10:21 0x007e,102,useskilltoposinfo,5:9:12:20:22 0x0085,11,changedir,7:10 0x0089,8,ticksend,4 0x008c,11,getcharnamerequest,7 0x0094,14,movetokafra,7:10 0x009b,26,wanttoconnection,4:9:17:21:25 0x009f,14,useitem,4:10 0x00a2,15,solvecharname,11 //0x00a7,8,walktoxy,5 0x00f5,8,takeitem,4 0x00f7,22,movefromkafra,14:18 0x0113,22,useskilltopos,5:9:12:20 0x0116,10,dropitem,5:8 0x0190,19,actionrequest,5:18 //2007-05-07aSakexe 0x01fd,15,repairitem,2 //2007-02-27aSakexe to 2007-10-02aSakexe 0x0288,10,cashshopbuy,2:4:6 0x0289,12 0x02a6,22 0x02a7,22 0x02a8,162 0x02a9,58 0x02ad,8 0x02b0,85 0x02b1,-1 0x02b2,-1 0x02b3,107 0x02b4,6 0x02b5,-1 0x02b6,7,queststate,2:6 0x02b7,7 0x02b8,22 0x02b9,191 0x02ba,11,hotkey,2:4:5:9 0x02bb,8 0x02bc,6 0x02bf,10 0x02c0,2 0x02c1,-1 0x02c2,-1 0x02c4,26,partyinvite2,2 0x02c5,30 0x02c6,30 0x02c7,7,replypartyinvite2,2:6 0x02c8,3 0x02c9,3 0x02ca,3 0x02cb,20 0x02cc,4 0x02cd,26 0x02ce,10 0x02cf,6 0x02d0,-1 0x02d1,-1 0x02d2,-1 0x02d3,4 0x02d4,29 0x02d5,2 0x02d6,6,viewplayerequip,2 0x02d7,-1 0x02d8,10,equiptickbox,6 0x02d9,10 0x02da,3 0x02db,-1,battlechat,2:4 0x02dc,-1 0x02dd,32 0x02de,6 0x02df,36 0x02e0,34 //2007-10-23aSakexe 0x02cb,65 0x02cd,71 //2007-11-06aSakexe 0x0078,55 0x007c,42 0x022c,65 0x029b,80 //2007-11-13aSakexe 0x02e1,33 //2007-11-20aSakexe //0x01df,10 <- ??? 0x02e2,14 0x02e3,25 0x02e4,8 0x02e5,8 0x02e6,6 //2007-11-27aSakexe 0x02e7,-1 //2008-01-02aSakexe 0x01df,6,gmreqaccname,2 0x02e8,-1 0x02e9,-1 0x02ea,-1 0x02eb,13 0x02ec,67 0x02ed,59 0x02ee,60 0x02ef,8 //2008-03-18aSakexe 0x02bf,-1 0x02c0,-1 0x02f0,10 0x02f1,2,progressbar,0 0x02f2,2 //2008-03-25bSakexe 0x02f3,-1 0x02f4,-1 0x02f5,-1 0x02f6,-1 0x02f7,-1 0x02f8,-1 0x02f9,-1 0x02fa,-1 0x02fb,-1 0x02fc,-1 0x02fd,-1 0x02fe,-1 0x02ff,-1 0x0300,-1 //2008-04-01aSakexe 0x0301,-1 0x0302,-1 0x0303,-1 0x0304,-1 0x0305,-1 0x0306,-1 0x0307,-1 0x0308,-1 0x0309,-1 0x030a,-1 0x030b,-1 0x030c,-1 0x030d,-1 0x030e,-1 0x030f,-1 0x0310,-1 0x0311,-1 0x0312,-1 0x0313,-1 0x0314,-1 0x0315,-1 0x0316,-1 0x0317,-1 0x0318,-1 0x0319,-1 0x031a,-1 0x031b,-1 0x031c,-1 0x031d,-1 0x031e,-1 0x031f,-1 0x0320,-1 0x0321,-1 0x0322,-1 0x0323,-1 0x0324,-1 0x0325,-1 0x0326,-1 0x0327,-1 0x0328,-1 0x0329,-1 0x032a,-1 0x032b,-1 0x032c,-1 0x032d,-1 0x032e,-1 0x032f,-1 0x0330,-1 0x0331,-1 0x0332,-1 0x0333,-1 0x0334,-1 0x0335,-1 0x0336,-1 0x0337,-1 0x0338,-1 0x0339,-1 0x033a,-1 0x033b,-1 0x033c,-1 0x033d,-1 0x033e,-1 0x033f,-1 0x0340,-1 0x0341,-1 0x0342,-1 0x0343,-1 0x0344,-1 0x0345,-1 0x0346,-1 0x0347,-1 0x0348,-1 0x0349,-1 0x034a,-1 0x034b,-1 0x034c,-1 0x034d,-1 0x034e,-1 0x034f,-1 0x0350,-1 0x0351,-1 0x0352,-1 0x0353,-1 0x0354,-1 0x0355,-1 0x0356,-1 0x0357,-1 0x0358,-1 0x0359,-1 0x035a,-1 //2008-05-27aSakexe 0x035b,-1 0x035c,2 0x035d,-1 0x035e,2 0x035f,-1 0x0389,-1 //2008-08-20aSakexe 0x040c,-1 0x040d,-1 0x040e,-1 0x040f,-1 0x0410,-1 0x0411,-1 0x0412,-1 0x0413,-1 0x0414,-1 0x0415,-1 0x0416,-1 0x0417,-1 0x0418,-1 0x0419,-1 0x041a,-1 0x041b,-1 0x041c,-1 0x041d,-1 0x041e,-1 0x041f,-1 0x0420,-1 0x0421,-1 0x0422,-1 0x0423,-1 0x0424,-1 0x0425,-1 0x0426,-1 0x0427,-1 0x0428,-1 0x0429,-1 0x042a,-1 0x042b,-1 0x042c,-1 0x042d,-1 0x042e,-1 0x042f,-1 0x0430,-1 0x0431,-1 0x0432,-1 0x0433,-1 0x0434,-1 0x0435,-1 //2008-09-10aSakexe packet_ver: 23 0x0436,19,wanttoconnection,2:6:10:14:18 0x0437,7,actionrequest,2:6 0x0438,10,useskilltoid,2:4:6 0x0439,8,useitem,2:4 //2008-11-13aSakexe 0x043d,8 0x043e,-1 0x043f,8 //2008-11-26aSakexe 0x01a2,37 0x0440,10 0x0441,4 //2008-12-10aSakexe 0x0442,-1 0x0443,8,skillselectmenu,2:6 //2009-01-14aSakexe 0x043f,25 0x0444,-1 0x0445,10 //2009-02-18aSakexe 0x0446,14 //2009-02-25aSakexe 0x0448,-1 //2009-03-30aSakexe 0x0449,4 //2009-04-08aSakexe 0x02a6,-1 0x02a7,-1 0x044a,6 //Renewal Clients //2008-08-27aRagexeRE packet_ver: 24 0x0072,22,useskilltoid,9:15:18 0x007c,44 0x007e,105,useskilltoposinfo,10:14:18:23:25 0x0085,10,changedir,4:9 0x0089,11,ticksend,7 0x008c,14,getcharnamerequest,10 0x0094,19,movetokafra,3:15 0x009b,34,wanttoconnection,7:15:25:29:33 0x009f,20,useitem,7:20 0x00a2,14,solvecharname,10 0x00a7,9,walktoxy,6 0x00f5,11,takeitem,7 0x00f7,17,movefromkafra,3:13 0x0113,25,useskilltopos,10:14:18:23 0x0116,17,dropitem,6:15 0x0190,23,actionrequest,9:22 0x02e2,20 0x02e3,22 0x02e4,11 0x02e5,9 //2008-09-10aRagexeRE packet_ver: 25 0x0436,19,wanttoconnection,2:6:10:14:18 0x0437,7,actionrequest,2:6 0x0438,10,useskilltoid,2:4:6 0x0439,8,useitem,2:4 //2008-11-12aRagexeRE 0x043d,8 //0x043e,-1 0x043f,8 //2008-12-17aRagexeRE 0x01a2,37 //0x0440,10 //0x0441,4 //0x0442,8 //0x0443,8 //2008-12-17bRagexeRE 0x006d,114 //2009-01-21aRagexeRE 0x043f,25 //0x0444,-1 //0x0445,10 //2009-02-18aRagexeRE //0x0446,14 //2009-02-26cRagexeRE //0x0448,-1 //2009-04-01aRagexeRE //0x0449,4 //2009-05-14aRagexeRE //0x044b,2 //2009-05-20aRagexeRE //0x07d0,6 //0x07d1,2 //0x07d2,-1 //0x07d3,4 //0x07d4,4 //0x07d5,4 //0x07d6,4 //0x0447,2 //2009-06-03aRagexeRE 0x07d7,8,partychangeoption,2:6:7 0x07d8,8 0x07d9,254 0x07da,6,partychangeleader,2 //2009-06-10aRagexeRE //0x07db,8 //2009-06-17aRagexeRE 0x07d9,268 //0x07dc,6 //0x07dd,54 //0x07de,30 //0x07df,54 //2009-07-01aRagexeRE //0x0275,37 //0x0276,-1 //2009-07-08aRagexeRE //0x07e0,58 //2009-07-15aRagexeRE 0x07e1,15 //2009-08-05aRagexeRE 0x07e2,8 //2009-08-18aRagexeRE 0x07e3,6 0x07e4,-1,itemlistwindowselected,2:4:8 0x07e6,8 //2009-08-25aRagexeRE //0x07e6,28 0x07e7,5 //2009-09-22aRagexeRE 0x07e5,8 0x07e6,8 0x07e7,32 0x07e8,-1 0x07e9,5 //2009-09-29aRagexeRE //0x07ea,2 //0x07eb,-1 //0x07ec,6 //0x07ed,8 //0x07ee,6 //0x07ef,8 //0x07f0,4 //0x07f2,4 //0x07f3,3 //2009-10-06aRagexeRE //0x07ec,8 //0x07ed,10 //0x07f0,8 //0x07f1,15 //0x07f2,6 //0x07f3,4 //0x07f4,3 //2009-10-27aRagexeRE 0x07f5,6,gmreqaccname,2 0x07f6,14 //2009-11-03aRagexeRE 0x07f7,-1 0x07f8,-1 0x07f9,-1 //2009-11-17aRagexeRE 0x07fa,8 //2009-11-24aRagexeRE 0x07fb,25 //2009-12-01aRagexeRE //0x07fc,10 //0x07fd,-1 0x07fe,26 //0x07ff,-1 //2009-12-15aRagexeRE 0x0800,-1 //0x0801,-1 //2009-12-22aRagexeRE 0x0802,18,bookingregreq,2:4:6 // Booking System 0x0803,4 0x0804,8 // Booking System 0x0805,-1 0x0806,4,bookingdelreq,2 // Booking System //0x0807,2 0x0808,4 // Booking System //0x0809,14 //0x080A,50 //0x080B,18 //0x080C,6 //2009-12-29aRagexeRE 0x0804,14,bookingsearchreq,2:4:6:8:12 // Booking System 0x0806,2,bookingdelreq,0 // Booking System 0x0807,4 0x0808,14,bookingupdatereq,2 // Booking System 0x0809,50 0x080A,18 0x080B,6 // Booking System //2010-01-05aRagexeRE 0x0801,-1,purchasereq2,2:4:8:12 //2010-01-26aRagexeRE //0x080C,2 //0x080D,3 0x080E,14 //2010-02-09aRagexeRE //0x07F0,6 //2010-02-23aRagexeRE 0x080F,20 //2010-03-03aRagexeRE 0x0810,3 0x0811,-1,reqopenbuyingstore,2:4:8:9:89 //0x0812,86 //0x0813,6 //0x0814,6 //0x0815,-1 //0x0817,-1 //0x0818,6 //0x0819,4 //2010-03-09aRagexeRE 0x0813,-1 //0x0814,2 //0x0815,6 0x0816,6 0x0818,-1 //0x0819,10 //0x081A,4 //0x081B,4 //0x081C,6 0x081d,22 0x081e,8 //2010-03-23aRagexeRE //0x081F,-1 //2010-04-06aRagexeRE //0x081A,6 //2010-04-13aRagexeRE //0x081A,10 0x0820,11 //0x0821,2 //0x0822,9 //0x0823,-1 //2010-04-14dRagexeRE //0x081B,8 //2010-04-20aRagexeRE 0x0812,8 0x0814,86 0x0815,2,reqclosebuyingstore,0 0x0817,6,reqclickbuyingstore,2 0x0819,-1,reqtradebuyingstore,2:4:8:12 0x081a,4 0x081b,10 0x081c,10 0x0824,6 //2010-06-01aRagexeRE //0x0825,-1 //0x0826,4 0x0835,-1,searchstoreinfo,2:4:5:9:13:14:15 0x0836,-1 0x0837,3 //0x0838,3 //2010-06-08aRagexeRE 0x0838,2,searchstoreinfonextpage,0 0x083A,4 // Search Stalls Feature 0x083B,2,closesearchstoreinfo,0 0x083C,12,searchstoreinfolistitemclick,2:6:10 0x083D,6 //2010-06-15aRagexeRE //0x083E,26 //2010-06-22aRagexeRE //0x083F,22 //2010-06-29aRagexeRE 0x00AA,9 //0x07F1,18 //0x07F2,8 //0x07F3,6 //2010-07-01aRagexeRE 0x083A,5 // Search Stalls Feature //2010-07-13aRagexeRE //0x0827,6 //0x0828,14 //0x0829,6 //0x082A,10 //0x082B,6 //0x082C,14 //0x0840,-1 //0x0841,19 //2010-07-14aRagexeRE //0x841,4 //2010-08-03aRagexeRE 0x0839,66 0x0842,6,recall2,2 0x0843,6,remove2,2 //2010-11-24aRagexeRE packet_ver: 26 0x0288,-1,cashshopbuy,4:8 0x0436,19,wanttoconnection,2:6:10:14:18 0x035f,5,walktoxy,2 0x0360,6,ticksend,2 0x0361,5,changedir,2:4 0x0362,6,takeitem,2 0x0363,6,dropitem,2:4 0x0364,8,movetokafra,2:4 0x0365,8,movefromkafra,2:4 0x0366,10,useskilltopos,2:4:6:8 0x0367,90,useskilltoposinfo,2:4:6:8:10 0x0368,6,getcharnamerequest,2 0x0369,6,solvecharname,2 0x0856,-1 0x0857,-1 0x0858,-1 0x0859,-1 0x08d0,9 //2011-10-05aRagexeRE packet_ver: 27 0x0364,5,walktoxy,2 0x0817,6,ticksend,2 0x0366,5,changedir,2:4 0x0815,6,takeitem,2 0x0885,6,dropitem,2:4 0x0893,8,movetokafra,2:4 0x0897,8,movefromkafra,2:4 0x0369,10,useskilltopos,2:4:6:8 0x08ad,90,useskilltoposinfo,2:4:6:8:10 0x088a,6,getcharnamerequest,2 0x0838,6,solvecharname,2 0x0439,8,useitem,2:4 0x08d2,10 0x08d1,7 // 2011-11-02aRagexe packet_ver: 28 0x0436,26,friendslistadd,2 0x0898,5,hommenu,4 0x0281,36,storagepassword,0 0x088d,26,partyinvite2,2 0x083c,19,wanttoconnection,2:6:10:14:18 0x08aa,7,actionrequest,2:6 0x02c4,10,useskilltoid,2:4:6 0x0811,-1,itemlistwindowselected,2:4:8 0x890,8 0x08a5,18,bookingregreq,2:4:6 0x0835,-1,reqopenbuyingstore,2:4:8:9:89 0x089b,2,reqclosebuyingstore,0 0x08a1,6,reqclickbuyingstore,2 0x089e,-1,reqtradebuyingstore,2:4:8:12 0x08ab,-1,searchstoreinfo,2:4:5:9:13:14:15 0x088b,2,searchstoreinfonextpage,0 0x08a2,12,searchstoreinfolistitemclick,2:6:10 //2012-03-07fRagexeRE packet_ver:29 0x086A,19,wanttoconnection,2:6:10:14:18 0x0437,5,walktoxy,2 0x0887,6,ticksend,2 0x0890,5,changedir,2:4 0x0865,6,takeitem,2 0x02C4,6,dropitem,2:4 0x093B,8,movetokafra,2:4 0x0963,8,movefromkafra,2:4 0x0438,10,useskilltopos,2:4:6:8 0x0366,90,useskilltoposinfo,2:4:6:8:10 0x096A,6,getcharnamerequest,2 0x0368,6,solvecharname,2 0x0369,26,friendslistadd,2 0x0863,5,hommenu,4 0x0861,36,storagepassword,0 0x0929,26,partyinvite2,2 0x0885,7,actionrequest,2:6 0x0889,10,useskilltoid,2:4:6 0x0870,-1,itemlistwindowselected,2:4:8 0x0926,18,bookingregreq,2:4:6 0x0815,-1,reqopenbuyingstore,2:4:8:9:89 0x0817,2,reqclosebuyingstore,0 0x0360,6,reqclickbuyingstore,2 0x0811,-1,reqtradebuyingstore,2:4:8:12 0x0884,-1,searchstoreinfo,2:4:5:9:13:14:15 0x0835,2,searchstoreinfonextpage,0 0x0838,12,searchstoreinfolistitemclick,2:6:10 0x0439,8,useitem,2:4 //2012-04-10aRagexeRE packet_ver: 30 0x01FD,15,repairitem,2 0x089C,26,friendslistadd,2 0x0885,5,hommenu,2:4 0x0961,36,storagepassword,0 0x0288,-1,cashshopbuy,4:8 0x091C,26,partyinvite2,2 0x094B,19,wanttoconnection,2:6:10:14:18 0x0369,7,actionrequest,2:6 0x083C,10,useskilltoid,2:4:6 0x0439,8,useitem,2:4 0x0945,-1,itemlistwindowselected,2:4:8 0x0815,-1,reqopenbuyingstore,2:4:8:9:89 0x0817,2,reqclosebuyingstore,0 0x0360,6,reqclickbuyingstore,2 0x0811,-1,reqtradebuyingstore,2:4:8:12 0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15 0x0835,2,searchstoreinfonextpage,0 0x0838,12,searchstoreinfolistitemclick,2:6:10 0x0437,5,walktoxy,2 0x0886,6,ticksend,2 0x0871,5,changedir,2:4 0x0938,6,takeitem,2 0x0891,6,dropitem,2:4 0x086C,8,movetokafra,2:4 0x08A6,8,movefromkafra,2:4 0x0438,10,useskilltopos,2:4:6:8 0x091D,18,bookingregreq,2:4:6 0x0366,90,useskilltoposinfo,2:4:6:8:10 0x0889,6,getcharnamerequest,2 0x0884,6,solvecharname,2 0x08E5,41,bookingregreq,2:4 //Added to prevent disconnections 0x08E6,4 0x08E7,10,bookingsearchreq,2 0x08E8,-1 0x08E9,2,bookingdelreq,2 0x08EA,4 0x08EB,39,bookingupdatereq,2 0x08EC,73 0x08ED,43 0x08EE,6 0x08EF,6,bookingignorereq,2 0x08F0,6 0x08F1,6,bookingjoinpartyreq,2 0x08F2,36 0x08F3,-1 0x08F4,6 0x08F5,-1,bookingsummonmember,2:4 0x08F6,22 0x08F7,3 0x08F8,7 0x08F9,6 0x08FA,6 0x08FB,6,bookingcanceljoinparty,2 0x0907,5,moveitem,2:4 0x0908,5 0x08D7,28,battlegroundreg,2:4 //Added to prevent disconnections 0x08CF,10 //Amulet spirits 0x0977,14 //Monster HP Bar 0x0916,26,guildinvite2,2 0x0844,2,cashshopopen,0 0x084a,2,cashshopclose,0 0x08c9,4,cashshopitemlist,0 0x0848,-1,cashshopbuy,2:4:6:10 //2012-04-18aRagexeRE [Special Thanks to Judas!] packet_ver:31 0x023B,26,friendslistadd,2 0x0361,5,hommenu,2:4 0x08A8,36,storagepassword,0 0x0802,26,partyinvite2,2 0x022D,19,wanttoconnection,2:6:10:14:18 0x0281,-1,itemlistwindowselected,2:4:8 0x035F,6,ticksend,2 0x0202,5,changedir,2:4 0x07E4,6,takeitem,2 0x0362,6,dropitem,2:4 0x07EC,8,movetokafra,2:4 0x0364,8,movefromkafra,2:4 0x096A,6,getcharnamerequest,2 0x0368,6,solvecharname,2 0x08E5,41,bookingregreq,2:4 //Added to prevent disconnections 0x08d2,10 //2012-06-18 packet_ver: 32 0x0983,29 //2012-07-02aRagexeRE (unstable) packet_ver: 33 0x0363,19,wanttoconnection,2:6:10:14:18 0x0364,6,ticksend,2 0x085a,7,actionrequest,2:6 0x0861,8,movefromkafra,2:4 0x0862,10,useskilltoid,2:4:6 0x0863,10,useskilltopos,2:4:6:8 0x0886,6,solvecharname,2 0x0889,90,useskilltoposinfo,2:4:6:8:10 0x089e,6,dropitem,2:4 0x089f,6,takeitem,2 0x08a0,8,movetokafra,2:4 0x094a,6,getcharnamerequest,2 0x0953,5,walktoxy,2 0x0960,5,changedir,2:4 //2013-03-20Ragexe (Judas) packet_ver: 34 0x014f,6,guildrequestinfo,2 0x01fd,15,repairitem,2 //0x0281,-1,itemlistwindowselected,2:4:8 0x035f,6,reqclickbuyingstore,2 0x0363,6,ticksend,2 0x0365,12,searchstoreinfolistitemclick,2:6:10 0x0438,6,dropitem,2:4 0x0447,2,booking_playcancel,0 0x044A,6,clientversion,2 0x0844,2,cashshopopen,0 0x0848,-1,cashshopbuy,0 0x084a,2,cashshopclose,0 0x084b,19 //fallitem4 0x085a,90,useskilltoposinfo,2:4:6:8:10 0x085d,18,bookingregreq,2:4 0x0868,-1,itemlistwindowselected,2:4:8 0x086d,26,partyinvite2,2 0x086f,26,friendslistadd,2 0x0874,8,movefromkafra,2:4 0x0881,5,walktoxy,2 0x0886,2,reqclosebuyingstore,0 0x0888,19,wanttoconnection,2:6:10:14:18 0x088e,7,actionrequest,2:6 0x0897,5,changedir,2:4 0x0898,6,getcharnamerequest,2 0x089b,10,useskilltoid,2:4:6 0x08ac,8,movetokafra,2:4 0x08c9,4,cashshopitemlist,0 0x08cf,10 //Amulet spirits 0x08d2,10 0x0907,5,moveitem,2:4 0x0908,5 0x090f,-1 // notify_newentry7 0x0914,-1 // notify_moveentry 0x0915,-1 // notify_standentry 0x0922,-1,reqtradebuyingstore,2:4:8:12 //0x092e,2,searchstoreinfonextpage,0 0x0933,6,takeitem,2 0x0938,-1,reqopenbuyingstore,2:4:8:9:89 0x093f,5,hommenu,2:4 0x0947,36,storagepassword,0 0x094c,6,solvecharname,2 0x094e,-1,searchstoreinfo,2:4:5:9:13:14:15 0x0959,10,useskilltopos,2:4:6:8 //0x095a,8,mailsetattach,2:4 0x0977,14 //Monster HP Bar 0x0978,6,reqworldinfo,2 0x0979,50 //ackworldinfo 0x0990,31 //additem 0x0991,-1 //inv itemlist normal 0x0992,-1 //inv itemlist equip 0x0993,-1 //cart itemlist normal 0x0994,-1 //cart itemlist equip 0x0995,-1 //store itemlist normal 0x0996,-1 //store itemlist equip 0x0997,-1 //ZC_EQUIPWIN_MICROSCOPE_V5 0x0998,8,equipitem,2:4 0x0999,11 // cz_wear_equipv5 0x099a,9 // take_off_equipv5 0x099b,8 //maptypeproperty2 //2013-05-15a Ragexe (Yommy) packet_ver: 35 0x0369,7,actionrequest,2:6 0x083C,10,useskilltoid,2:4:6 0x0437,5,walktoxy,2 0x035F,6,ticksend,2 0x0362,5,changedir,2:4 0x08A1,6,takeitem,2 0x0944,6,dropitem,2:4 0x0887,8,movetokafra,2:4 0x08AC,8,movefromkafra,2:4 0x0438,10,useskilltopos,2:4:6:8 0x0366,90,useskilltoposinfo,2:4:6:8:10 0x096A,6,getcharnamerequest,2 0x0368,6,solvecharname,2 0x0838,12,searchstoreinfolistitemclick,2:6:10 0x0835,2,searchstoreinfonextpage,0 0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15 0x0811,-1,reqtradebuyingstore,2:4:8:12 0x0360,6,reqclickbuyingstore,2 0x0817,2,reqclosebuyingstore,0 0x0815,-1,reqopenbuyingstore,2:4:8:9:89 0x092D,18,bookingregreq,2:4 //0x08AA,8 CZ_JOIN_BATTLE_FIELD 0x0963,-1,itemlistwindowselected,2:4:8 0x0943,19,wanttoconnection,2:6:10:14:18 0x0947,26,partyinvite2,2 //0x0862,4 CZ_GANGSI_RANK 0x0962,26,friendslistadd,2 0x0931,5,hommenu,2:4 0x093E,36,storagepassword,0 //2013-05-22 Ragexe (Yommy) packet_ver: 36 0x08A2,7,actionrequest,2:6 0x095C,10,useskilltoid,2:4:6 0x0360,5,walktoxy,2 0x07EC,6,ticksend,2 0x0925,5,changedir,2:4 0x095E,6,takeitem,2 0x089C,6,dropitem,2:4 0x08A3,8,movetokafra,2:4 0x087E,8,movefromkafra,2:4 0x0811,10,useskilltopos,2:4:6:8 0x0964,90,useskilltoposinfo,2:4:6:8:10 0x08A6,6,getcharnamerequest,2 0x0369,6,solvecharname,2 0x093E,12,searchstoreinfolistitemclick,2:6:10 0x08AA,2,searchstoreinfonextpage,0 0x095B,-1,searchstoreinfo,2:4:5:9:13:14:15 0x0952,-1,reqtradebuyingstore,2:4:8:12 0x0368,6,reqclickbuyingstore,2 0x086E,2,reqclosebuyingstore,0 0x0874,-1,reqopenbuyingstore,2:4:8:9:89 0x089B,18,bookingregreq,2:4 //0x0965,8 CZ_JOIN_BATTLE_FIELD 0x086A,-1,itemlistwindowselected,2:4:8 0x08A9,19,wanttoconnection,2:6:10:14:18 0x0950,26,partyinvite2,2 //0x08AC,4 CZ_GANGSI_RANK 0x0362,26,friendslistadd,2 0x0926,5,hommenu,2:4 0x088E,36,storagepassword,0 and for "The Purchase has failed because the NPC does not exist." problem. make sure you set the correct version of your client on src\map\clif.c quick fix for r17429 just use this clif.c.patch. since they remove the support for 2012 client. then recompile. Note2! Never let your cash shop list empty, or else you will get warning and get disconnected. to add item for your cash shop. db\item_cash_db2.txt for client side. make sure you set your clientinfo.xml server type to primary. <servertype>primary</servertype> since we are now using Ragexe. this is only for RagexeRE <servertype>sakray</servertype> also fix the booking system. credits to Ai4rei's MStream KoolKat29 for fixing cash shop problem. just click the vote for this post up if it help you a lot. 2012-04-10aRagexe_v3.rar clif.c.patch
    1 point
  3. Officially supported client versions and changes to support policies on client-related bugs Hello! Here at rAthena we try our best to provide a stable server to build around. Unfortunately we've had a rash of commits in the past few months that have introduced client bugs that hadn't existed before. This is unacceptable and we apologize for any downtime or issues this may have caused. There has also been a large number of bug reports involving unusual client versions, resulting in significantly wasted time and effort on our behalf trying to track down bugs that may or may not actually exist. So as such we have as a team decided to tighten down the list of officially supported clients for rAthena. These clients will be tested against on any major update or commit that affects any packet or client-facing code to make sure new bugs are not introduced. Other client versions will be supported on an as-is basis. Basically, you are free to use any client version you wish, but for stability reasons we highly recommend sticking to the officially sanctioned list as those will be the ones we test against. If an update breaks support for a client that isn't on the approved list then it may be taken care of at a lower priority than bugs affecting officially approved versions. This does not mean we will intentionally be breaking support for clients that are not officially sanctioned, this merely means support will be tailored to those first and foremost, and any bugs or bad behaviors may go unnoticed or corrected. If there any conflicting changes that would break support on one of the officially sanctioned versions, those bugs will definitely not be fixed. What does this mean to you, the server admin? It means you can pick from one of our officially supported client versions and rest assured we will tailor support specifically to those and will aim for stability for those clients. We will do everything we can to make sure client bugs are not introduced during updates so you don't have to waste your time troubleshooting, or have to deal with angry players if something breaks. And in the unlikely event something does break, we will put the highest priority on fixing bugs affecting the officially supported clients. Here are the following clients and which server mode we support them for. Pre-Renewal: 2010-07-30aRagexeRE Renewal 2012: 2012-04-10aRagexeRE Renewal 2013: 2013-08-07aRagexe 2013-12-23aRagexe Renewal 2014: 2014-10-22aRagexe Renewal 2015: 2015-05-03aRagexe 2015-11-04aRagexe We are not supporting 2012 era Ragexe clients, only RagexeRE. Use those at your own peril. Bug reports for any other client will only be accepted at a core developer's discretion, if at all. We reserve the right to close and ignore any bug reports coming from clients other than the ones listed above. Clients older than 2010-07-30aRagexeRE are considered depreciated and while they work for the time being, support may be removed at any time. It is highly recommended you move your servers to 2010-07-30aRagexeRE or newer as soon as possible. An announcement will be made if support for clients older than 2010-07-30aRagexeRE is intentionally removed, but be warned it may break at any time and bug reports will not be accepted for fixing them.
    1 point
  4. Hello rAthena, (no drama please) So here it is The Updated & Released Castle City of Invek, or just Invek for short. Sorry for any delay in the release of the map but I hope it has been worth the wait. I have struggled with all of the bugs and issues when using BrowEdit, and I believe it has finally paid off! Here is my first public map release and I hope you all enjoy it ! I plan to Release many more maps, and even take requests from time to time. I would GREATLY appreciate any opinions, or general enthusiasm's, after all I could just keep my maps to myself but they are intended to benefit the Community ! If you download my free map release please offer me your input ! -Updated Screen Caps- July 14, 2013 I have included the invek.extra file incase you wish to make a change to the map. You may use this map as you wish, however please do not redistribute as your own work or offer my work at any other location. I do not require being credited for this map. This is intended to be used with sky background, if you have trouble changing the background, installing the map, or making a fix then drop me a PM and I will gladly help support you. DOWNLOAD: (since I apparently can not link you) it is available over on Herc.~
    1 point
  5. What? Why? getmonsterinfo(killedrid,22) Ugh nvm... MVP EXP is an rAthena thing... Geez it's hard too keep track of all the changes. - script Anti123 -1,{ OnNPCKillEvent: if ( !compare(.mvps$,"|"+killedrid+"|") ) end; set @bot_chk, @bot_chk+1; if (@bot_chk < 1) end; else set @bot_chk,0; set .@user$, strcharinfo(0); attachnpctimer; startnpctimer; atcommand "@mute 1 "+.@user$; set .@A, rand(1,10); set .@B, rand(1,10); mes "If A = "+.@A+" B = "+.@B; cutin "kafra_08",2; switch ( rand(4) ) { case 0: set .@Answer,.@A + .@B; mes "How many is A + B ?"; break; case 1: set .@Answer,.@A - .@B; mes "How many is A - B ?"; break; case 2: set .@Answer,.@A * .@B; mes "How many is A * B ?"; break; case 3: set .@Answer,.@A / .@B; mes "How many is A / B ?"; } input .@Input; if ( .@Input == .@Answer ) { mes "Good Job!"; cutin "",255; stopnpctimer; close2; detachrid; atcommand "@unmute "+.@user$; end; } mes "Wrong"; stopnpctimer; detachrid; atcommand "@kick "+.@user$; close; OnTimer60000: mes "Time Out!"; stopnpctimer; sleep 1000; atcommand "@kick "+.@user$; end; OnInit: set .mvps$, "|5001|5002|5003|5004|5005|"; }
    1 point
  6. RMSC 2012 (Ragnarok Malaysia Singapore Championship 2012) http://ro3.gameflier.com.my/rmsc2012/prize_E.html 18828,2012RMSCNO1,2012RMSCNO1,5,0,,1000,,5,,1,0xFFFFFFFF,7,2,256,,95,1,942,{ bonus bAllStats,5; bonus bMdef,5; bonus bUnbreakableHelm,0; skill "AL_TELEPORT",1; bonus bSpeedRate,25; },{},{} 18829,2012RMSCNO2,2012RMSCNO2,5,0,,1000,,5,,1,0xFFFFFFFF,7,2,256,,95,1,943,{ bonus bAllStats,4; bonus bMdef,5; bonus bUnbreakableHelm,0; skill "AL_TELEPORT",1; bonus bSpeedRate,25; },{},{} 18830,2012RMSCNO3,2012RMSCNO3,5,0,,1000,,5,,1,0xFFFFFFFF,7,2,256,,95,1,944,{ bonus bAllStats,3; bonus bMdef,5; bonus bUnbreakableHelm,0; skill "AL_TELEPORT",1; bonus bSpeedRate,25; },{},{} 18831,2012RMSCNO4,2012RMSCNO4,5,0,,1000,,5,,1,0xFFFFFFFF,7,2,256,,95,1,945,{ bonus bAllStats,2; bonus bMdef,5; bonus bUnbreakableHelm,0; bonus bSpeedRate,25; },{},{}
    1 point
  7. - script Quest_Quest -1,{ OnInit: setarray $QReq[0],501,502,503,504,505,506,507,508,509,510; // Input Quest Requirements here } city,84,317,5 script DudeMan 665,{ //I always like to index quest variables at the top if(lemon == 1){goto QUESTNAME1;} if(lemon == 2){goto QUESTNAME2;} mes "[DudeMan]"; mes "So... you will blahblah, go and punch Lemon."; set lemon, 1; close; QUESTNAME1: mes "[DudeMan]"; mes "Did you do it?"; mes "Come on, i know you didn't."; close; QUESTNAME2: mes "[DudeMan]"; mes "Hehe, you showed that idiot."; next; mes "[DudeMan]"; mes "What? Did you expect a reward? You went and punched a guy for no reason, fuck off!"; close; }//End of DudeMan city,84,317,5 script Lemon 665,{ if(lemon == 1){goto QUESTNAME1;} if(lemon == 2){goto QUESTNAME2;} mes "[Lemon]"; mes "This script is UNNACEPTABLEEEEEE!."; close; QUESTNAME1: set .@req,getarraysize($QReq); for ( .@i = 0; .@i < .@req; .i++ ) { if (countitem(.@req[.@i])<1) { dispbottom "Its seems there is something wrong! I cant punch the lemon!"; close; } dispbottom "You punch him really hard in the belly."; sleep2 2000; emotion e_sob; mes "[Lemon]"; mes "w... why?"; sleep2 3000; emotion e_sob; mes "That hurts!"; set lemon, 2; close; QUESTNAME2: emotion e_sob; mes "[Lemon]"; mes "Please don't hurt me!"; close; }//End of Lemon try this one (above), if not working just say so. and the easy way to understand(below): city,84,317,5 script DudeMan 665,{ //I always like to index quest variables at the top if(lemon == 1){goto QUESTNAME1;} if(lemon == 2){goto QUESTNAME2;} mes "[DudeMan]"; mes "So... you will blahblah, go and punch Lemon."; set lemon, 1; close; QUESTNAME1: mes "[DudeMan]"; mes "Did you do it?"; mes "Come on, i know you didn't."; close; QUESTNAME2: mes "[DudeMan]"; mes "Hehe, you showed that idiot."; next; mes "[DudeMan]"; mes "What? Did you expect a reward? You went and punched a guy for no reason, fuck off!"; close; }//End of DudeMan city,84,317,5 script Lemon 665,{ if(lemon == 1){goto QUESTNAME1;} if(lemon == 2){goto QUESTNAME2;} mes "[Lemon]"; mes "This script is UNNACEPTABLEEEEEE!."; close; QUESTNAME1: if (countitem(501)<1 && countitem(502)<1 && countitem(503)<1 ) { mes "You need to get a set of "+getitemname(501)+","+getitemname(502)+","+getitemname(503)+" to punch the lemon!"; close; } dispbottom "You punch him really hard in the belly."; sleep2 2000; emotion e_sob; mes "[Lemon]"; mes "w... why?"; sleep2 3000; emotion e_sob; mes "That hurts!"; set lemon, 2; close; QUESTNAME2: emotion e_sob; mes "[Lemon]"; mes "Please don't hurt me!"; close; }//End of Lemon QUESTNAME1: if (countitem(501)<1 && countitem(502)<1 && countitem(503)<1 ) { mes "You need to get a set of "+getitemname(501)+","+getitemname(502)+","+getitemname(503)+" to be able to punch the lemon! close; } change item id in the upper box ^^^^ 501,502,503
    1 point
  8. Okay, here's a repo with the current code base along with a some words on how to run it continued development. I'm kept busy with real work, and it can go months between updates on my part. As such I've decided to release what I have so far in hopes that someone will find it useful. As with my other work you can regard my code as public domain, though I encourage sharing if you decide to improve it. https://github.com/curio-r/rangarok-js Hopefully I managed to get all the necessary files up. If not, let me know. As I stated from the beginning, this is a personal project I've worked on a little now and then, so it's not up to any standard. This goes for coding style, application architecture, error handling etc. I haven't run it in more than a couple environments, so it's not unlikely you will need to fix something to get it running. Please understand that game play is not ready yet. Most notably I haven't implemented an entity system, and due to various circumstances I haven't really begun working on the zone server packets. How to set it up: Open settings.js and change the data folder path. This is the path exposing the data folder on your WEB SERVER. Setting a local URI (e.g. "C:\Ragnarok\data\") will NOT work because of security policies in your web browser. This is all you should need to do in order to use the map loader. (Optional) Put the Ragnarok BGM folder into the ragnarok-js folder for music. If you want to connect to an Athena server you will also need to setup a WebSocket-TCP bridge. I use a program called WebSockify and by default the web client will try to connect to [$real_port - 1]. So you need to e. g. set up WebSockify on port 6899 to connect to the login server at port 6900. Same goes for char and map. Because this approach effectively hides the client IP from the server there are certain issues with connecting to remote servers which I haven't bothered dealing with yet. I recommend you use Chrome or an equivalent. I've tested on Firefox as well, but it's slow, though this might be due to my setup. It should be able to run on fairly weak computers, but your graphics card needs to have support for WebGL (i. e. not too old OpenGL version). If things don't work out for you remember that you can open the web inspector to see error messages (ctrl-shift-i in Chrome). Running: http://path-to-ragnarok/MapLoader.html will open the map loader. It should load gl_knt02 by default (change in MapLoader.html) and allow you to walk around. From the web inspector's JavaScript console you can spawn monsters (ex. "spawn('raydric')"), change class (ex. "setclass(7)" to change into knight) or head gear (ex. "settop(AccessoryIdTable.ACCESSORY_BUNNYBAND)"). Example: http://i.imgur.com/bDXe84D.jpg http://path-to-ragnarok/Ragnarok.html will open the client. If everything goes well you should be able to get into the game. After that it's not much more you can do.
    1 point
  9. 1 point
  10. And after so much time with people asking for this... https://github.com/g...5b62953a9f167e8 Added WDGRemoveLoginAutoClose, prevent the client to close when the login is refused. Tested with 2012-04-10RagexeRE. Binaries: https://github.com/g...master/PreBuilt Source: https://github.com/g...dpplugins/tree/
    1 point
×
×
  • Create New...