-
Posts
545 -
Joined
-
Last visited
-
Days Won
15
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Lemongrass
-
Mach einfach ein OnInit Label hin. OnInit: Zusätzlich würd ich auch noch ein end; am Beginn hinzufügen, damit er nicht wenn man ihn anklickt Blödsinn macht. => dragonia,37,41,2 script Vote 1002,{ end; OnInit: npcwalkto 31,43; sleep 4000; npcwalkto 36,47; sleep 4000; npcwalkto 37,41; }
-
So if I release a shitty tool that spoils the data foreign keys will be added?
-
From a guy that puts in a UNIQUE constraint for a 3rd party tool, that should handle the business logic. Do not get me wrong here, I do know that redundancy can be used to boost performance, but I do not think that the logs for example do need that much of performance. I also use redundancy when I optimize performance on some databases and I also work with huge companies and their databases, not everyday though. I do appreciate your opinion to this topic, but even if we do not use foreign keys or something like that, could you please set up some naming standards for the database and remove unneeded redundant columns?
-
The thing with the partner id is non other than another foreign key. The price checking has to be done with a little work around since MySQL does not have a check constraint. It has to be implemented with a stored procedure that is called by a trigger. But yes it is possible. About the merge of two databases that would be a very easy task, because we could even add cascade options to the foreign keys. The only problem that came in to my mind immediatly is the merging of the character and login names, since there could be duplicate name entries for the two servers.
-
That's a good point, but I do not really get the point of splitting these tables up into different databases. But even though if that would be the reason, we should think of dropping support for that and getting the data consistent and free of redundancy. As for the engine it would be required to switch to InnoDB that is indeed correct. The things I have mentioned so far, are far away of what I personally would change all in all. Since there would be tons of more things I would change regarding the database. But some of them will follow, if some devs show some interest in this topic.
-
Well since I was tortured at school with database designing I thought I will give it a try and post some of my ideas in here. What I am talking about is the whole structure of the current (SQL) database. A lot of data is saved redundant and the integrity of the data is not given on database side. Why is this important? So let us say some user edits some of their entries in the character table. Something went wrong with the saving of a wedding and it is only partially stored into the database. The administrator puts the id of the husband/wife manually into the database and does a typo with the ID of the character. He will not be able to recognize his mistake at that point of time, but he will have to look for it later on. And that is a problem that could easily be fixed with the usage of foreign keys. But there would be a lot more of awesome features like for example check constraints which are not featured by MySQL but there still is a workaround for it. This could be used to check buy/sell price values. That is something that came to my mind when I was told about a bug that existed on euRO about 2 weeks ago, where you could buy some item for 1000z which would give you 1000z on usage, but that one could be sold for ~1300z to the npc because the database definition was wrong. So my question here is: Would the developers want someone who redesigns the database or do they even care about the ideas I mentioned above? If you want me to do it or to give you a small preview or something, I would not mind. I just do not want to design the whole database and it is not used afterwards. So let me know, if you do not want to discuss this matter publicaly, let me know how we can talk these things out.
-
that's a thing sirius white already did once. i don't know if you can read it but the pictures are what is most important. http://siriuswhite.de/blog/2008/11/charakterbasiertes-geschlecht/
-
@Judas and Yom yom, what do you mean by theimda? Their packets are now encrypted.. ? o_o No at least how much I understood what Themida is. It is a protection method against disassembling their executeable. From this date on using the official client will become a pain in the ass. Although it's said that there are disassemblers that know how to crack the Themida VM. But we will see, I guess only Sirius White or someone with the same level of assembly knowledge could help the community out with this problem.
-
that is because that is the latest description that the DEVELOPER himself provide to apple xD wall palm for gravity
-
TRUNCATE TABLE `char`;
-
Hello guys, in my spare time I like to code some things that are related to Ragnarok Online or Athena. So not long ago I decided to create a project featuring all the data related to both Ragnarok Online and Athena and combine them into one java library. I call that project jRagnarokOnlineData. To make it somehow more interesting for all of you I also have two other projects called jRagnarokOnline which is a version of the game Ragnarok Online written completely in java, which means platform independent, using jOGL. The second one is called jRagnarokOnlineStudio, which will be as the name says featuring a lot of usefull tools combined in one "studio". So to the status of my project jRagnarokOnlineData, which I want to finish before all the others: It currently supports the reading of all file formats regarding Ragnarok Online except GRFs with a version less then version 0x200. It does support the reading but it is still really buggy. The tools is also able to read and write all the data of Athena which is stored in the SQL database. For that purpose I used the hibernate technology which is an obfustication layer between the java classes and the database standing behind it. It would also support other things than MySQL very easily. After I manage to fix my current problem which I'll tell you later and which is the reason why I'm writing this post, I'll add support for reading and writing the client side LUA files or the compiled LUB files. In my researches I found out that it seems to be very simple to combine java with lua. So to my current problem: I am currently trying to get the write methods of the GRF format working. The problem is that I want to stick at native java as most as I can. So I use the java.util.zip package for the ZLIB compression. The thing is that reading is working like a charm, whereas writing really gives me troubles. No matter what I do the Deflater's deflate method returns a compressed length of 2 and I end up with an "empty" byte array which only contains some kind of ZLIB signature(at least that's what I think those two bytes are, since they are the same everytime). Has anyone got decent knowledge about the usage of the ZLIB deflater of java or does know of any other implementation that is working platform independent? I hope the community can help me out here and without a doubt you would not regret to help me finish those things.
-
uhm rytech i guess you overread something^^ this was 2011 xD
-
I heard that an android game is being developed, but just rumors till now. sorry olrox. would be awesome if you could play it, then we could convert the whole game into a addon ;P with you as mapper and me as scriptor of course, since your skills are far better than mine^^
-
omg! Nein me not aileen ;D Me reirei Ja pulse waren auch einige aber den server mocht ich net. War nicht auch desty bei einem Server beteiligt? XD lol sry^^ wusst garned das du auch mal gl von inso warst bzw das du dich auch mit *athena auseinandersetzt und dann noch diese ähnlichkeit ainna und brianna xD nur bischen verdreht und das b weggelassen ich erinner mich nur düster an nen desty... ich glaub das war einer der mich dauernd in msn gebeten hat mit ihm nen server zu machen, wo ich aber keine lust drauf hattte^^ aber kein plan mehr sorry.
-
oi milchmädel oder täusch ich mich? oi reirei xD ka von wem oder wo ich den ava her habe, hab den seit 2006-07? auf eAthena^^ den hab ich damals auf meiner festplatte gefunden und verwendet, bis jetzt hat sich noch keiner beschwert deshalb, aber falls sich jemand melden sollte, änder ich ihn gerne bei mir wars ebenfalls ähnlich: ca 2001-2002 euRO nach unzähligen free accounts auf euRO dann auf FunRo zuerst valhall danach hellraiser, nach einigen wipes dann pulse und danach wieder hell nach etlichen wipes dann parallel zu funro aufbau eines eigenen servers lemonro auf localhost über hamachi mit der schließung von funro hellraiser eröffnung von hurricane ro auf nem server durch einige patzereien als noob admin reset und eröffnung von tropical ro mit mehreren subservern schließung aufgrund linux file system noob und exploits durch einen der subserver admins das war meine geschichte soweit^^
-
To all iDevice owners, today and ONLY today the app Ragnarok Violet is free on the app store. you can find the app either here or directly in itunes: http://itunes.apple.com/us/app/ragnarok-violet/id450391604?mt=8 my source is gravity's facebook account which seems to be synced to their twitter account and there they posted this: https://twitter.com/GravityEurope?utm_source=fb&utm_medium=fb&utm_campaign=GravityEurope&utm_content=225497127294484480 enjoy it
-
oh some guy with the same idea as me. just wait a little longer something is approaching soon.
-
that's right.. u choose a good decision keep that only for ur self ( on ur personal server it's really usefull but the other ppl maybe wont their data server knowing by the other ). big LOL learn how to set up the firewall on the computer you're running the configuration tool on and/or learn how to secure your mysql server. I don't think that this is a reason for a LOL.
-
if thats a problem for you, you shouldn't run a server.
-
seems like a problem with the encoding. have you accidently saved the file as a unicode text file or something like that?
-
r16213 look here^^ chilly is mentioned in the latest commit
-
Just as a matter of fact, would you mind leaving that part away: I think the negativ check is important but the check if the hairstyle id is above 27 is an "unneeded" official behavior. I also would kind of cache all that stuff instead of looking it up every time it is needed.
-
That's easier said than done, since the players maybe don't know what are the requirements... And also in 90% of the cases they also don't know that they have to kick the players that don't fit in. Thank you, as I said, if you need a .patch file just drop me a PM.
-
Please don't get me wrong, I only wanted it that way, that it checks if the online players meet the requirements and if there are enough of them online. I do get your point that the player count and don't checking offline characters is nonesense, but those shouldn't be able to enter the instance once they come online afterwards anyway. That also fits for those that are online and don't meet the requirements... I'll try to explain it with a short example: Party with 4 players: 1st player lvl 99 online 2nd player lvl 70 online 3rd player lvl 99 online 4th player lvl 10 offline Instance requirements: 2 players at lvl 80 The current check will act as follows: The check loops the players according to the given order above. It checks player 1 who meets all the requirements and increases the count. It checks player 2 who doesnt meet the requirements and cancels the loop. Output: The two players(1,3) of the party that wanted to do the instance aren't allowed to enter. I think it should be that way, that the loop isn't canceled by a player that doesn't meet the requirement. Instead the script of the instance warper should check, whether a player that is part of the party instance meets the requirements and if he does it warps him into the instance and if not he has to stay outside. Using the example above the loop should act as follows: It checks player 1 who meets all the requirements and increases the count. It checks player 2 who doesnt meet the requirements and continues to the next player. It checks player 3 who meets all the requirements and increases the count. It checks player 4 sees that he is offline and continues. No next player, loop cancelled. Output: Playercount of those that meet the requirements and are online: 2 Instance will be created and the players that meet the requirements can enter. I don't think it is just "if you don't like it, change it your way". Since we're following kRO official, no more has to be said, it's official, right? Maybe it's a bug as it was said or maybe it's not, I think it needs more info as it makes things easier to players if it's not a bug it must be in rA. I would definitly say that this is true, but I would give the users the possibility to change the behavior as they like, for example in form of a setting in the "conf" folder. I've prepared a small diff, that adds a conf file for instances that consists of a on/off setting for official behavior and the cooldown times if they are set within a script and if they are to be set in the quest database the quest id is stated. Whether you would like to add it or not is up to you. Since I can't post any attachment in here, feel free to drop me a PM if you would like to have the .patch file. Index: conf/battle/instance.conf =================================================================== --- conf/battle/instance.conf (revision 0) +++ conf/battle/instance.conf (working copy) @@ -0,0 +1,35 @@ +//-------------------------------------------------------------- +// rAthena Battle Configuration File +// Originally Translated by Peter Kieser <[email protected]> +// Made in to plainer English by Ancyker +//-------------------------------------------------------------- +// Note 1: Value is a config switch (on/off, yes/no or 1/0) +// Note 2: Value is in percents (100 means 100%) +// Note 3: Value is a bit field. If no description is given, +// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun) +//-------------------------------------------------------------- + +// Should the instance system act like the official version on KRO? (Note 1) +// KRO: +// Players that don't meet the requirements, +// prohibit a party from creating an instance. +// rA: +// Online the players that meet the requirements are counted, +// for the required party member count. +instance_official: yes + +//-------------------------------------------------------------- +// Cooldown times in seconds +//-------------------------------------------------------------- + +// Endless tower (default: 1 week) +instance_etower: 604800 + +// Nidhoggur's Nest +// Edit /db/quest_db.txt 3135 and 3136 + +// Orc's Memory +// Edit /db/quest_db.txt 12059 + +// Sealed Shrine +// Edit /db/quest_db.txt 3040 \ No newline at end of file Index: npc/instances/EndlessTower.txt =================================================================== --- npc/instances/EndlessTower.txt (revision 16162) +++ npc/instances/EndlessTower.txt (working copy) @@ -214,7 +214,7 @@ set [email protected]_timer,checkquest(60200,PLAYTIME); // 1 week set [email protected]_timer2,checkquest(60201,PLAYTIME); // 4 hours - set [email protected]_lim_time,etower_timer+604800; // 1 week + set [email protected]_lim_time,etower_timer+getBattleFlag("instance_etower"); // 1 week set [email protected]_lim_time2,etower_timer+14400; // 4 hours set [email protected]_cur_time,gettimetick(2); set [email protected]_ent_t,([email protected]_lim_time - [email protected]_cur_time); Index: src/map/battle.c =================================================================== --- src/map/battle.c (revision 16162) +++ src/map/battle.c (working copy) @@ -5307,6 +5307,9 @@ { "cashshop_show_points", &battle_config.cashshop_show_points, 0, 0, 1, }, { "mail_show_status", &battle_config.mail_show_status, 0, 0, 2, }, { "client_limit_unit_lv", &battle_config.client_limit_unit_lv, 0, 0, BL_ALL, }, +// Instance System + { "instance_official", &battle_config.instance_official, 1, 0, 1, }, + { "instance_etower", &battle_config.instance_etower, 604800, 0, INT_MAX, }, // BattleGround Settings { "bg_update_interval", &battle_config.bg_update_interval, 1000, 100, INT_MAX, }, { "bg_short_attack_damage_rate", &battle_config.bg_short_damage_rate, 80, 0, INT_MAX, }, Index: src/map/battle.h =================================================================== --- src/map/battle.h (revision 16162) +++ src/map/battle.h (working copy) @@ -456,6 +456,10 @@ int mail_show_status; int client_limit_unit_lv; + // Instance System + int instance_official; + int instance_etower; + // [battleGround Settings] int bg_update_interval; int bg_short_damage_rate; Index: src/map/script.c =================================================================== --- src/map/script.c (revision 16162) +++ src/map/script.c (working copy) @@ -15859,23 +15859,26 @@ return 0; } - for( i = 0; i < MAX_PARTY; i++ ) - if( (pl_sd = p->data[i].sd) ) - if(map_id2bl(pl_sd->bl.id)){ - if(pl_sd->status.base_level < min){ + for( i = 0; i < MAX_PARTY; i++ ){ + if( (pl_sd = p->data[i].sd ) && map_id2bl( pl_sd->bl.id ) ){ + if( pl_sd->status.base_level < min || pl_sd->status.base_level > max ){ + if( battle_config.instance_official ){ + continue; + }else{ script_pushint(st, 0); - return 0; - }else if(pl_sd->status.base_level > max){ - script_pushint(st, 0); return 0; } - c++; + }else{ + c++; } + } + } if(c < amount){ script_pushint(st, 0); // Not enough Members in the Party to join Instance. - }else + }else{ script_pushint(st, 1); + } return 0; }
-
Personally I would say that creating custom lua files would be the best and cleanest solution, since there are some features that gravity's lua files don't include. For me it would be the best to stay at a single sort of text data structured files and not to mix up all of those. I would create some kind of interface that gives you some kind of needed methods like: String getJobname( int id ); String getItemname( int id ); String getItemdescription( int id ); String getItemiconpath( int id ); String getItemspritepath( int id ); ... Then I would implement it in the "official" way and the way, that you decide to go. Personally I would like to see no XML and LUA files in the client, but something like a SQLite database behind the settings and/or the client informations. I would also include some kind of inititialization functionality for this interface so that the possibility to check whether the required data is existing and like that you could even provide the server owners the possibility to store the latest item infos on their server and the client downloads it at startup. What do you think of that?