-
Posts
134 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by MarkZD
-
-
I don't know how you'll do this but I can already imagine cards/etc that have uid lose their stackability. xD
Only in database, the struct will be the same for all items, being stackable with a pointer having its unique uid for each item, which will be used for non stackable as well to save a little ram.
I'll not give much more info about that now, I'm gonna organize my stuff to travel, see you after 16 days.
-
For the unique item id for stackable items, wouldn't it be possible to create a file in /db/ that defines which stackable items to track so it can be limited to only the important ones such as MVP Cards.
I'm planning about it, but it'd be a file where user would specify items, by name and some other thing as chance to get it to be unique and they'd be advised to only put rare items as it'd could take to severe performance issues if apple was defined as unique and people started to buy lot of them on NPC.
Lot of proccessing to create the uid's and insert items on database later.
Although, it's not yet sure we'll put it.
-
1
-
-
My sincerest apologies. I just don't like messy code. Furthermore, I don't enjoy someone saying only one group of people need to understand something in the source (I only got upset once he said this). It's a basic standard to program for others & humans. Honestly, even the name GUID would have been better and more understandable.
I got a little upset when I was just showing a point before saying that and trying to know about your point and you were agressive, so I said it. I know it's not every time true, I accept I was not fully right.
Yes, I'm a total asshole at times. However, I'm being an asshole for things which break standard practice. In my book, I'd rather have a guy yelling at me for writing messy code or implementing something wrong than being a outright jerk.Thanks for showing your points anyway, it was just the way you started which was not good.
Ridicule is a thing, criticizes is another, and since start your were with the first option.
We(Kisuka & me) already talked on Irc and solved the above subject.
About the name, nsiuid will be changed later.
Renamed variables name from nsiuid to unique_id: r17086
-
2
-
-
Currently, actions are monitored within the source even if those settings are off(w/c i think is . I have something in mind that will utilize that monitoring(which I think is best for this). I will come up with something later if no one takes this.
Yep, everytime an user walks, uses item, skill, atk, the idletime var is changed.(maybe it should update on sit down/stand up too?)
It'd not add a performance issue to just check it with the current implementation.
-
@MarkZD
Is it planned to implement unique id's for stackable items? The most valuable items in most of the servers are the cards, so probably one wants to track them.
I'm planning about it, but it'd be a file where user would specify items, by name and some other thing as chance to get it to be unique and they'd be advised to only put rare items as it'd could take to severe performance issues if apple was defined as unique and people started to buy lot of them on NPC.
Lot of proccessing to create the uid's and insert items on database later.
Although, it's not yet sure we'll put it.
-
-- OFF TOPIC START
Better the whole log:
<+Kisuka> uhhhh
<+Kisuka> MarkZD, nsiuid? that's totally understandable to any developer -.- code for a human not a machine. good practices please.
<+Kisuka> also is there a topic as to why you've implemented a unique id for non-stack items? I'd be interested in reading why.
<+Kisuka> nvm found it
<%MarkZD> nsiuid = non stackable item unique id, did u want me to type it all
<%MarkZD> ?
<%MarkZD> xD
<%MarkZD> it's wrote on the config
<%MarkZD> on the commit
<%MarkZD> description
<%MarkZD> on the topic
<%MarkZD> no need for more explanations about the name
<%MarkZD> e_e
<+Kisuka> doesnt matter. its still a crappy name for it. unique_id makes more sense and is understandable by just reading it
<%MarkZD> unique_id would be good if it was for all items
<Ai4rei> unique_id would be good either way
<+Kisuka> ^
<+Kisuka> you're working on an open source project. code for people to understand without having to dig for info
<+Kisuka> if i hadn't updated my svn for 5 months i would have no idea wtf that column would be for in mysql until i dug thru the conf or history
<%MarkZD> a non dev doesn't need to know why a field is, only devs and database managers
<%MarkZD> ;D
<%MarkZD> any enterprise follow this rule
<+Kisuka> fuck u dude. I'm a developer and I didnt even know wtf it was until I went looking for ur info. What seperates a good programmer from a bad one is if your code is understandable to everyone just by fucking reading it. its basic common programming guidelines.
<%MarkZD> uhh, how bad u r
<+Kisuka> and im sorry but THIS ISNT AN ENTERPRISE CLOSED SRC PROJECT. Its open source. EVERYONE needs to able to understand it
<%MarkZD> ;D
<+Kisuka> not just the devs of rA
<%MarkZD> apply for dev and u can change or make a topic on rA suggestions
<%MarkZD> so we can check it
<%MarkZD> if it's in interest of all
<+Kisuka> I've been a dev at eAthena and rAthena. I lost time to commit.
<%MarkZD> thanks
<+Kisuka> ive also been a dev for project janus and project tyr, ive been in this community way the fuck longer than you thank you VERY MUCH
<%MarkZD> cool
<+Kisuka> anyone decent programmer would agree that your naming in this case is completely horrible and not good practice. learn to accept critism of your code.
<%MarkZD> I'm, I'm not the one who need to be aggressive
<%MarkZD> I just said
<%MarkZD> use the suggestion forum
<%MarkZD> ;D
<%MarkZD> anyway I'll travel starting at 9, if u'r fast maybe I look at it before that
<%MarkZD> or another dev can see
<%MarkZD> I'll sleep now
<%MarkZD> have a nice day
As it's seem, I just explained the reason of name and I showed my point about why this name was chosen instead of unique_id.
He tells about my programming etiquette, but his human etiquette is worse.
This guy has no idea wtf he's doing.Talked the guy, which says that is developer, which take hours to realize a mere descriptive name, which is explained for user, in configuration on src/config/core.h as mentioned on changelog.
-- OFF TOPIC END
uid is a commonly used name, the rest is just a complement, you should know it's a unique_id if you see uid, since you know every programming basic etiquette.
http://en.wikipedia.org/wiki/UID
http://docs.oracle.c...server/UID.html
I'm just here to help, as I said if the majority wants the name change so much I don't see really a problem, we can do it.
Code needs to be written for ALL to understand, not just a select group of people.I agree and I'd like to know from other if it's so hard to know nsiuid is related to unique id.
Btw, I think nsiuid a good name, but it could be nsi_uid if it's easier for you to read, I think it's even better than unique_id for this case.
-
<clydelion> MarkZD, have you checked this out? https://github.com/ratalaika/eikasia
<clydelion> Seems good to be partnered with rathena
(as in Hackshield to ragnarok)<clydelion> http://eathena.ws/forum/topic/1078-eikasia-security-system-open-source/#entry4434
<clydelion> The creator said he'll upload server side diffs too

<clydelion> But that's a few weeks ago
<clydelion> ah, 2weeks ago
I didn't look yet, I'll just leave it here as a record, maybe someone wants to give a look/say something.
-
clif.c: In function âclif_set_unit_idleâ:
clif.c:1076: error: âoffsetâ undeclared (first use in this function)
clif.c:1076: error: (Each undeclared identifier is reported only once
clif.c:1076: error: for each function it appears in.)
I didn't get the other error although, it doesn't make much sense as this variable doesn't exist in clif_tradestart and anywhere till now.
Maybe the compiler became crazy because of the first error, try to compile with r17082.
-
Implemented Non Stackable item id at: r17080
I forgot to put on the commit, but credits go also to Xantara and Sirius White, which adapted to rA and created the base code, respectively.
I removed some unnecessary queries, renamed somethings, fixed some glitch and add a safer way to get the uid than the first, also put the option to enable disable and tested.
-
I'm taking over it.
-
2
-
-
IMO, it should be done with a special parameter or on another function and let the @mobinfo keeps regarding only to the mobs.
So remove the atcommand_mobinfo_type, and let the new command enabled by default.
#ifdef RENEWAL_DROP &&|| RENEWAL_EXP, shows the referenced infos, otherwise show user a message informing it just work with those renewal settings or just shows the default drop, exp.
-
-
Implemented at: 17017
-
1
-
-
What is your point in using msgstringtable.txt?
If you just want to show some msg in commands(@anything), write it in msg_athena.conf so in the atcommand you send it to the user using clif_displaymessage(fd, msg_txt(message_number));
Assure you're using a number which doesn't exist and the number is smaller than 1401.
If you want numbers bigger than 1400, you need to change the limit in atcommand.c changing the defined number:
#define MAX_MSG 1400
Each text can have up to 1024 characters.
-
For the parrying, u just need to change your parrying in db/(pre/re)/skill_require_db.txt
Find:
356,0,0,50,0,0,0,3,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //LK_PARRYING#And replace with:
356,0,0,50,0,0,0,2:3,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //LK_PARRYING#-
1
-
-
/effect — Toggles the display of anything but basic graphical effects
You just need to change the map/teleport/relog to see the difference after activating/deactivating.
-
If you don't have any custom, try downloading all again, buildbot says it's ok:
-
1
-
-
You didn't applied the diff correctly.
Look at your skill_strip_equip function, there is:
if (rnd()%100 >= rate) if (rate > -1 && rnd()%100 >= rate) return 0;
But it should be:
if (rate > -1 && rnd()%100 >= rate) return 0;
-
Implemented at: 16992
We opted by replacing the src svn with the old version 16966.
And since this code style thing is giving so much trouble (which I thought it wouldn't), personally I don't want this kind of headache anymore, so leave it be.
We agreed.
-
I am starting to work on this now.
Complete.
Here's the diff, if someone want to check:
http://www.mediafire.com/download.php?peh69n9fbvadwr1
Patch the revertTo16967 before.
I pretended to commit it a little later, but not sure after talking to mkbu95.
It'd be good if we could make a meeting with everyone at irc.
-
1
-
-
Add a skill effect on rogue's soul link
Can bypass FCP with single strip(strip helm, shield, armor, weapon) while consuming 1 Glistening Coat every successful stripped.
thanks hope someone could grant my request.
I did it in the exact way you requested, you didn't say you want it to be 100% chance, the skill has a base chance so it of course will not remove every time.
If you want it to be 100%, remove this piece from the diff:
rnd()%100 < i &&
-
and I think we should keep the actual ATK_RATE2 as it is but declare the 2 new atk macro as ATK_RATER and ATK_RATEL (since it's to increase left or right dammage). This to not shift the actual one in ATK_RATE3 and increase the diff.
I have already put it, it was a problem when pasting it to uPaste, updated the link.
Edit:
Implemented the safer way in battle.c
-
http://rathena.org/b...sconnect-issue/
Sample of bug:
damage = 3000000;
cardfix = 1000;
damage = damage * cardfix / 1000;
damage = 3000000 * 1000 / 1000;
damage = 3000000000(overflow, now it's negative) / 1000;
Result: No damage, since damages smaller than 1 will return miss.
Here's a patch I made which will make formulas a little safer on systems(compilers) which implements int as int32:
http://upaste.me/24dc1734408c633f
Or we can try using long long, there's other ways to do.
I'd like to hear your opnion.
EDIT:
RIght after posting I though it'd be more elegant to use int64(long long), instead of using the float trick.
Sample:
damage = (int64) damage * cardfix / 1000;If none has any complain, I'll go for it.
-
Any of the Core Devs feel free to take care of this as I'm out of commission this weekend as posted.
Thanks,
Cookie
I'm marking it as approved as the majority is in agree.
inter_athena.conf & party.conf
in Implemented
Posted
Just an observation, it's not because it's only used on char-server, it's because it's used out of mapserver category and it doesn't fit very well into one of the other categories(login, char etc) or is/could be in more than one server, will eventually be in interserver.