Alphoccio 0 Posted February 14, 2015 Hello there.. I find that RO has implement too many Skills but some of it is getting less it's importance in game. so I just want to make some boost of some skills. one of it is how do I widen the Skill Fire Wall? Let say from default 3 x 2 Cells to 6 x 2 Cells? I've read the wiki for quite some time now regarding Skills modifications.. and I believe its in Skill.c but I don't want to risk. Hoping for your assistance. Quote Share this post Link to post Share on other sites
0 malufett 247 Posted February 14, 2015 @skill.c under 'void skill_init_unit_layout (void)' then find 'skill->firewall_unit_pos' and below it you can see the layout..just add another xy point... Quote Share this post Link to post Share on other sites
0 Alphoccio 0 Posted February 14, 2015 (edited) @skill.c under 'void skill_init_unit_layout (void)' then find 'skill->firewall_unit_pos' and below it you can see the layout..just add another xy point... Hi there malufett, I tried to understand what you want me to do.. but I think I'm not yet there with my programming skills doing the basics.. I've studied Java some Web PL. but not so C++. but I'm planning to learn it. please can you edit the codes below? cause I might do it the wrong way. Thank you so much for your time. // firewall and icewall have 8 layouts (direction-dependent) skill->firewall_unit_pos = pos; for (i=0;i<8;i++) { if (i&1) { skill->unit_layout[pos].count = 5; if (i&0x2) { int dx[] = {-1,-1, 0, 0, 1}; int dy[] = { 1, 0, 0,-1,-1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } else { int dx[] = { 1, 1 ,0, 0,-1}; int dy[] = { 1, 0, 0,-1,-1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } } else { skill->unit_layout[pos].count = 3; if (i%4==0) { int dx[] = {-1, 0, 1}; int dy[] = { 0, 0, 0}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } else { int dx[] = { 0, 0, 0}; int dy[] = {-1, 0, 1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } } pos++; Edited February 14, 2015 by Alphoccio Quote Share this post Link to post Share on other sites
0 malufett 247 Posted February 14, 2015 I've studied Java some Web PL. but not so C++. but I'm planning to learn it. nah...all programming language are the same..as long as you understand how to do 'if else' you can survive as a programmer.. please can you edit the codes below? cause I might do it the wrong way. nah..I don't want...if you want to learn...you must experience to fail..so do trial and error..anyway here is a hint.. skill->unit_layout[pos].count = 5; // number of points if (i&0x2) { // here are x points and y points having this plot it and you can see something int dx[] = {-1,-1, 0, 0, 1}; int dy[] = { 1, 0, 0,-1,-1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); // just copying of array dx to skill->unit_layout memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); // just copying of array dy to skill->unit_layout Quote Share this post Link to post Share on other sites
0 Alphoccio 0 Posted February 14, 2015 I've studied Java some Web PL. but not so C++. but I'm planning to learn it. nah...all programming language are the same..as long as you understand how to do 'if else' you can survive as a programmer.. > please can you edit the codes below? cause I might do it the wrong way. nah..I don't want...if you want to learn...you must experience to fail..so do trial and error..anyway here is a hint.. skill->unit_layout[pos].count = 5; // number of points if (i&0x2) { // here are x points and y points having this plot it and you can see something int dx[] = {-1,-1, 0, 0, 1}; int dy[] = { 1, 0, 0,-1,-1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); // just copying of array dx to skill->unit_layout memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); // just copying of array dy to skill->unit_layout @malufett oh I admit it.. I can't figure it out.. what do you mean " just add another xy point..." ? I did these changes and that... kindly see.. skill->firewall_unit_pos = pos; for (i=0;i<9;i++) { if (i&1) { skill->unit_layout[pos].count = 8; // "AE_NOTE-Default: 5 " if (i&0x2) { int dx[] = {-1,-1, 0, 0, 0, 0, 0, 1}; int dy[] = { 1, 0, 0, 0, 0, 0,-1,-1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } else { int dx[] = { 1, 1 ,0, 0, 0, 0, 0,-1}; int dy[] = { 1, 0, 0, 0, 0, 0,-1,-1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } And it's a must to Re-compiled the server every time I make changes right??? but sadly nothing happens... it's still the same. I have no idea on how & what are those {-1,-1, 0, 0, 1 }; values stands for? btw, thank you so much for checking out this topic. Quote Share this post Link to post Share on other sites
0 malufett 247 Posted February 14, 2015 this is the whole code.. skill->firewall_unit_pos = pos;for (i=0;i<8;i++) { if (i&1) { skill->unit_layout[pos].count = 5; if (i&0x2) { int dx[] = {-1,-1, 0, 0, 1}; int dy[] = { 1, 0, 0,-1,-1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } else { int dx[] = { 1, 1 ,0, 0,-1}; int dy[] = { 1, 0, 0,-1,-1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } } else { skill->unit_layout[pos].count = 3; if (i%4==0) { int dx[] = {-1, 0, 1}; int dy[] = { 0, 0, 0}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } else { int dx[] = { 0, 0, 0}; int dy[] = {-1, 0, 1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } } pos++;} ok those coordinates are patterns.. and as I said before you need to plot it,... into a Cartesian plane you can see the pattern.. for example I hope after seeing this you will get the idea... Word of the day: A good programmer is a good mathematician... 1 Alphoccio reacted to this Quote Share this post Link to post Share on other sites
0 Alphoccio 0 Posted February 15, 2015 this is the whole code.. skill->firewall_unit_pos = pos;for (i=0;i<8;i++) { if (i&1) { skill->unit_layout[pos].count = 5; if (i&0x2) { int dx[] = {-1,-1, 0, 0, 1}; int dy[] = { 1, 0, 0,-1,-1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } else { int dx[] = { 1, 1 ,0, 0,-1}; int dy[] = { 1, 0, 0,-1,-1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } } else { skill->unit_layout[pos].count = 3; if (i%4==0) { int dx[] = {-1, 0, 1}; int dy[] = { 0, 0, 0}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } else { int dx[] = { 0, 0, 0}; int dy[] = {-1, 0, 1}; memcpy(skill->unit_layout[pos].dx,dx,sizeof(dx)); memcpy(skill->unit_layout[pos].dy,dy,sizeof(dy)); } } pos++;} ok those coordinates are patterns.. and as I said before you need to plot it,... into a Cartesian plane you can see the pattern.. for example I hope after seeing this you will get the idea... Word of the day: A good programmer is a good mathematician... Good day malufett, After many hours & a night of mind processing while sleeping.. haha I just wanna say Thank you so much! so kind of yours. I got it working now.. though I'm still trying to understand the Structure of the program and how the codes Flow.. I want to learn more of it. well, though I'm not so good in Arrays.. we're in Java 2 Object Oriented and we tackled basic Arrays and now it made me realize its importance. for example what if I want it to be in Circle shape...? and so on... oh I just hope this wouldn't be the last.. again thank you for your assistance. Keep it up and have a great day to you. Quote Share this post Link to post Share on other sites
0 malufett 247 Posted February 15, 2015 Good day malufett, After many hours & a night of mind processing while sleeping.. haha I just wanna say Thank you so much! so kind of yours. I got it working now.. though I'm still trying to understand the Structure of the program and how the codes Flow.. I want to learn more of it. well, though I'm not so good in Arrays.. we're in Java 2 Object Oriented and we tackled basic Arrays and now it made me realize its importance. for example what if I want it to be in Circle shape...? and so on... oh I just hope this wouldn't be the last.. again thank you for your assistance. Keep it up and have a great day to you. good for you...and hope you understand why I'm getting hard on you.. cause you need it and I hate spoon feeding.. Quote Share this post Link to post Share on other sites
Hello there..
I find that RO has implement too many Skills but some of it is getting less it's importance in game.
so I just want to make some boost of some skills.
one of it is how do I widen the Skill Fire Wall?
Let say from default 3 x 2 Cells to 6 x 2 Cells?
I've read the wiki for quite some time now regarding Skills modifications..
and I believe its in Skill.c but I don't want to risk.
Hoping for your assistance.
Share this post
Link to post
Share on other sites