Jump to content

jaBote

Community Contributors
  • Content Count

    2037
  • Joined

  • Last visited

  • Days Won

    43

Reputation Activity

  1. Upvote
    jaBote reacted to mleo1 in Linux Commands for MySQL   
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, EXECUTE ON ROdatabase.* TO 'user'@'host';  
  2. Upvote
    jaBote reacted to Shikazu in [Atcommand]afk   
    The plugin is working but has no timeout and you can sit wherever you want.
     
    It is being reworked, when i have found out how to access the config's from a plugin.
     
    Here it is: https://github.com/shikazu/hpm-plugins/blob/master/src/plugins/afk.c
     
    just compile it, add it to your plugins.conf and type @afk ingame
     
    A little screenshot how it looks ingame, since you can't see it (afk logs you out, but you are still sitting there )
     
    ~Shikazu

  3. Upvote
    jaBote reacted to Igniz in [Pedido] NPC   
    Esta opcion ya viene por default, buscala en conf/battle/monster.conf
     
  4. Upvote
    jaBote reacted to Shikazu in Shikazu's HPM Plugin Collection   
    Hey Guys,
     
    here i will list all plugins i write for the Plugin Module of Hercules.
     
    GitHub Repository: https://github.com/shikazu/hpm-plugins
     
    Plugin List:
     - [Atcommand] @afk -> http://herc.ws/board/topic/984-atcommandafk/
     - [Atcommand] @mapmoblist -> https://github.com/shikazu/hpm-plugins/blob/master/src/plugins/mapmoblist.c
     - [script Command] autonext  -> http://herc.ws/board/topic/976-script-cmdautonext/
     - [script Command] dispbottomcolor -> http://herc.ws/board/topic/974-script-cmddispbottomcolor/
     - [script Command] messagecolor -> http://herc.ws/board/topic/978-script-cmdmessagecolor/
     
    A description of this will be available in the specific topic's. Use this topic to post requests for plugins and i will decide if i can code them as plugin!
     
    ~Shikazu
  5. Upvote
    jaBote reacted to nanakiwurtz in Need more examples   
    There's not much discussion about this Plugin system, and it means not many people understands how it work and even made a plugin itself.
    I can see that this feature is very useful and versatile, but there's lack of information about this feature.
    And also, there're not much people who understand to write in C, so I guess we need help, by writing more examples maybe?
  6. Upvote
    jaBote reacted to Patskie in [Guide] How to setup hercules   
    There is an existing server installation guide made by Diconfrost VaNz on this topic but this is outdated. So let me give ample time to share my experience on how to install Hercules SVN on your local machine.
     
    1. To obtain hercules, refer to Ind's topic
    2. Go to conf/char-server.conf and look for the code below : 
    // Server Communication username and password.userid: s1passwd: p1  
    Set s1 and p1 to anything you want but take note of them as you will use them later on when you move to SQL portion of this installation.
     
    In my case, i will use patskie since it is my screen name.
    // Server Communication username and password.userid: patskiepasswd: patskie  
    3. Set your server name? Find this line also on your conf/char-server.conf. Change it to whatever you want : 
    // Server name, use alternative character such as ASCII 160 for spaces.// NOTE: Do not use spaces or any of these characters which are not allowed in //       Windows filenames /:*?"<>|//       ... or else guild emblems won't work client-side!server_name: Hercules  
    4. Remove // on the following code : 
    //login_ip: 127.0.0.1  
    //char_ip: 127.0.0.1 Note : 127.0.0.1 means localhost, local machine.
     
    5. Save and exit
    6. Now go to conf/map-server.conf
    7. Same to what you have did in conf/char-server.conf :
    //--------------------------------------------------------------//                     Configuration Info//--------------------------------------------------------------// Interserver communication passwords, set in account.txt (or equiv.)userid: patskiepasswd: patskie  
    8. Remove // on the following code :
    //char_ip: 127.0.0.1  
    //map_ip: 127.0.0.1  
    9. Once you're done. Save and exit.
    10. Now go to conf/inter-server.conf
    11. Set the following code :
    // Global SQL settings// overriden by local settings when the hostname is defined there// (currently only the login-server reads/obeys these settings)sql.db_hostname: 127.0.0.1sql.db_port: 3306sql.db_username: rootsql.db_password: ragnaroksql.db_database: herculessql.codepage:// MySQL Character SQL serverchar_server_ip: 127.0.0.1char_server_port: 3306char_server_id: rootchar_server_pw: ragnarokchar_server_db: hercules// MySQL Map SQL Servermap_server_ip: 127.0.0.1map_server_port: 3306map_server_id: rootmap_server_pw: ragnarokmap_server_db: hercules// MySQL Log SQL Databaselog_db_ip: 127.0.0.1log_db_port: 3306log_db_id: rootlog_db_pw: ragnaroklog_db_db: loglog_codepage:log_login_db: loginlog Note : Use 127.0.0.1 as ip because you will run these server on your local machine. Use root as the database id because by default MySQL workbench uses root as username. And finally ragnarok as database password which is configurable by users. Set map, char an sql database to hercules and set log database to loginlog 
     
    12. Once done, Save and exit
    13. Now go to src/common/mmo.h and find the following code :
    #ifndef PACKETVER #define PACKETVER 20120418#endif Change to : 
    #ifndef PACKETVER #define PACKETVER 20100730#endif Note : You can change 20120418 (2012-04-18) to whatever client-date you want. In my case i will use 2010-07-30 client (20100730).
     
    14. Save and exit.
    15. Now let's go to mysql part.
    16. Download MySQL workbench here. Why workbench? More convenient to use.
    17. Once you are finished downloading and installing. Download WAMP server here because workbench will not start functioning if you do not have WAMP server
    18. Once you are finished downloading and installing wampserver. Run it
    19. Open mysql workbench
    20. Add user and password into it. Follow this guide. Make sure you set username as root and password as ragnarok because this is the credentials located on your conf/inter-server.conf
    21. Create a server instance and connection. Just click New Connection for creating connection and click New Server Instance for creating a new server instance everything there are self explanatory
    22. More likely you must have the following : ( Check image below )

    23. At the left portion of the application. You can see schemas. Right click on one of them (test schema) and click on create schema
    24. Set the name of the schema to hercules because that is the credential we put in our inter-server
    25. Create also a schema log 
    26. Double click hercules schema
    27. Under file located at the bottom of the home button ( upper left to be exact ) click Open SQL Script and locate sql script on sql-files/main.sql, open it and execute ( you can find execute button at the upper portion of the text editor of mysql workbench it looks like a thunder xD )
    28. Double click log schema
    29. Under file located at the bottom of the home button ( upper left to be exact ) click Open SQL Script and locate sql script on sql-files/logs.sql, open it and execute ( you can find execute button at the upper portion of the text editor of mysql workbench it looks like a thunder xD )
    30. Once everything is set double click again hercules schema
    31. Execute the following code 
    SELECT * FROM login; 32. Change userid, user_pass to the credentials you have put on both char-server and map-server.conf
    33. Click apply.
    34. Once done, go back to your server files and compile everything using Microsoft Visual Studio 2009 or 2010 or 2012 
     
    Note : 
    Microsoft Visual Studio 2009 = Hercules-9
    Microsoft Visual Studio 2010 = Hercules-10
    Microsoft Visual Studio 2012 = Hercules-12
     
    35. Open it via C++
    36. In my case i am using MVS 2010, Highlight char-server, login-server, map-server, mapcache at the left portion of the application. Right click on it and click Build Selection
    37. Check image for successful compilation, Once done exit the application

    38. Now you're done! Run run-server.bat on main folder
     
     
    I hope this guide help other people who find it difficult to install hercules svn on your local machine. Actually this guide is not hard. I just divided the guide into small chunks so that people will understand more. If you think that any portion of installation is not included in my guide or maybe in some way not good or not correct then feel free to post it.
     
    Additional Notes : 
    - If you want other people to connect then you must port forward your router, or you can use other application like hamachi
    - If any error occur feel free to post it here. Make sure you will post it in a detailed manner. Post screenshot if possible
    - I include a diff client for 2010-07-30 since i use it in this guide
    2010-07-30-DIFF.rar
  7. Upvote
    jaBote reacted to Mystery in May Digest 2013   
    May Digest 2013
    The following digest covers the month of May 1st - May 31st 2013.
     
    Team Changes
    [*]Judas has been moved from Global Moderator to Forum Manager. [*]Mysterious has been moved from Global Moderator to Forum Manager. [*]jaBote has been moved from International Moderator to Global Moderator. [*]Joseph has joined as a Script Developer. [*]Masao has joined as a Script Developer.

    Development Highlights
    [*]Memory Slasher {May 30th Patch} (20bdc01, 5a138ce, f6bca33) [*]Instance Rework [*]Instance Functionality/Feature [*]Script Command Changes
    [*]Battlegrounds Queue
    [*]Arenas [*]Queuing [*]Queue Script Commands
    [*]MOTD Redesign (Dropped old design) (9080a58) [*]Third Class Effects: Update (8cc9012) [*]Support for 5,000 Skill IDs (d95d689) [*]Mapreg Saving Overhaul (3bfadf4) [*]Upgrading of Stat Server (2.5 --> 3.0) (c5986ba) [*]Hercules Plugin Manager (a2c45a8) [*]Hercules Console Input  (a2c45a8) [*]Implementation of "item_nouse" (c347eba)


    Scripts
    [*]Implementation of Mora NPCs / Quests (11a90e1) [*]Custom implementation of Dwarf Mighty Hammer (b17e2b7) [*]Eden EXP quests 56-70 Rewritten (26ba1ad)

    Client Support
    [*]Update of packet.h for Ragexe 2013-05-22 (cc6defd) [*]New Packets for 2013-05-15aRagexe (2ff4db5) [*]Character Slot Change Fix (890e296) [*]2013-03-20 Packet Update (8e41dab)

    Statistics
    [*]During the period there were 103 Commits. [*]Of these 103 commits, 52 included bug-fixes. [*]11 Commits from Pull Requests [*]In this month, there were 25,241 Additions and 15,837 Deletions.

  8. Upvote
    jaBote reacted to Ind in Memory Slasher !!" - May 30 Patch   
    Hercules casts "Memory Slasher !!" - May 30 Patch
    Memory Slasher !!
    Regardless all the fancy features in it, this patch's greatest achievement is smart, clever employment of memory, by looking at our memory usage wisely we've been able to reduce map-server's memory (RAM) usage by more than 2/3, about 183MB of RAM were dropped, while maintaining Hercules outstanding record on performance improvement. Beyond the memory usage drop there is also a significant processing speed improvement which can be noticed during boot, map cache loading which used to account for most of the map-servers boot time no longer exists, its gone, dead, fini, boom! it was replaced by a smart map cache handler that loads its data only when a map is necessary (the data is then kept until shut down), this logic also makes map-server's shut down process a hell lot faster.
     
    Instance Rework
    As suggested by the community, this wasnt supposed to be bundled with this commit but the memory usage improvements required me to modify how instances were stored, so I re-wrote part of it to fit the suggestion as well.
    Instance Functionality/Feature Server may now create instances of any maps regardless of client-side edits, e.g. one can clone prontera and call it "mymapname" (as is best described in the *instance_attachmap script command note) Instances may now be available in 4 distinct ways (as is best described in *instance_create script command note), by nobody (server type instance, to be used with special map names), by a sole character, by a party, or by a guild Script Command Changes *instance_create 2nd param is now called owner_id instead of party_id, and it got a 3rd optional param that defines what kind of owner id it is (when not provided, assumes party_id, for backwards compatibility), available options are (IOT_ stands for INSTANCE OWNER TYPE) IOT_NONE (0), IOT_CHAR (1), IOT_PARTY (2) and IOT_GUILD (3). *instance_destroy no longer autodetects instance id from party id *instance_attachmap now supports a 4th, optional, param, "<new map name>", it will allow you to specify a entirely new map name for the instance (without the need of client-side edits). This option can be best employed when used on a instance of <owner_type> IOT_NONE *instance_detachmap no longer autodetects instance id from party id *instance_id no longer supports any param *instance_set_timeout no longer autodetects instance id from party id *instance_announce no longer autodetects instance id from party id, and to tell it to autodetect from the attached script you must set instance_id param as -1 as opposed to 0 *instance_npcname no longer autodetects instance id from party id *has_instance no longer autodetects instance from party, however it now checks if attached player possesses a instance with same map as has_instance(<param>) checks for *instance_warpall no longer autodetects instance from party Other ChangesInstance IDs (valid ones) are now always >= 0 as opposed to > 0 (update your scripts!) Battlegrounds Queue
    As suggested by the community, most of its features were added in this patch, we were unable to finish it though because we lacked some information, we've put our questions in this topic, once our questions are answered we should be able to finish it in a matter of minutes (all the heavy lifting was done in this patch).
    Arenas They're easily configurable in the new conf/battlegrounds.conf file, it possible to add more arenas by editing the client's lua files/entryqueue/entryqueuelist.lua file Configuration Sample arenas: ({    name: "Tierra Gorge" //must match the name in client files    event: "Tierra_BG2::OnPlayerListReady"    minLevel: 80    maxLevel: 150    reward: {/* amount of badges awarded on each case */        win: 3        loss: 1        draw: 1    }    minPlayers: 6 /* minimum amount of players to start */    maxPlayers: 60 /* maximum amount of players */    minTeamPlayers: 6 /* minimum amount of team members required for a team (party or guild) to join */    delay_var: "Tierra_BG_Tick" /* npc variable name that will store the delay for this match */    maxDuration: 30 /* maximum duration in minutes, if reached game ends and highest score wins (or calls a draw if scores are equal) */},{    name: "KVM (Level 59 and below)" //must match the name in client files    event: "KvM03_BG::OnPlayerListReady"    minLevel: 1    maxLevel: 59    reward: {/* amount of badges awarded on each case */        win: 1        loss: 0        draw: 0    }    minPlayers: 4 /* minimum amount of players to start */    maxPlayers: 60 /* maximum amount of players */    minTeamPlayers: 5 /* minimum amount of team members required for a team (party or guild) to join */    delay_var: "KVM_BG_Tick" /* npc variable name that will store the delay for this match */    maxDuration: 30 /* maximum duration in minutes, if reached game ends and highest score wins (or calls a draw if scores are equal) */}) QueueWe wanted to make the queue as easy to play with as possible, so we've created a whole new set of script commands designed with this purpose. These commands make it easy to create and control queues for anything, games, events, quests, and of course in this case, the battleground's queue. Queue - Script Commands *queue()creates a new queue instance, returns created queue id set .@id,queue(); *queuesize(<queue_id>)returns the amount of entries in queue instance of <queue_id>. set .@length,queuesize(.@queue_id); *queueadd(<queue_id>,<var_id>)adds <var_id> to queue of <queue_id>, returns 1 if <var_id> is already present in the queue, 0 otherwise. queueadd(.@queue_id,.@var_id); *queueremove(<queue_id>,<var_id>)removes <var_id> from queue of <queue_id>, returns 1 if <var_id> is not present in the queue, 0 otherwise. queueremove(.@queue_id,.@var_id); *queueopt(<queue_id>,<optionType>,{Optional <option val>})modifies <queue_id>'s <optionType>, when <option val> is not present, <optionType> is removed from <queue_id>, when present it modifies <queue_id>'s <optionType> with the new <option val> value.
    Currently 3 options are available, HQO_OnDeath (0), HQO_OnLogout (1), HQO_OnMapChange (2) (the constant names are not final). queueopt(.@queue_id,0,"MyNPC::MyOnQueueMemberDeathEventName");It allows you to hook npc events to be triggered by specific actions that may happen to a player in the queue (when the queue in question is used for account ids) *queuedel(<queue_id>)deletes <queue_id> returns 1 when <queue_id> is not found, 0 otherwise. queuedel(.@queue_id); *queueiterator(<queue_id>)creates a new queue iterator instance, a queue iterator is not a reference to a queue's actual members, it copies the queues members when initialized, this way you can loop through them even if you remove them from the queue set .@it,queueiterator(.@queue_id); *qicheck(<queue_iterator_id>)checks whether there is a next member in the iterator's queue, 1 when it does, 0 otherwise. qicheck(.@queue_iterator_id); *qiget(<queue_iterator_id>)obtains the next member in the iterator's queue, returns the next member's id or 0 when it doesnt exist. for( set .@elem,qiget(.@queue_iterator_id); qicheck(.@queue_iterator_id); set .@elem,qiget(.@queue_iterator_id) ) *qiclear(<queue_iterator_id>)deletes a queue iterator from memory, returns 1 when it fails, 0 otherwise. qiclear(.@queue_iterator_id) Sample Usage: /* say create a queue */set .@id,queue();queueadd(.@id,getcharid(3));/* ... add as many entries ... (no limit) */if( queuesize(.@id) == 999 ) {    /* whatever */}/* anywhere in the code */set .@it,queueiterator(.@id);for( set .@elem,qiget(.@it); qicheck(.@it); set .@elem,qiget(.@it) ) {    //do anything e.g.    /* attachrid .@elem; */    /* mes "ID:"+.@elem; */}qiclear(.@it); Special Thanks To
    Yommy for providing me with a hell lot of data for the BG Queue, wouldn't have been able to get it to this point without his help. Rosiel for his suggestion on the instance feature Xgear for his help with the network timeout bug mkbu95 for pinpointing the script parser bug All of Hercules Staff for their ideas/suggestions/criticism and support, and for keeping me sane during this memory slashing madness The Future~! This patch sure has taken me away from my usual bug-squashing mode, I'll be going back to my over-10-bug-fix-a-day schedule. We have quite a hell lot planned so this might not last long, make sure to keep an eye on your bug reports for I sure will be replying to them. Link~u! Commit 1 Commit 2 Commit 3
  9. Upvote
    jaBote reacted to Neo-Mind in R.O.L.eX   
    Ragnarok Online Launcher eXecutable (R.O.L.eX)

    Info:
    I started learning C# + .net and I thought why not create a client launcher and "kill 2 birds with 1 stone
    and here is the result.I chose the name cuz well who doesn't like rolexes 
    Screenshots:
    Default Look

     
    With BG

     
    Features:
    1) Configurable Window Title & Background (I am also planning to make buttons also configurable in future) 2) Settings button - invokes setup.exe (the file name is configurable within the ini file) 3) Register button - you can specify the website for registration in the ini file 4) Once you press Login Button (or press Enter) the Launcher minimizes to the background   and rises back if the Client gets closed (Useful especially when you press cancel button during initial screens) 5) Starts updater before you log in to ensure RO folder is updated (can be turned off from ini file). Filename of the updater as well as   Minimum No of days (default is 1) before next update can also be specified. - Credits to Shakto for the idea   Download Link:
    http://www.mediafire.com/?7l4sq249k3zo4zo

    EDIT:
    Second version built for .NET 2.0 using WinForms - aka "Lazy Version"
    (I still believe its far better to go for .NET 4.0 - you can include the installer for .NET along with your client installer when you provide it to players).

    Screenshots:
    Default Look:


    With BG Image:

     
    Download Link:
    https://www.dropbox.com/s/dmhsqa5gp6adiwv/R.O.L.eX_LQ.zip
     
    Let me know if you have any suggestions or face any issues with either version   (Flicker appearing in the LQ version cannot be avoided).
     
    EDIT 2:
    Planned Updates:
    1) Skinnable Buttons & Customizable Button Locations.
    2) Editable Names for Buttons + Labels.
    3) Inbuilt Official & Private GRF Patcher.
     
    EDIT 3:
    Discontinued Further Updates since many are too lazy to get .NET 4 or their OS don't support it.
     
  10. Upvote
    jaBote reacted to stormdead in ShadowTable.lua missing in Data Folder   
    Just to leave it right for future searches...
     
    The two files:
    Shadowtable.lua
    Shadowtable_f.lua
     
    Go into System folder, not into Data folder...
     
    Solved!!
  11. Upvote
    jaBote reacted to Emistry in Embed variable values into npc creation?   
    @Jabote
    you dont need this
    if (!.init) { donpcevent strnpcinfo(3)+"OnInit"; sleep2 10; // This way the OnInit event has time to load completely }  
    all npc will now execute OnInit label when the npc is loaded into the server.
     
    beside...you are missing this if you want to run above statement otherwise the statment above will run everytime player touch the npc
    set .init,1;
  12. Upvote
    jaBote got a reaction from Phoenix in R> auto-kick when idle in 3mins   
    For BG maps, you should check for mf_battleground instead of mf_gvg_castle
     
  13. Upvote
    jaBote got a reaction from nanakiwurtz in Help about Github   
    Hi nanakiwurtz!
     
    I have bad news regarding your questions, sorry!
     
    As far as I know, getting Hercules as a ZIP file just downloads the last snapshot of the project (with UNIX line endings) without any capabilities of using it with Git. As I said, that's just the snapshot. Sadly, I don't know any other means of cloning a project other dan issuing a Git clone.Git clone clones the repository and its whole history so you have it all on your computer; that's why it's so slow. No, it doesn't, and there's an easy reason for this: forks are either meant to work on them and make pull requests, or independently working on them for your purposes. If an update was automatically applied when you're working on your fork, strange things would happen, isn't it? For updating your fork, you can refer to this post, second FAQ question provided you use TortoiseGit. If you mean moving the local repo folder as changing its location on your PC, no problem as far as I know. I've moved them myself on my PC without any problem. I don't know any other means of doing this.

    Hope I helped, despite the bad news!
  14. Upvote
    jaBote got a reaction from Mumbles in Embed variable values into npc creation?   
    As of today that's not possible without changing almost entirely the scripting engine. You can't use any variables when defining any of the following:
    A mapflag A monster spawn A warp point Any NPC object

    When you are defining any of these you're using what in the documentation (/doc/script_commands.txt) is called a top-level command, and as it's said there (pay special attention to the bolded text):
     
     
    So, sadly, I think that won't work.
     
    Edit: That other way you just proposed will work for sure.
  15. Upvote
    jaBote reacted to Alexandria in Basic Complete Renewal Data English Folder   
    This data folder is a fresh and clean data folder. It does not have items custom or other modifications (Only I added some kafra cutins).

    Based upon CalciumKid's folder, OnNplay's folder, Megasantos's folder, Michieru and dastgirpojee.
    [*]Basic kRO Fonts [*]Basic Translated Textures [*]Official Hairstyles (Only if your rdata.grf has been updated) [*]553 Clothes Dyes / 251 Hair Dyes Pack [*]Kafra anime style (you can remove them if you want textureÀ¯ÀúÀÎÅÍÆäÀ̽ºillust)

     
    Data Version 4.0
    ! NOTE: This version is for 2012 and 2013 clients.
     
    Download: [Dropbox] [Mega] [4shared] [Gamefront] [Rapidgator] [Uploaded] [Putlocker] [Turbobit]
    ChangeLog:
    Fixed: Palletes are working properly.
    Added: More sprites
    Added: More textures translated
    !Merge with Client Translation Project rev. #31
     
    MD5 Hash: 10cb8c6819acc00978417dbbedfa5638
     
    ==========================================================
     
    Data Version 3.0
    ! NOTE: This version is for 2012-04-10 or older.
     
    Download: [Dropbox] [Mega] [4shared] [Gamefront] [Rapidgator] [Uploaded] [Putlocker] [Turbobit]
    ChangeLog:
    Delete all those files for pre-renewal.
    Updated idnum2itemdisplaynametable.txt by Ziu
    Updated msgstringtable.txt by TrueNoir
    Added: Dewata Quest Translated Lua v1.1 by Dastgir Pojee
     
    MD5 Hash: e3806675a03529a154d644e565bd33aa
     
    ==========================================================
     
    Data Version 2.0
    ! NOTE: This is a PRE-RENEWAL version, only for 2010 or older.
     
    Download: [Dropbox] [Mega] [4share] [Gamefront] [Rapidgator] [Uploaded] [Putlocker] [Turbobit]
    ChangeLog:
    Added: More sprites (Latest)
    Added: Official Hairstyles
    Added: More NPC sprites

    MD5 Hash: 220ae49fc6dc50ef7b8df3c49e007939
     
    ==========================================================

    Data Version 1.0
     
    Download: [Dropbox] [Mega] [4share] [Gamefront] [Rapidgator] [Uploaded] [Putlocker] [Turbobit]
    ChangeLog:
    -Initial release-
     
    MD5 Hash: 72a16ec1e3854727cf853d13d6cdbf6f
     
    ==========================================================
     
    Let me know if you have any problems
  16. Upvote
    jaBote got a reaction from Mumbles in Custom NPC Help ( SQL )   
    Regular Hercules installation has none of the following:
    `last_mac` column in table `login`; `virtue_promo` table, and neither of its columns.

    Considering you have these fields on your server:
     
    Line 3, 4 & 7: `day` column isn't enclosed on ``. Shouldn't be a big problem, but just in case. Same for `account_id` for line 4 and `last_mac` for line 7;
    Line 3: You just select `day`, but provide 2 arrays to write the information to. Don't know if this is a problem, but you shouldn't specify more arrays than columns of data to get. If `day` is always set from gettime(4) (which always returns an integer), it's not safe to treat it as text.
    Line 7 & 11: No need to enclose an integer between ' ', this way you treat it as string and you're interested on using it as a number.
     
    If any of the above doesn't do any effect, try to debug your script by filling it with debugmes or dispbottom if you don't mind spamming your users, telling the number of results returned from the queries and/or the queries executed. Try those queries yourself and see if anything is wrong. Anyways, that NPC seems correct at first glance since these little mistakes shouldn't be any important, but I suggest fixing them.
  17. Upvote
    jaBote reacted to Ind in BG Queue: Draw Scenario Info   
    Absolutely, besides making battlegrounds' customisation easier, this also will make life easier for anyone wanting to make a custom team game/event/quest/etc.
  18. Upvote
    jaBote got a reaction from Kim in Help src/map/atcommand.c   
    It's in here: /conf/help.txt. Check line 40 onwards:
    go: "Params: <city name|number>n" "Warps you to a city.n"" -3: (Memo point 2) 14: louyang 31: moran"" -2: (Memo point 1) 15: start point 32: dewatan"" -1: (Memo point 0) 16: prison/jail 33: malangdo islandn"" 0: prontera 17: jawaii 34: malaya portn"" 1: morocc 18: ayothaya 35: eclagen"" 2: geffen 19: einbrochn"" 3: payon 20: lighthalzenn"" 4: alberta 21: einbechn"" 5: izlude 22: hugeln"" 6: aldebaran 23: racheln"" 7: xmas (lutie) 24: veinsn"" 8: comodo 25: moscovian"" 9: yuno 26: midgard campn"" 10: amatsu 27: manukn"" 11: gonryun 28: splendiden"" 12: umbala 29: brasilisn"" 13: niflheim 30: el dicastesn"  
    P.D.: I've just realized I mis-moved this topic. In order not to make a big mess, this topic will stay here until solved if you don't mind. Sorry for the inconvenience.
  19. Upvote
    jaBote reacted to Phenomena in Help src/map/atcommand.c   
    /src/map/atcommand.c
     
     
     
    /src/common/mapindex.h
     
     
  20. Upvote
    jaBote reacted to Dastgir in R> Map|Mob of the Week Event   
    SQL Based: WeeklyEvent.txt (Haven't tested but hope to work)
    To Add a Map: PM "NPC:mobmapoftheweek" with "ADDMAP#mapname"
    To Add a Mob: PM "NPC:mobmapoftheweek" with "ADDMOB#mobid"
    To remove a Map: PM "NPC:mobmapoftheweek" with "DELMAP#mapname"
    To remove a Mob: PM "NPC:mobmapoftheweek" with "DELMOB#mobid"
    Or use directly sql.
  21. Upvote
    jaBote got a reaction from mybitch in Random Floating Rates   
    Working on this. Are drop rates variable too? Which ones?
     
    P.S.: Remember to test on your home server!
     
    P.P.S.: Would be really nice to have that script command on the community since that one's quite popular.
  22. Upvote
    jaBote got a reaction from mybitch in R> Map|Mob of the Week Event   
    I'm a bit rusty on scripting as you can see. This script has passed in Hercules Console checking of errors.
     
    Try this one:
     
    http://upaste.me/9fca5983bac12e78
     
    @Capuche: loading config OnMon0000, using it and then unloading that from memory is intentional and works; also strange rate from mobs and map at once is intended: if a mob of the week is in a map of the week, you get a total base_mobexp * server_rate * (map_bonus + mob_bonus).
     
    @general public: Still not thoroughly tested so errors/bugs may still be there, it just passed console parsing.
  23. Upvote
    jaBote reacted to Capuche in R> Map|Mob of the Week Event   
    Just a fast test and :
    // forgot ;set .equiprobability, 1set .map_job_exp_multiplier, 200  
    // forgot bracketset $@specialmap$, getd(".maps_" + .@randarray + "$["+ .@randpos +"]";  
    // .mobs_X type integer not stringset .@randpos, rand(0, getarraysize(getd(".mobs_" + .@randarray + "$")) - 1);set $@specialmob, getd(".mobs_" + .@randarray + "$["+ .@randpos +"]"); // This black magic is supposed to draw a random mob from the poolset $@specialmob, getd(".mobs_" + .@i + "$["+ .@draw +"]");  
    // display the mob IDif ($@specialmob) announce $@specialmob + " has a x" + .mob_base_exp_multiplier/100 + "." + .mob_base_exp_multiplier0 + " base exp and a x" + .mob_job_exp_multiplier/100 + "." + .mob_job_exp_multiplier0 + " job exp multiplier for the weekend!",bc_self;  
    // must be under OnMon0000: or the config is deleted right after be loaddonpcevent strnpcinfo(3)+"::OnDelConfig"; //This way we save memory for the week at the cost of a bit of process  
    // @set .@jobexp, getmonsterinfo($@specialmob,4)*(.@mob_job_exp_multiplier - 100)/getbattleflag("quest_exp_rate");  
    Also when both map + mob of the week enabled that give a strange multiplicator... dunno why
  24. Upvote
    jaBote reacted to pixel in Need help on setting up RO database   
    hi, i  was start write specially for you guide, but later i stop to do that, because here a lot of them, but information not structured. I remember good bible made by Judas. Try to read it and follow step by stem, and i hope, you will create your own server.
     
    http://supportmii.com/ro1/JudasBible.pdf
  25. Upvote
    jaBote got a reaction from mybitch in R> Map|Mob of the Week Event   
    And this, ladies and gentlemen, is what happens when I haven't a console near me for testing or detecting basic errors in npcs. This also justifies what I say about testing them before using and feeding me back with errors.
     
    Sorry for these errors, I'll try to fix them as soon as I get back to my pc (I'm on my smartphone right now).
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.