Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 06/09/15 in all areas

  1. File Name: Flux CP CMS Addon File Submitter: CalciumKid File Submitted: 26 Feb 2012 File Category: Web Resources Features: Integrates directly into FluxCP as an Addon. Designed to comply with FluxCP PDO programming techniques. WYSIWYG Editor (TinyMCE), you may change that with some tweaks. Designed to be skinned further for Integrated website designs via FluxCP CSS edits. Public sections are SQL injection protected. Simple administration user interface. "Last modified" functions. Ability to link a "read more" url. Planned Features: Automatically load news from IPB RSS Feed Download: Password: "RAthena" Installation: Basic Setup: Download the ContentManagement1.0.zip and extract it. Open the addons folder it extracted. Copy the content_management folder inside it to your webserver's FluxCP addons folder (or write over the addons folder with the extracted addons folder) Visit your FluxCP installation. You will be redirected to the installation system. Provide it with your details and allow it to install. You should be redirected to the home page of your FluxCP. If this goes without error, we're almost there. On your webserver, visit themes\default\main and open index.php for editing. Replace everything inside the file to contain this: <?php if (!defined('FLUX_ROOT')) exit; $this->redirect($this->url('news','view')) ?> Save the file and close. Upon visiting the home page of your site you should now be presented with the News System. Job done. Celebrate having a free CMS? Adding Content: Login as an account with Admin (level 99) access. In the admin menu, either click News or Pages. Then add or edit as required. Adding/Editing links on the CMS: Visit addons\content_management\config and open addon.php for editing. Edit the array entries under "// Sample items for pages function." as required making sure to edit the "path=" section to what you defined when you created content on the CMS. Known Issues: When using CleanURLs, you must change the addon.php file to use ExtURL on it's URLs. Example: // Sample items for pages function. 'Downloads' => array('module' => 'pages','action'=>'content&path=downloads'), Becomes: // Sample items for pages function. 'Downloads' => array('exturl' => 'http://<your FluxCP Install URL>/?module=pages&action=content&path=downloads'), If you like my work, please rate the topic and give reputation! Thanks! Click here to download this file
    1 point
  2. 2013 Ragexe ( Thanks to Yommy for all the scripts and the great help Thanks to MStream for his help to the project and for adding patches Thanks to k3dt for unpacking/hosting all the exe and hosting the diff files ) Things you have to do to make it works Open your clientinfo.xml Search <servertype></servertype> Set it to primary Search <langtype></langtype> Set it to 0 Open your db/packet_db.txt in your rathena folder Search the version who match why your ragexe's date choice ex ://2013-05-22 Ragexepacket_ver: 36 So your version will be in clientinfo.xml :36 src/common/mmo.h Search #define PACKETVER YYYYMMDD And match it with the date version you choosed for your client ex : #define PACKETVER 20130522 Clean and re-build the solution of your emulator after it !!! Those patchs has been removed : Restore Login Window - Disable rag1&sak1 - Skip Service Select bug for a lot of people, please don't use it if it's not for testing purpose and use that software : Loki Launcher (It's a ro launcher : you have to use it to log in the game) http://hercules.ws/board/topic/1070-loki-launcher/ or R.O.L.e.X : http://hercules.ws/board/topic/930-rolex/ Ragexe (thx to k3dt) - The patchs support version of Ragexe >= 2013 03 20 http://k3dt.eu/Ragexe/unpacked/ Diff Patcher v2 http://www.mediafire.com/?fibc47gzvdshp8o Diff files http://k3dt.eu/Ragexe/unpacked/Diffs/ Data folder If you have some problem with your lua files, please delete your old data/luafiles514 folder And put those files in your ragnarok folder : https://subversion.assembla.com/svn/client-side-translation/ Finally, change all lua extension to lub extension, place this script in your data/luafiles514 folder Windows : http://www.mediafire.com/?jvtac0j8f6m604v Linux : http://www.mediafire.com/?r72dz8mpk83dvsr If you still have trouble with lub files, you can use my own luafiles514 folder (delete your own luafiles514 folder before !!!) http://www.mediafire.com/?uudw9u0siwnycwz Packets 2013-03-20 - Packets : Encryption keys 2013-05-15 - Packets : Encryption keys 2013-05-22 - Packets : Encryption keys 2013-05-29 - Packets : Encryption keys 2013-06-05 - Packets : Encryption keys 2013-06-12 - Packets : Encryption keys 2013-06-18 - Packets : Encryption keys 2013-06-26 - Packets : Encryption keys 2013-07-03 - Packets : Encryption keys 2013-07-10 - Packets : Encryption keys 2013-07-17 - Packets : Encryption keys 2013-07-24 - Packets : Encryption keys 2013-07-31 - Packets : Encryption keys 2013-08-07 - Packets : Encryption keys Any error ? Look this Support Topic first Working : @ Chat Fix Allow Chat Flood (X lines) Allow Space In Guild Name Arial on All Langtypes Change Gravity Error Handler Chat Color GM Chat Color Guild Chat Color Main Chat Color Party Other Chat Color Party You Chat Color Player Other Chat Color Player You Custom Window Title Disable 4 letter charname limit Disable 4 letter username limit Disable 4 letter password limit Disable Nagle Algorithm Disable Ragexe Filename Check Disable rag1&sak1 Disable Hallucination Wavy Screen Disable HShield Disable Packet Encryption Disable Quake Skill Effect Disable Swear Filter Enable Ascii Enable Custom 3D Bones Enable Multiple Grf Enable Official Custom Fonts Enable Title Bar Menu Enable 64k Hairstyle Enable DNS Support Enforce Official Login Background Extended Chat Box Extended Chat Room Box Extended Npc Box Extended PM Box Fix Camera Angles (Full, Less, Recommended) HKLM to HKCU Increase Headgear View ID to 5000 Increase Zoom Out (50% - 75% - Max) Increase Screenshot Quality Ignore Missing File Error Ignore Missing Palette Error Korea Service XML Fix Only First Login Background Only Second Login Background Packets Keys Change Read Data Folder First Read lua before lub (ItemInfo.lub) Read msgstringtable.txt Read questid2display.txt Remove GM Sprites Remove Gravity Adds Remove Gravity Logo Remove Hourly Annonce Remove Serial Display Shared Body Palettes Shared Head Palettes Skip Licence Screen Skip Ressurection Button Translate Client in English Use Custom Aura Sprites Use Normal Guild Brackets Use Plain Text Descriptions Use Ragnarok Icon Use SSO login packet for all Langtype
    1 point
  3. In C and C++, strings are null-terminated, meaning they must end with '\0' (which is 0x00 in hex). If you omit this 0x00, the end of the string cannot be seen and it will read whatever's currently in your memory until it finds a 0x00. The + 9 is for the total length of the packet. packet length = 2 bytes (packet id) + 2 bytes (string length) + 4 bytes (npc id) + strlen(mes) bytes (number of characters in your message) + 1 byte (null-terminated char byte) = strlen(mes) + 9 If you take a look at the memcpy line, it copies 6 characters but the string "hello" is actually only 5 characters (slen - 8 = 14 - 8 = 6). This when it copies that 0x00. For any strings in C, writing this is wrong : char c[5] = "hello"; It needs to be : char c[6] = "hello"; Not really sure what you mean here! 0xb4 is a "shortcut" for 0x000000b4. The compiler converts it to a Word for you, so : 0x00b4, which is swapped around to 0xb4 0x00. So I guess that yes, you set the two values with this line. That explanation may not be 100% accurate, but it's close enough. If you had... 0xfb4, you'd get 0xb4 0x0f. If you had 0xaabb0f, you'd get 0x0f 0xbb (that 0xaa is 'lost' because it goes beyond the uint16 range of 2 bytes).
    1 point
  4. I've been done with this for a few months and slowly fixing bugs, but it seems to be pretty much stable now. It's just been sitting on the back burner since I wanted some help to test it but everyone's been busy lately :\. I might create a PR/branch or just push to master very soon.
    1 point
  5. Heya! WFIFOHEAD(fd, slen); WFIFOW(fd,0)=0xb4; WFIFOW(fd,2)=slen; WFIFOL(fd,4)=npcid; memcpy((char*)WFIFOP(fd,8), mes, slen-8); WFIFOSET(fd,WFIFOW(fd,2)); Let's say you want to send the message "hello", slen being 5 + 9 = 14. First call is obvious, sets the length of the packet. WFIFOW means "Write a Word to the socket (a Word is 2 bytes - uint16) at position 0", giving you the following raw output so far : 0xb4 0x00 - ... It is reversed because of the endianness, which is "always" in little-endian. WFIFOW(fd,2), same as above, giving you (14 = 0x0E) : 0xb4 0x00 - 0x0E 0x00 - ... WFIFOL means "Write a Long to the socket (a Long is 4 bytes - uint32) at position 4", giving you the following raw output so far (let's say the npcid is 297520349 = 0x11BBCCDD) : 0xb4 0x00 - 0x0E 0x00 - 0xDD 0xCC 0xBB 0x11 - ... WFIFOP retrieves the char pointer for the writing socket buffer at the specified position. memcpy simply copies the content of mes ("hello") to that position. Giving you... 0xb4 0x00 - 0x0E 0x00 - 0xDD 0xCC 0xBB 0x11 - 0x48 0x65 0x6c 0x6c 0x6f 0x00 WFIFOSET sets the buffer to the correct position to send it (WFIFOW actually returns a pointer to the position, so in this case it's handy because it returns slen; then again it's a bit pointless, it could have just been "WFIFOSET(fd,slen);" and it would be clearer). /// 00b4 <packet len>.W <npc id>.L <message>.?B This means 0x00b4 is your packet id, followed by a Word (packet length), followed by a Long (npc id), followed by a variable number of bytes (your message). 0x00b4,-1 That means the size of the packet is unknown/variable (indeed, the message can be of any size). 0x00b5,6 That means the size of the packet is always 6 bytes. In this case, the first 2 bytes are the packet ID, the next 4 bytes are the npc id, or : 00b5 <npc id>.L The packet field can be used for something like... 0x00b5,6,clif_scriptnext,2; - this can help you retrieve the positions more easily. For example : packet_db[sd->packet_ver][RFIFOW(fd,0) /* packet id */].pos[0] // pos[0] here is the "2" you defined earlier. Some packet_ver defines different indexes for the same packet, that's why it's useful not to use pre-defined values. To write a new packet, you have the right idea. Find a packet not used, go in a high range to avoid further conflicts. Also there's a packet limit, not really sure where it's defined on rAthena though.
    1 point
  6. Well if this is the only solution... - script ScriptLoader -1,{ OnInit: setarray .script_locations$ , "npc/path/to/script1" , "npc/path/to/script2"; end; OnPCLoginEvent: if (!.set) { for (.@i = 0 ; .@i < getarraysize(.script_locations$) ; .@i++) atcommand "@loadnpc "+.script_locations[.@i]; .set = 1; } } Still it's really weird
    1 point
  7. One thing about using eathena. some or more players want the old mechanics of eathena (which is really bug) and here in rathena it is fixed. but players won't understand that it was a bug and they still believe that was the original mechanics.
    1 point
×
×
  • Create New...