Jump to content

saithis

Members
  • Posts

    40
  • Joined

  • Last visited

1 Follower

Profile Information

  • Gender
    Male
  • Location
    Bavaria

Recent Profile Visitors

2139 profile views

saithis's Achievements

Poring

Poring (1/15)

20

Reputation

  1. You are right, I didn't consider the rollback part... and for the most part I would agree with your in memory idea. But the inventory gets saved when a player quits the game, right? In that case there would be a possibility, that logs are lost: - Player A drops a item - Player A quits the game - The inventory gets saved, but the log is still delayed till we know the receiver - The server crashes before the item vanishes or someone picks it up - The log entry is lost So we would need a combination of both our ideas... and it's getting more complex X_x
  2. It would be really nice to have a "receiver" column in the picklog instead of 2 entries. This way it would be easier to write a tool to track the path of the items and unuqie_id's wouldn't be neccessary for stackable items. It would be really easy to do for instant owner changes of the item (like trades, vending or selling to a NPC), because we know both chars at the time of the creation of the picklog entry. But the delayed owner changes (like drop&pickup or mail) are harder to solve... One solution that came to my mind: - Make the receiver column default to null. - When someone drops a item we would have to create a new picklog_uid for it and add the picklog_uid to the picklog entry. - When the item vanishes: UPDATE picklog SET picklog_uid = 0 WHERE picklog_uid = <picklog_uid>; - When someone takes the item: UPDATE picklog SET receiver = <char_id>, picklog_uid = 0 WHERE picklog_uid = <picklog_uid>; - On every Server start UPDATE picklog SET picklog_uid = 0 WHERE picklog_uid != 0 AND type IN(<all types where the item got lost on server shutdown (like drop)>); picklog_uid == 0 means the log entry is finished, picklog_uid != 0 means the item doesn't have a new owner yet. But I don't know how this solution would perform, with a huge picklog table the update querys could cripple the performance...
  3. That's what I thought. This was discussed a long time ago and well obviously that didn't happen since well as we still have both up to now. Here is the old topic about removing pre-re: http://rathena.org/board/topic/74215-p-re-vs-re-do-we-really-need-both/ And yes, it was rejected.
  4. Why would you even want that? Mixing the two types together causes the game to become unbalanced all to hell. Not to mention, it's much easier to add in small stuff like that with a custom diff for your own server than making a diff to remove all pre-renewal stuff. Last time i checked, there were several servers mixing it in several ways... And it's much simpler to change a precompiler flag (no coding skills required) than to mix and match code from two different branches.
  5. If rAthena gets split into 2 branches, then we loose the ability to easily mix pre-re and re stuff. For example re mechanics, but pre-re exp/drop-rate formula.
  6. The problem I see with stackable items is: If a player has 2 cards with unique ids and trades one of them, how to decide which one to transfer? For example when an account got hacked, often the stuff gets transfered over many chars and accounts and the admin wants to know which accounts were involved. But when one of the chars already had one of the stackable items in the inventory before and now trades it to the next char, then if the wrong one gets transfered, the trace is lost and you have to falls back to the picklog again.
  7. I'm against adding to much custom scripts to the svn. Mybe a bit OT, but I would rather have a better way to find the scripts you search for. Maybe something like bukkits plugin page, combined with a rating system. In my opinion our current downloads section isn't flexible and userfriendly enough for this: You can't search only in a subcategories. The anti flood protection prevents you from instantly adjusting your search, when your first search didn't return anything useful. Also tags would be better than subcategories(as some scripts would fit in more than one subsection...). And live search(search while you are typing) would be awesome.
  8. Wow, I didn't know that GitHub supports svn That would be even better in my opinion.
  9. I agree with that http://subgit.com/bo...ml#installation Seems like both (git repo and svn repo) have to be on the same server. So it can't be used directly with GitHub. I googled a bit and it seems like it could be done with post-receive hooks on both ends and maybe a mirror in the middle. But I'm not sure, if the mirror is needed or not.
  10. Yes, thats how I unterstood it too. My question was because of your last post: I interpreted this as "in case we install subgit", so I wanted to know who decides if it will be installed. Or did you mean "it will be installed and lets see if anyone uses it"?
  11. Just curious, how will it be decided if rA uses it or git generally?
  12. I think SubGit is a server-side tool you install. It's not Git hosting. yes, i tought of using it as a "bridge" between the current svn and github. and i agree, github is the best The things that we would benefit the most of git are in my opinion: 1. You can commit your custom changes to your local copy without making them public (for server own custom stuff - doesn't work with svn) 2. Pull requests! No need for diff files anymore and the user gets always his credits, as he is the commit autor. Also you can discuss it (on a line inside the diff or global for this diff) before merging it. So instead of taking a diff with ugly code and clean it up before commiting, you could tell the pull request autor what is ugly and how to change it and when everything is ok, you merge it. That way he gets better at coding and maybe makes it right the next time. 3. devs can code big stuff in a separate branch without fear of breacking anything and merge it afterwards. That way we have many little commits (if he/she commited often) instead of a huge wall of code in one commit. But if you want to see the "wall of code", you can do that by looking at the diff of the merge.
  13. Maybe we could use subgit (free for open source projects), if it works like promoted. Then we could use git and svn at the same time and as soon as every dev knows how to work with git, we could make the svn a read only mirror.
  14. Another possibility would be to force #commands to use " around the charname, even when there is no space in the name. So "..." would mean charname, no " around it would mean account_id. But it could confuse peaple who are used to the old behaviour :S And another question that came to my mind: Do the the current #commands work for chars with a " and a space in their name? (for example: some "random\"name) How would you write it? Escape it? If it also has a \ in the name, escape also the escape char? Or does it break for such a name?
×
×
  • Create New...