Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/04/12 in all areas

  1. Hai. I'm here to give you guys a explanation on r15390. We, developers, spent a reasonable amount of time discussing what'd be a more organized, less cluttered, manner to work with pre-re and re files, and thats' what we came with. If the changeset is not clear to you, run a svn update and see how it is now. should you have any comments regarding this you'd like to share, post below.
    4 points
  2. Well, I would find it to be time to change the atcommand or GM system. So you actually group Users and not give them levels and like this you can better handle giving out atcommands and create a hierarchie which is not just drop-down. So the admin for example has all rights. He then creates a group called EventGM. Those have certain commands. Then he created a group called SupportGM. They have completly different commands, but they are not considered 'lower'. Also, EventGMs don't automatically have the commands of SupportGMs and so on. This system was once introduced on eAthena as MOD and I think if someone could provide a fully working system for rAthena it should replace the old system officially. Who's in?
    4 points
  3. This topic never intended to do this, but I think we are all in for this suggestion if anybody can provide a way to do this because at the momemt the GM levels are saved in login db which is account specific. For that purpose there would be another table needed to specify which account/character/guild should be aligned to which group. The only problem would be the compatibility to the Control Panels and stuff. No, that's bad idea. Things like that should not be saved in config file, but in SQL database. Solution is to add `GM_level` (or `group`) field to `guild` / `char` table. However I don't really see a scenario where adding it to single characters is necessary.
    2 points
  4. IMO at the moment it is not worth doing it. For those who want to protect their servers, there are paid solutions that do their job decently. This is harsh, but if you can't afford, it's not developers' fault. Most vulnerabilities can't be closed efficiently if you don't protect the game client too. It's not our job to fix Gravity's client. If there ever will be a decent opensource RO client, then we should reconsider providing security measures in conjunction with said client.
    2 points
  5. Proposal: config file to define groups <group_id>:<group_name>{:<inherit_from_another_group_id>} atcommand_conf - use group names instead of levels gm_conf - use group names instead of levels login table - `group_id` instead of `level`
    2 points
  6. Hi All, Here is a rather simple quest template based on arrays. It will tell users what they're missing among other things, and makes for a good way to quickly get a quest in game. //===== eAthena Script ======================================= //= Super Awesome Quest Template //===== By: ================================================== //= CalciumKid //= & Okira //===== Current Version: ===================================== //= 2.0 //===== Compatible With: ===================================== //= eAthena 1.0 Final + //===== Description: ========================================= //= Quest Template //============================================================ <map>,<x>,<y>,<facing> script <npcname> <npcsprite>,{ //===== Config: ============================================== set .npcname$,"[^FF0000 <npcname> ^000000]"; //Change to whatever you want the NPC name to be setarray .reqid[1],<id>,<id>,<id>; //Item IDs for the items, required for item checks setarray .reqn$[1],"<name>","<name>","<name>"; //These are names of the required items, for the dialogue setarray .reqa[1],<amount>,<amount>,<amount>; //These are how many of each item is required set .prize,<rewardid>; //Change this to the Item ID of the item reward set .prizen$,"<rewardname>"; //Change this to the name of your reward set .prizea,<rewardamount>; //Change this to the amount of the prize item set .zeny,20000000; //Amount of zeny for quest (set to 0 to disable) L_QUEST: mes .npcname$; mes "Hah! Hello there "+strcharinfo(0); next; mes .npcname$; mes "I don't get many visitors, so I assume you're after my legendary ^FF0000"+.prizen$+"^000000?"; menu "Of course",-,"No way",L_EXIT; next; mes .npcname$; mes "Great! I love business. I can make you a ^FF0000"+.prizen$+"^000000, but only if you bring me the materials required."; next; mes .npcname$; mes "Would you like me to make one for you?"; menu "Yes",-,"No",L_EXIT; next; mes .npcname$; mes "I'll need the following:"; for (set .@x,1; .@x < getarraysize(.reqid); set .@x,.@x + 1) { mes .reqa[.@x]+" ^FF0000"+.reqn$[.@x]+"^000000"; } if (.zeny > 0) { mes .zeny+" ^FF0000Zeny^000000"; } next; mes .npcname$; mes "Do you have those items?"; menu "Yes",-,"No",L_EXIT; next; mes .npcname$; for (set .@x,1; .@x < getarraysize(.reqid); set .@x,.@x + 1) { if(countitem(.reqid[.@x]) >= .reqa[.@x]) {mes "You've got enough ^00FF00"+.reqn$[.@x]+"^000000";} else {mes "You need more ^FF0000"+.reqn$[.@x]+"^000000";} } if (.zeny > 0) { if (Zeny < .zeny) {mes "You're missing ^FF0000Zeny^000000";} else {mes "You've got enough ^00FF00Zeny^000000";} } next; mes .npcname$; mes "Would you like to complete the quest?"; menu "Yes please!",-,"No Thanks",L_EXIT; next; for (set .@x,1; .@x < getarraysize(.reqid); set .@x,.@x + 1) { if(countitem(.reqid[.@x]) < .reqa[.@x]) goto L_EXIT2; } if (.zeny > 0) { if (Zeny < .zeny) goto L_EXIT2; } mes .npcname$; mes "Brilliant! Fantastic! Here you go."; for (set .@x,1; .@x < getarraysize(.reqid); set .@x,.@x + 1) { delitem .reqid[.@x],.reqa[.@x]; } if (.zeny > 0) { set Zeny, Zeny - .zeny; } goto L_FINAL2; close; L_EXIT: next; mes .npcname$; mes "Eh. I don't need you either. Bah!"; close; L_EXIT2: next; mes .npcname$; mes "I'm sorry, you don't have enough!"; close; L_FINAL2: next; mes .npcname$; mes "Brilliant! Fantastic! Here you go."; getitem .prize,1; close; } Just edit everywhere it has placeholders wrapped in <>. You can expand the NPC to contain as many required items as you wish, just keep adding entries to the arrays. I also have a version that doesn't require the input of item names. This version however I don't have laying around because the servers I have used this template on often have strange names for items in their item_dbs. I can recode release this version if requested. If you like my work, please rate the topic and give reputation! Thanks!
    1 point
  7. http://rathena.org/board/topic/56677-new-gm-system/page__pid__67983#entry67983 As stated by Jonne: Gepard: /me also thinks it would be nice to be able to add GM Commands to Guilds/characters, so it does not have to be account-specific giving you more control/freedom *-* +∞!
    1 point
  8. So its that time of year again where I get extremely bored. Bored enough to get dragged back into designing ragnarok themed websites. I posted on eAthena but then my buddy told me that rAthena is where its at now so I packed up and moved here I finally tried to use black with white (since most of my designs are light based, without any blacks). News and Updates simillar to my last design, but hey it works so why change it? and it doesnt define the site so It shouldnt matter if it looks alike. PVP inspired from NBA, im not a fan of the sport, but im a fan of their website haha. Please leave ratings, comments, rants, etc. EDIT: lessened the subtext on the navigation early revision [here] MORE EDIT: more revisions and added some screens of other pages homepage more screenies of other pages of said site:
    1 point
  9. Ok, so me and my paid scripter is having a hard time making a torrent file/download for our server.. I mean.. He said he knows how to make it and I can see that he made it.. BUT.. somehow when I try to download it.. it says there's no seed.. Even though he's seeding it.. We tried to use seedbox.. it doesn't work on it too.. At least if I could download it.. I can seed it too.. So... Any suggestions? Or anybody know's how to do it? iL pay..
    1 point
  10. I think only *.sql scripts should be organized in the same fashion as db folder. I don't see any reason to rename tables.
    1 point
  11. devil_sq.gat devil_sq.rsw devil_sq.gnd i saw this map on browedit site. author is G Man ?
    1 point
  12. i would include ro medic, nodelay.grf, and ahk in that list. sucks that harmony doesn't even block these :< i've played on tons of servers with harmony and i never get any lag even with 40+ people on my screen, although i only have rcx running in the background. most of the people i see on some server's forums who complain about harmony causing them lag are using pretty much all the programs mentioned above at the same time while doing woe/bg...
    1 point
  13. Hmm you didn't asked for that in my topic, but I added the Mapflag for that already. By default the scripts doesn't read that mapflag: // Use this if you disallows parties // for ( set .@mf,0; .@mf < getarraysize($@pvp_mf); set .@mf,.@mf + 1 ) { // Use this if you allow parties for ( set .@mf,0; .@mf < (getarraysize($@pvp_mf) - 1); set .@mf,.@mf + 1 ) { Unncomment the first "for..." and comment the second "for..." So like this // Use this if you disallows parties for ( set .@mf,0; .@mf < getarraysize($@pvp_mf); set .@mf,.@mf + 1 ) { // Use this if you allow parties // for ( set .@mf,0; .@mf < (getarraysize($@pvp_mf) - 1); set .@mf,.@mf + 1 ) { This is used for every PvP Type, just search the one you want so in this case it starts at line 768. For this you can use the array of my maps, no need to create a another array, they are server temporar variables btw. Just exchange the name with mine ^^. Another case would be if only want specified maps, then you'll have to use Emistry's script. Another option would be that I add it to my script, if Emistry allows it ^^. Regards, Chris
    1 point
  14. Well, some of the protection needs/should be on the client side, it is hard/impossible to make a proper server side only solution to protect servers from wpe/rpe/macros. Moreover, once we implement something, since rA is open source, it will be easy for everybody to analyze the code, and search for a workaround.
    1 point
  15. thanks I always wondered how torrents worked
    1 point
  16. hahaha Thanks. Hope you find it useful.
    1 point
  17. Remove this line. if(getmapusers("force_1-3") == 1) goto L_NotEnough; or change it to: if(getmapusers("force_1-3") == 0) goto L_NotEnough;
    1 point
  18. do you think the system would be secure if the code would be available to public?
    1 point
  19. ? I though i already ask you to edit npc/guild/agit_template.txt
    1 point
  20. Client Released: King Ragnarok Online Will Ragnarok Online Recant Ragnarok Online Tahee Ragnarok Online Download Link is Sent to you via Private Message! So, Please Check your rA Messenger. If you have Concern about you Requested Client. Just Reply to this Thread Thank You~
    1 point
  21. I was wondering if you can move the text a few pixels to the right and align it to the logo since I'm on my phone a lot. And the letters are on the edge of the page. Though KeiKun thinks it's stupid to use your phone while viewing sites w/o a mobile theme, I didn't think so. Since I'm always on my phone and on the goooo.
    1 point
  22. http://rathena.org/b...ster-challenge/ ^^ Hope that fulfills your request.
    1 point
  23. There are more steps involved to get core dumps that have detailed information about the crash reason. First, eAthena has to be configured to enable debugging (e.g. for gdb): ./configure --enable-debug=gdb If you don't want to edit the limits in the post above, but only for the current running shell, then use this: ulimit -c unlimited More about this here: http://compute.cnr.b...an-cgi?ulimit+2 You can run the server now. Afterwards,you will have a file named 'core' (or something similiar) within your eAthena folder as soon as the server crashes. Use this to get detailed information: gdb <server> <core>, e.g. gdb map-server_sql core You may have to install gdb first with 'apt-get install gdb', however, inside gdb enter this to get detailed information: bt full It will display a call stack where the last called function is at top. There's also a line displayed to show you where the crash happened. Go ahead and check this line to fix it.
    1 point
×
×
  • Create New...