Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/06/13 in all areas

  1. The channel system came from the Hercules emulation project, not rAthena itself. It was simply a merge into the source here. Question though, with the inclusion of this, with other things like @fontcolor be made available here? I know it's not an "official" feature, but it'd be pretty nifty methinks!
    3 points
  2. Xantara's FluxCP Everyone knows of FluxCP. However, with the creation of rAthena, there became a need to support renewal changes and other features such as the new group system. This is where my Control Panel comes in. Xantara's FluxCP is a free and open source control panel to work with rAthena. Forked from FluxCP by Paradox924X and Byteflux at r1121. I will continually merge updates from the original FluxCP. Demo: http://web.artistic-coder.com/fluxcp-rA Note: this site is used to test new functionality and custom addons so it may not always be functioning properly Features The original/base FluxCP already comes with a lot of features. Here I will only highlight those that came after the fork. For a full list, click here. Updated Ragnarok Data Full Birthdate Functionality Working GM Group System Mob Skills SQLized Zeny Log Page Specific Item Drop Rates Toggle for Pre-Renewal or Renewal SQL Data Alchemist Ranking Blacksmith Ranking Paginated Item Shop Character/job images (static) WIP Account management system (link one or more in-game accounts to one CP account) Queued Accepted Suggestions (have suggestions? post them here!) Search in logs page Pin code functionality Character sprites with palettes (would replace static images) Requirements Apache webserver with PHP 5.2 or greater PDO extension with MySQL support (http://www.php.net/pdo) PHP GD2 for security images (Optional) Enabled Zip extension for exporting guild emblems (Optional) Apache/mod_rewrite for using the "Clean URLs" feature Download There are three ways to get a copy of this Control Panel. For detailed installation instructions, click here (TBD). 1. GIT Clone git clone https://github.com/missxantara/fluxcp-ra.git * For Windows, you can take a look at using TortoiseGit with its friendly user interface. 2. SVN Checkout svn checkout https://github.com/missxantara/fluxcp-ra/trunk/ * For Windows, you can take a look at using TortoiseSVN with its friendly user interface. 3. ZIP Download https://github.com/missxantara/fluxcp-ra/archive/master.zip Extra Downloads Extract to the root folder of your FluxCP system Job Image Files: http://missxantara.github.io/fluxcp-ra/downloads/FluxCP_Jobs_Images_2012-04-28.zip Updated details: April 28, 2013 Credits: Xantara Monster Image Files: http://missxantara.github.io/fluxcp-ra/downloads/FluxCP_Monsters_Eclage_14.2.zip Updated details: Mob ID #2380 of Eclage (Episode 14.2) Credits: Brynner Item Icon Files: http://missxantara.github.io/fluxcp-ra/downloads/FluxCP_Item_Icons_2012-04-08.zip Updated details: April 8, 2013 Credits: Latheesan's Extractor Item Image Files: http://missxantara.github.io/fluxcp-ra/downloads/FluxCP_Item_Images_2012-04-08.zip Updated details: April 8, 2013 Credits: Latheesan's Extractor Quick Links Wiki: https://github.com/missxantara/fluxcp-ra/wiki Bug/Suggestion Reports: https://github.com/missxantara/fluxcp-rA/issues GitPage: http://missxantara.github.io/fluxcp-ra Misc. Feel free to post any suggestions here. If suitable, they may be polled by general users before being decided to be implemented or not. If you have a feature already coded that you would like to share, please do send a GIT pull request or send me an SVN diff of the work - I'd love to take a look at it! Please note that working on this open-source project will furthermore serve as a learning opportunity for me. If you find that I've implemented something that could be improved, I urge you to let me know - your knowledge on this subject would be greatly appreciated! Like my work? Rep up the topic first post
    1 point
  3. Hello, Since I'm almost done making my GRF Encryptor/Decryptor + Client Configuration , I made a new Project which can prevents hack tools to help rathena members whom cannot afford buying such as Harmony. And im willing too to implement Auto-Ban when using hack tools. So , now i have started adding some source code but , i am still analyzing and studying each of the code written in every source code file. Now , What im gonna asking to all if you can also share what you have learn in every source code file especially to the Community Contributors about the functions to reduce my time studying/analyzing the code. . I would appreciate and glad to those who will share their learning's about this. Just PM me and Feel free to share your knowledge about the source code functions . Thanks
    1 point
  4. hey guyss this is w.r.t previous topic http://rathena.org/board/topic/70955-alliance-chat/#entry192005 sry to start it again but was just curious to know, like we have public chat tab, battle chat tab, similarly cant we have a alliance chat tab also? isnt that more convenient? just a suggestion
    1 point
  5. yes jAbote this could be done as well. would be direct for map but probably require a packet for char and log to keep them independant. kinda thinking about how to store msg efficiently atm.
    1 point
  6. I wonder if I could also suggest making a new atcommand called @reloadmsgconf or so (in case you haven't thought on it yet), which would let specify an optional parameter and make the server read the msg_conf again but with a specific language. For example: Usage: @reloadmsgconf <language code> ex: Makes the server read and use English msg_conf files: ex: @reloadmsgconf en ex: Makes the server read and use Spanish msg_conf files: ex: @reloadmsgconf es And so for Indonesian, Chinese, French and so. Opinions on this?
    1 point
  7. Thou this is solved. I just have questions. Isn't it it set .@setquantity is uselesS? because at getitem you have set it to 1? also. How to add percentage for each? ya i forgot about that one replace it with getitem .@item[rand(getarraysize(.@item))],.@quantity; replace your npc with this This work. What if I each item has different quantity? I'll just remove .@quantity and replace it right? yes you just need to manually put them
    1 point
  8. Fully Done, Will Share once I fully test it.
    1 point
  9. Hostgator http://hostgator.com/
    1 point
  10. You don't have to look for a web host that is connected with RO, you just need a web host in general. With that in mind, there are better places to ask/look such as the WebHosting Talk forum. However, I am currently with StableHost which has quick support and it is indeed very stable (I've been with them for the past 15 months and never had any downtime). I would recommend the Stable plan under Shared Hosting tab for what you plan on using it for. With this plan, you could also upload/host your lite and full installers in it too. Disclaimer: I am not affiliated with StableHost in any way except for being a satisfied customer.
    1 point
  11. gonryun,156,122,5 script Broadcaster 901,{ mes "[ ^FE021BMerme^000000 ]"; mes "Hello, ^F509DE"+strcharinfo(0)+"^000000"; mes "Do you want to broadcast something? Payment is^FAEB60 1 Gold Coins^000000."; menu "Yes please.",-,"No",no; if((countitem(.payitem)<.payamt)) goto exit2; next; mes "[ ^FE021BMerme^000000 ]"; mes "We Have Color Please choose!"; for(set .@i,0; .@i<getarraysize(.colormenu$);set .@i,.@i+1){ set .@menu$,.@menu$+.colormenu$[.@i]+":"; } set .@menu$,.@menu$+"Cancel"; if(select(.@menu$)>getarraysize(.colormenu$)) goto no; next; mes "[ ^FE021BMerme^000000 ]"; mes "Type your message and it will be heard miles away!"; input .@message$; setarray .@a$,callfunc("str_explode","@explosion$[0]",.@message$," "); for(set .@a,0;.@a<getarraysize(@explosion$);set .@a,.@a+1){ for(set .@i,0;.@i<getarraysize(.bad_words$);set .@i,.@i+1){ if(compare(@explosion$[.@a],.bad_words$[.@i])) { while(getstrlen(@explosion$[.@a])>getstrlen(.@tmp$)){ set .@tmp$,.@tmp$+.filter$; } set @explosion$[.@a],.@tmp$; } } if(!.@a){ callfunc "str_toarray", @explosion$[.@a], "@tmp$[0]"; set @tmp$[0],callfunc("str_changecase", @tmp$[0], 1); set @explosion$[.@a],""; set .@i,0; while(getstrlen(@explosion$[.@a])<getarraysize(@tmp$)){ set @explosion$[.@a],@explosion$[.@a]+@tmp$[.@i]; set .@i,.@i+1; } } set .@message2$,.@message2$+" "+@explosion$[.@a]; } delitem .payitem,.payamt; announce ""+strcharinfo(0)+":"+.@message2$+" ",bc,"0x"+.hexcolors$[(@menu-1)]; close; no: next; mes "[ ^FE021BMerme^000000 ]"; mes "Oh that's a bummmer."; mes "Come back when you need me. ^_^"; close; exit2: next; mes "[ ^FE021BMerme^000000 ]"; mes "Sorry you don't have enough coins to make the broadcast."; mes "Please come again."; close; OnInit: setarray .colormenu$[0],"Red","Black","Blue","Green","Purple","Pink","Gray","Orange"; setarray .hexcolors$[0],"FF0000","000000","0000FF","00FF00","9900FF","FF33FF","888888","FF6600"; setarray .bad_words$[0],"tang ina mo", "gago", "tanga", "bobo", "mother fucker", "fuck you", "noob", "asshole", "putang ina mo", "puta", "bitch", "fuck", "fucker"; set .payitem,671; set .payamt,1; set .filter$,"*"; //Will be repeated to match the length of given string. } function script str_explode { if ( getarg(2,"") == "" ) return callfunc("str_toarray", getarg(1), getarg(0) ); sleep2 1; setarray .@char$, getarg(2), " ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "e", "i", "a", "s", "r", "n", "t", "o", "u", "l", "c", "p", "m", "d", "v", "h", "g", "f", "b", "y", "q", "k", "z", "x", "j", "w", "_", "-", ".", ",", ";", "*"; set .@charsize, getarraysize(.@char$); set .@tmp$, "|~key~|"; set .@str$, .@tmp$ + getarg(1) ; set .@len, getstrlen(getarg(1)); set .@parse_len, getstrlen(getarg(2)); while( .@len > .@s ) { set .@i, 0 ; while( .@i < .@charsize ) { if ( ! ( set(.@l,.@l+1) % 600) ) sleep2 1; if ( compare( .@str$ , .@tmp$ + .@char$[.@i] ) ) { set .@tmp$, .@tmp$ + .@char$[.@i]; if ( .@i ) set .@arr$[.@p], .@arr$[.@p] + .@char$[.@i]; else { set .@p, .@p + 1; set .@s, .@s + .@parse_len-1 ; } break; } set .@i, .@i+1 ; } if ( .@i == .@charsize ) return 0; else set .@s, .@s+1 ; } deletearray getd(getarg(0)), 128; copyarray getd(getarg(0)), .@arr$, .@p+1; return .@p+1; } function script str_charat { sleep2 1; setarray .@char$[ 0 ], " ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "e", "i", "a", "s", "r", "n", "t", "o", "u", "l", "c", "p", "m", "d", "v", "h", "g", "f", "b", "y", "q", "k", "z", "x", "j", "w", "_", "-", ".", ",", ";", "*"; set .@charsize, getarraysize(.@char$); set .@tmp$, "|~key~|"; set .@str$, .@tmp$ + getarg(0) ; set .@len, getstrlen(getarg(0)); set .@pos, getarg(1); if ( .@pos >= .@len ) return ""; while( .@len>.@s ) { set .@i,0; while( .@i<.@charsize ) { if ( ! ( set(.@l,.@l+1) % 650) ) sleep2 1; if ( compare( .@str$ , .@tmp$ + .@char$[.@i] ) ) { set .@tmp$, .@tmp$ + .@char$[.@i]; if ( .@s == .@pos ) return .@char$[.@i] ; else break; } set .@i, .@i+1; } if ( .@i == .@charsize ) return 0; else set .@s, .@s+1; } deletearray getd(getarg(1)); copyarray getd(getarg(1)), .@arr$, .@len; return ""; } function script str_changecase { sleep2 1; if ( getarg(1) ) { setarray .@char$[ 0 ], " ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "E", "I", "A", "S", "R", "N", "T", "O", "U", "L", "C", "P", "M", "D", "V", "H", "G", "F", "B", "Y", "Q", "K", "Z", "X", "J", "W", "_", "-", ".", ",", ";", "*"; } else { setarray .@char$[ 0 ], " ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "e", "i", "a", "s", "r", "n", "t", "o", "u", "l", "c", "p", "m", "d", "v", "h", "g", "f", "b", "y", "q", "k", "z", "x", "j", "w", "_", "-", ".", ",", ";", "*"; } set .@charsize, getarraysize(.@char$); set .@str$, "|~key~|" + getarg(0) ; set .@len, getstrlen(getarg(0)); while( .@len>.@s ) { set .@i,0; while( .@i<.@charsize ) { if ( ! ( set(.@l,.@l+1) % 650) ) sleep2 1; if ( compare( .@str$ , "|~key~|" + .@tmp$ + .@char$[.@i] ) ) { set .@tmp$, .@tmp$ + .@char$[.@i]; break; } set .@i, .@i+1; } if ( .@i == .@charsize ) return ""; else set .@s, .@s+1; } return .@tmp$; } function script str_toarray { sleep2 1; if ( getstrlen( getarg(0) ) > 128 ) return 0; setarray .@char$[ 0 ], " ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "e", "i", "a", "s", "r", "n", "t", "o", "u", "l", "c", "p", "m", "d", "v", "h", "g", "f", "b", "y", "q", "k", "z", "x", "j", "w", "_", "-", ".", ",", ";", "*"; set .@charsize, getarraysize(.@char$); set .@tmp$, "|~key~|"; set .@str$, .@tmp$ + getarg(0) ; set .@len, getstrlen(getarg(0)); while( .@len>.@s ) { set .@i,0; while( .@i<.@charsize ) { if ( ! ( set(.@l,.@l+1) % 650) ) sleep2 1; if ( compare( .@str$ , .@tmp$ + .@char$[.@i] ) ) { set .@tmp$, .@tmp$ + .@char$[.@i]; set .@arr$[.@s], .@char$[.@i]; break; } set .@i, .@i+1; } if ( .@i == .@charsize ) return 0; else set .@s, .@s+1; } deletearray getd(getarg(1)); copyarray getd(getarg(1)), .@arr$, .@len; return .@len; } Works with eAthena etc etc.
    1 point
  12. try this... http://pastebin.com/raw.php?i=euHQksK6 edit the setting here OnInit: // required item .item_id = 671; .item_quantity = 1; // Colour Name List setarray .color_name$,"RED","BLUE"; setarray .color_code$,"FF0000","0055FF"; .color_name_menu$ = implode( .color_name$,":" ); // Filter Words setarray .filter_word$,"fuck","you"; .filter_word_check$ = ":"+implode( .filter_word$,":" )+":";
    1 point
×
×
  • Create New...