-
Posts
143 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Jarek
-
-
src/map/status.cpp
status_base_atk :
#ifdef RENEWAL str = (dstr * 10 + dex * 10 / 5 + status->luk * 10 / 3 + level * 10 / 4) / 10; #else str += dex / 5 + status->luk / 5; #endif
-
You have a few hidden symbols at first strnpcinfo(2) before and after 'o'
Just retype this part
-
I think this could be done via script with 'OnPCBaseLvUpEvent' label, rough outline:
OnPCBaseLvUpEvent: if (BaseLevel = 50) { script of choosing 1st job here } else if (BaseLevel = 100) { script of choosing 2nd job here } else if (BaseLevel = 200) { up to Trans script } end;
-
callshop "premiumshop",1;
shop premiumship
-
if( countitem (.@items[.@i]) < 1 ) goto L_NotEnough;
- 1
-
After OnInit: add variable for base chance
.craft_rate = 50;
Before getitem .@q[0],.@q[2]; add this
if ( rand(100) > (.craft_rate + readparam(bLuk)/10 + readparam(bDex)/6) ) { mes "[Quest Shop]"; mes "Item creation was failed."; close; }
-
There is still '//' instead of '/' in division operation
-
Restart server or @reloadnpcfile <file name>
-
There are error messages at map_server?
-
skill_cast_db.txt
//-- WZ_METEOR 83,9600,2000:3000:3000:4000:4000:5000:5000:6000:6000:7000,0,2000:3000:3000:4000:4000:5000:5000:6000:6000:7000,5000,0,2400
2000:3000:3000:4000:4000:5000:5000:6000:6000:7000
This is number of meteors at skill level
-
src\map\skil.cpp
int skill_counter_additional_effect ... if( (attack_type&(BF_WEAPON|BF_SHORT)) == (BF_WEAPON|BF_SHORT) ) { sp += sd->bonus.sp_gain_value; sp += sd->sp_gain_race[status_get_race(bl)] + sd->sp_gain_race[RC_ALL]; hp += sd->bonus.hp_gain_value; }
If you change condition like this
if( attack_type&BF_WEAPON )
It will work with physical melee and ranged attacks
- 1
-
Why are you use // in
countitem(42500)//10
etc
QuoteWhenever '//' is encountered in a line upon reading, everything beyond this on
that line is considered to be a comment and is ignored. This works wherever you
place it. -
npc\guild2\agit_main_se.txt
line 1507
OnTimer300000
OnTimer300000:
-
Double check this:
if( countitem (.@items[.@i]) ) goto L_NotEnough;
If I have this item then I go to L_NotEnough?
Probably should be:
if( !countitem (.@items[.@i]) ) goto L_NotEnough;
-
1 .
if (!countitem(512)) { mes "You don't have an apple"; close; }
2
if ( (Class != Job_Blacksmith) || (BaseLevel < 70) || (readparam(bLuk) < 80) ) { mes "You don't meet requirements"; close; }
-
That is strange
https://github.com/rathena/rathena/blob/master/db/pre-re/item_trade.txt#L634
https://github.com/rathena/rathena/blob/master/db/re/item_trade.txt#L147
Do you get any messages? Like: This item cannot be stored.
- 1
-
db\re(pre-re)\item_trade.txt
Quote// 32 - item can't be placed in the storage
Make sure your item doesn't have this flag
- 1
-
db\import-tmpl\job_exp.txt
QuoteSupports up to base level 1000 and job level 255
-
1. Bio Cannibalize
You can change monsters id at: src/skill.cpp
int skill_castend_pos2 ... case AM_CANNIBALIZE: { int summons[5] = { MOBID_G_MANDRAGORA, MOBID_G_HYDRA, MOBID_G_FLORA, MOBID_G_PARASITE, MOBID_G_GEOGRAPHER };
and at
bool skill_check_condition_castend ... case AM_CANNIBALIZE: case AM_SPHEREMINE: { int c=0; int summons[5] = { MOBID_G_MANDRAGORA, MOBID_G_HYDRA, MOBID_G_FLORA, MOBID_G_PARASITE, MOBID_G_GEOGRAPHER }; int maxcount = (skill_id==AM_CANNIBALIZE)? 6-skill_lv : skill_get_maxcount(skill_id,skill_lv);
maxcount is a variable for number of mobs
2. Acid Demonstration
You can change element of this skill and number of hits at db/re(pre-re)/skill_db.txt
// 05 element (0 - neutral, 1 - water, 2 - earth, 3 - fire, 4 - wind, 5 - poison, // 6 - holy, 7 - dark, 8 - ghost, 9 - undead, -1 - use weapon element // -2 - use endowed element, -3 - use random element.) // 09 Number of hits (when positive, damage is increased by hits, // negative values just show number of hits without increasing total damage)
4. https://github.com/rathena/rathena/wiki/Adding-New-Bonuses
-
For example:
1101,Sword,Sword,5,100,,500,25,,1,3,0x000654E3,63,2,2,1,2,1,2,{},{ disguise 1002; },{ undisguise; }
-
\src\map\status.cpp
unsigned short status_base_atk ... str = (dstr*10 + dex*10/5 + status->luk*10/3 + ((TBL_PC*)bl)->status.base_level*10/4)/10;
-
Replace GETTIME_DAYOFMONTH with DT_DAYOFMONTH,
GETTIME_MONTH with DT_MONTH,
GETTIME_YEAR with DT_YEAR,
etc..
- 2
-
It was so long ago ...
Updated ru localization: https://pastebin.com/1NWrGaUf
- 1
-
You should replace
if (.chance == 3){
with
if (.chance < 3){
and
else if (.chance == 15){
with
else if (.chance < 15){
Card Exchanger help
in Scripting Support
Posted
You can define itemshop:
where costitemid = 6379
And then just callshop this itemshop in case 4
callshop "<name>",<option>;