-
Content Count
556 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by ThyroDree
-
How can i set it to all maps enables PvP Points?
-
Is this the updated version? https://github.com/dastgirp/HPM-Plugins/blob/master/src/plugins/costumeitem.c I'm using it now and error
-
How can i run the server under gdb?
-
Running on Linux Centos 7: Hosted from BuyVM Error: Server received crash signal! Attempting to save all online characters! Anyone knows how to fix this? this error shows up every 1~2 hours the server is running
-
Hello, anyone has exp_group_db.conf (I can't find any from search) high than level 99/70 exp? Pre-re db.. I have a 255/120 and gives me this error [Error]: pc_read_exp_db_sub_class: Specified max 255 for group 'TranscendedClasses', but that group's base exp table only goes up to level 98. [Info]: Filling the missing values with the last exp entry. [Error]: pc_read_exp_db_sub_class: Specified max 255 for group 'ThirdClasses', but that group's base exp table only goes up to level 98. [Info]: Filling the missing values with the last exp entry. [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'ThirdClasses', but that group's job exp table only goes up to level 49. [Info]: Filling the missing values with the last exp entry. [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'TranscendedFirstClasses', but that group's job exp table only goes up to level 49. [Info]: Filling the missing values with the last exp entry. [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'TranscendedSecondClasses', but that group's job exp table only goes up to level 69. [Info]: Filling the missing values with the last exp entry. [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'NinjaAndGunslinger', but that group's job exp table only goes up to level 69. [Info]: Filling the missing values with the last exp entry. [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'StarGladiator', but that group's job exp table only goes up to level 49. [Info]: Filling the missing values with the last exp entry. [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'SuperNovice', but that group's job exp table only goes up to level 98. [Info]: Filling the missing values with the last exp entry.
-
Anyone can help me configure conf files
ThyroDree replied to ThyroDree's question in General Server Support
Is think updated? http://herc.ws/wiki/Import_folder -
Hello, I'm looking for guides how to configure the conf files where I will put the Host IP and other things like SQL Accounts to make the server runs online.. If you guys know any guides please help me Thank you! :3
-
getting this error too, "look" is no element from "item_data" costumeitem.c: 347:16: error: "struct "item_data"" has no member named ""look"" using dastgir costume plugin
-
still the same, i'm using an old hercules emulator is that factor for this error?
-
how can i get .so files
-
Hello anyoen can help me when setting up my emulator and used ./configure , make sql then make plugins Make plugins gives me error, heres the error im getting. make [1]: Entering Directory '/home/hercules/Trunk/src/plugins' make [1]: *** No rule to make target '../../plugins/sample.so', needed by 'sample'. Stop. make [1]: Leaving directory '/home/hercules/Trunk/src/plugins' make: *** [plugins] Error 2 Anyone??
-
Which most recommended OS for Linux VPS
ThyroDree replied to ThyroDree's question in General Server Support
I don't even know how to upload my emulator to vps. xD Thank you~ PS. Can't even find how on google T_T -
Which most recommended OS for Linux VPS
ThyroDree replied to ThyroDree's question in General Server Support
i think the link uses the clean hercules emulator, git clone https://github.com/HerculesWS/Hercules.git ~/Hercules -
Which most recommended OS for Linux VPS
ThyroDree replied to ThyroDree's question in General Server Support
Thank you this will be very helpful, but What if I have my own emulator and I want to use it? how can use it :(9 -
Which most recommended OS for Linux VPS
ThyroDree replied to ThyroDree's question in General Server Support
Do you have guide how to setup using centos 6 64bit? Thank you -
Anyone recommend which OS i will choose? Which one is easier to configure, I don't know anything yet. I just wanted to learn configure a server myself. Anyone can help? My choices are only Centos 5,6,7 (64 bit) Debian 6,7 (64 bit) Ubuntu 12.04,14.04,16.04 (64 bit)
-
bump
-
Hello anyone can help? Adding command that cleans the room when a player enters the room, ex. If there is monster inside from previous renter, It will die and drops will automatically remove/clean. I tried to add atcommand "@killmonster"; prontera,165,161,4 script Private Branch Room 4_M_EIN_SOLDIER,{ setarray $@maps$[1], "pvp_n_1-1", "06guild_01", "06guild_02", "06guild_03", "06guild_04", "06guild_05"; setarray .@price[1], 200, 35000000, 35000000, 35000000, 35000000, 35000000; for(set .@b,1; .@b < getarraysize($@maps$); set .@b,.@b + 1) { if(.@b==1){ set .@menu$, .@menu$ + "Public- "+((getmapusers($@maps$[.@b])>=30)?"^CD0000Full^000000("+getmapusers($@maps$[.@b])+")":"^007700Open^000000("+getmapusers($@maps$[.@b])+") ["+.@price[.@b]+" zeny]")+":"; } else { set .@menu$, .@menu$ + "Private["+(.@b-1)+"]- "+((getmapusers(""+$@maps$[.@b]+"")>0)?"^CD0000Full^000000("+getmapusers($@maps$[.@b])+")":"^007700Open^000000("+getmapusers($@maps$[.@b])+") ["+.@price[.@b]+" zeny]")+":"; } } mes "[ ^007fffBranch Manager^000000 ]"; mes "Private Branch Room cost ^FF000035,000,000^000000z."; mes "You can only use the room for only ^FF000030 minutes^000000."; next; mes "[ ^007fffBranch Manager^000000 ]"; mes "Once you leave the room, you will need to pay again to enter this room."; next; mes "[ ^007fffBranch Manager^000000 ]"; mes "Please select a Private Branch room."; mes "^FF0000Remember^000000:"; mes "Once you leave the room, you will need to pay again to enter this room."; if(select(.@menu$)) { if(Zeny<.@price[@menu]){ mes "[ ^007fffBranch Manager^000000 ]"; mes "I'm sorry but you don't have enough Zeny, please come back later."; close; } if(getmapusers($@maps$[@menu])<=30&&@menu==1){ set Zeny,Zeny-.@price[@menu]; set $@maps$,$@maps$[@menu]; setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],111,67; end; } if(!getmapusers($@maps$[@menu])){ mes "..."; next; mes "[ ^007fffBranch Manager^000000 ]"; mes "Use Private DB Room for"; mes "30 minutes!"; mes "But you need to pay me 35,000,000z"; mes "Input a new password."; input($password$[@menu]); set Zeny,Zeny-.@price[@menu]; set $@maps$,$@maps$[@menu]; next; setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],50,50; atcommand "@killmonster"; atcommand "@cleanmap"; end; } if(getmapusers($@maps$[@menu])<=0&&@menu!=1) { mes "[ ^007fffBranch Manager^000000 ]"; mes "This room is password protected please input the password now."; input(@name$); if(@name$==$password$[@menu]){ set Zeny,Zeny-.@price[@menu]; set $@maps$,$@maps$[@menu]; mes "correct!"; next; setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],50,50; end; } else { mes "Incorrect!"; close; } } else { mes "[ ^007fffBranch Manager^000000 ]"; mes "I'm sorry this room is full."; close; } } OnTimer1800000: if(strcharinfo(3)==$@maps$){ warp "prontera",156,191; end; } }
-
This kind of DB room i am looking but it should have command if player enters the room, the monster left inside clears/dies. Especially the private room right?
-
When the player leaves the private mvp room it clears the monster inside? may i know the difference between the Public that cost 200z and private which cost 35M z?
-
Hello, Anyone can help me.. Getting this problem, I check my mapindex and maps in conf folder i have the 06guild_ maps written. [Debug]: mapindex_name2id: Map "" not found in index list! [Debug]: Source (NPC): Summoner#guil8 at 06guild_08 (49,49) [Debug]: mapindex_name2id: Map "" not found in index list! [Debug]: Source (NPC): Summoner#guil7 at 06guild_07 (49,49) [Debug]: mapindex_name2id: Map "" not found in index list! [Debug]: Source (NPC): Summoner#guil6 at 06guild_06 (49,49) [Debug]: mapindex_name2id: Map "" not found in index list! [Debug]: Source (NPC): Summoner#guil5 at 06guild_05 (49,49) [Debug]: mapindex_name2id: Map "" not found in index list! [Debug]: Source (NPC): Summoner#guil4 at 06guild_04 (49,49) [Debug]: mapindex_name2id: Map "" not found in index list! [Debug]: Source (NPC): Summoner#guil3 at 06guild_03 (49,49) [Debug]: mapindex_name2id: Map "" not found in index list! [Debug]: Source (NPC): Summoner#guil2 at 06guild_02 (49,49) [Debug]: mapindex_name2id: Map "" not found in index list! [Debug]: Source (NPC): Summoner#guil1 at 06guild_01 (49,49) From this script //===== rAthena Script ======================================= //= Private MVP & Branch Room //===== By: ================================================== //= AnnieRuru //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Allows players to rent an MVP room for personal use, //= or for a party or guild. //===== Additional Comments: ================================= //= 1.0 First version, edited. [Euphy] //============================================================ prontera,165,161,4 script Private MVP Room 4_M_EIN_SOLDIER,{ mes "[Private MVP Room]"; mes "Please select a private MVP room."; if ( getvariableofnpc( .rentcost, "MVP Summoner" ) ) mes "The cost to rent a room for "+ getvariableofnpc( .timeout, "MVP Summoner" ) +" minutes is "+ callfunc("F_InsertComma", getvariableofnpc( .rentcost, "MVP Summoner" ) ) +" zeny."; else mes "You can only use the room for only "+ getvariableofnpc( .timeout, "MVP Summoner" ) +" minutes."; mes " "; for ( .@i = 1; .@i <= 8; .@i++ ) if ( getvariableofnpc( .renttime[.@i], "MVP Summoner" ) ) mes "Room #"+ .@i +" = "+ .color$[ .type[.@i] ] + .whoinuse$[.@i] +"^000000"; next; .@room = select( "MVP Room 1 ["+ getmapusers("06guild_01") +"]", "MVP Room 2 ["+ getmapusers("06guild_02") +"]", "MVP Room 3 ["+ getmapusers("06guild_03") +"]", "MVP Room 4 ["+ getmapusers("06guild_04") +"]", "MVP Room 5 ["+ getmapusers("06guild_05") +"]", "MVP Room 6 ["+ getmapusers("06guild_06") +"]", "MVP Room 7 ["+ getmapusers("06guild_07") +"]", "MVP Room 8 ["+ getmapusers("06guild_08") +"]"); if ( getvariableofnpc( .renttime[.@room], "MVP Summoner" ) ) { if ( .inuseid[.@room] == getcharid( .type[.@room] ) ) { warp "06guild_0"+ .@room, 0,0; close; } else { mes "[Private MVP Room]"; mes "This room is reserved for "; mes .color$[ .type[.@room] ] + .whoinuse$[.@room] +"^000000."; mes "Please select another."; close; } } mes "[Private MVP Room]"; mes "Reserve this room for..."; next; set .@type, select( "For my party members", "For my guild members", "For personal account use" ); if ( !getcharid(.@type) ) { mes "[Private MVP Room]"; mes "You do not own a "+( ( .@type == 1 )? "Party" : "Guild" )+"."; close; } else if ( Zeny < getvariableofnpc( .rentcost, "MVP Summoner" ) ) { mes "You don't have enough zeny to rent a room."; close; } else if ( getvariableofnpc( .renttime[.@room], "MVP Summoner" ) ) { mes "[Private MVP Room]"; mes "I'm sorry, somebody else has already registered this room faster than you."; close; } for ( .@i = 1; .@i <= 8; .@i++ ) { if ( ( getvariableofnpc( .renttime[.@i], "MVP Summoner" ) ) && .@type == .type[.@i] && getcharid(.@type) == .inuseid[.@i] ) { mes "[Private MVP Room]"; mes "You already rented Room#"+ .@i +". Use that room instead."; close; } } set .type[.@room], .@type; set .inuseid[.@room], getcharid(.@type); set .whoinuse$[.@room], strcharinfo( ( .@type == 3 )? 0 : .@type ); Zeny -= getvariableofnpc( .rentcost, "MVP Summoner" ); warp "06guild_0"+ .@room, 0,0; killmonsterall "06guild_0"+ .@room; donpcevent "MVP Summoner#"+ .@room +"::OnEnterMap"; close; OnInit: .color$[1] = "^EE8800"; // party color .color$[2] = "^70CC11"; // guild color .color$[3] = "^0000FF"; // account color end; } - script Summoner FAKE_NPC,{ mes "[MVP Summoner]"; mes "Time left: " + callfunc( "Time2Str", .renttime[ atoi( strnpcinfo(2) ) ] + .timeout * 60 ); mes "Hi, what can I do for you?"; next; switch ( select(.menu$) ) { case 1: mes "[MVP Summoner]"; if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "I cannot offer heal service when there are monsters around."; close; } sc_end SC_STONE; sc_end SC_SLOWDOWN; sc_end SC_FREEZE; sc_end SC_SLEEP; sc_end SC_CURSE; sc_end SC_SILENCE; sc_end SC_CONFUSION; sc_end SC_BLIND; sc_end SC_BLEEDING; sc_end SC_DECREASEAGI; sc_end SC_POISON; sc_end SC_HALLUCINATION; sc_end SC_STRIPWEAPON; sc_end SC_STRIPARMOR; sc_end SC_STRIPHELM; sc_end SC_STRIPSHIELD; sc_end SC_CHANGEUNDEAD; sc_end SC_ORCISH; sc_end SC_BERSERK; sc_end SC_SKE; sc_end SC_SWOO; sc_end SC_SKA; percentheal 100,100; specialeffect(EF_HEAL2, AREA, playerattached()); mes "You are completely healed."; close; case 2: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "[MVP Summoner]"; mes "I cannot summon another MVP when there are monsters around."; close; } else if ( .mvpcost ) { mes "[MVP Summoner]"; mes "The cost to summon an MVP is "+ callfunc( "F_InsertComma", .mvpcost ) +" zeny."; next; set .@menu, select(.mvpid_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvpcost ) { mes "You don't have enough zeny to summon an MVP."; close; } } else { set .@menu, select(.mvpid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvpcost ) end; Zeny -= .mvpcost; monster "this", 0, 0, "--ja--", .mvpid[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 3: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "[MVP Summoner]"; mes "I cannot summon another mini-boss when there are monsters around."; close; } else if ( .bosscost ) { mes "[MVP Summoner]"; mes "The cost to summon a mini-boss is "+ callfunc( "F_InsertComma", .bosscost ) +" zeny."; next; set .@menu, select(.bossid_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .bosscost ) { mes "You doesn't have enough zeny to summon a mini-boss."; close; } } else { set .@menu, select(.bossid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .bosscost ) end; Zeny -= .bosscost; monster "this", 0, 0, "--ja--", .bossid[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 4: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) > 0 ) { mes "[MVP Summoner]"; mes "I cannot offer this service when there are monsters around."; close; } close2; callshop "MVP room#branch", 1; end; case 5: mes "[MVP Summoner]"; mes "Are you sure you want to leave this room?"; next; if ( select( "Yes:No") == 1 ) warp .respawnmap$, .respawnx, .respawny; close; case 6: mes "[MVP Summoner]"; if ( getmapusers( strcharinfo(3) ) > 1 ) { mes "There are still some players in this room. Make sure you are the last member in this room to use this option."; close; } mes "Are you sure you want to give up this room?"; if ( .rentcost ) mes "You will need to pay again to enter this room."; next; if ( select( "Yes", "No" ) == 2 ) close; awake strnpcinfo(0); end; } close; OnMobDead: end; OnEnterMap: .@id = atoi( strnpcinfo(2) ); .renttime[.@id] = gettimetick(2); sleep .timeout * 60000; mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; .renttime[.@id] = 0; killmonsterall strnpcinfo(4); end; OnInit: if ( !getstrlen( strnpcinfo(2) ) ) { // Config --------------------------------------------------------------------------------------- // Room rental time, in minutes. // When time runs out, all players inside the room will be kicked out. // Do NOT set this to zero! set .timeout, 60; set .rentcost, 100000; // Zeny cost for renting a room (0 = free) set .mvpcost, 100000; // Zeny cost to summon an MVP (0 = free) set .bosscost, 50000; // Zeny cost to summon a boss monster (0 = free) // Options setting inside MVP room set .@menu[1], 1; // Turn Heal option On/Off set .@menu[2], 1; // Turn MVP Summoning On/Off set .@menu[3], 1; // Turn Mini boss Summoning On/Off set .@menu[4], 0; // Sell items (branches) On/Off (see shop below, before the mapflags) // Respawn point when players leave the room set .respawnmap$, "prontera"; set .respawnx, 150; set .respawny, 174; setarray .mvpid[0], 1511,// Amon Ra 1647,// Assassin Cross Eremes 1785,// Atroce 1630,// Bacsojin 1039,// Baphomet 1874,// Beelzebub 1272,// Dark Lord 1719,// Datale 1046,// Doppelgangger 1389,// Dracula 1112,// Drake 1115,// Eddga 1418,// Evil Snake Lord 1871,// Fallen Bishop 1252,// Garm 1768,// Gloom Under Night 1086,// Golden Thief Bug 1885,// Gopinich 1649,// High Priest Magaleta 1651,// High Wizard Katrinn 1832,// Ifrit 1492,// Incantation Samurai 1734,// Kiel D-01 1251,// Knight of Windstorm 1779,// Ktullanux 1688,// Lady Tanee 1646,// Lord Knight Seyren 1373,// Lord of Death 1147,// Maya 1059,// Mistress 1150,// Moonlight Flower 1087,// Orc Hero 1190,// Orc Lord 1038,// Osiris 1157,// Pharaoh 1159,// Phreeoni 1623,// RSX 0806 1650,// Sniper Shecil 1583,// Tao Gunka 1708,// Thanatos 1312,// Turtle General 1751,// Valkyrie Randgris 1685,// Vesper 1648,// Whitesmith Harword 1917,// Wounded Morroc 1658;// Ygnizem setarray .bossid[0], 1096,// Angeling 1388,// Archangeling 1795,// Bloody Knight 1830,// Bow Guardian 1839,// Byorgue 1309,// Cat O' Nine Tail 1283,// Chimera 1302,// Dark Illusion 1198,// Dark Priest 1582,// Deviling 1091,// Dragon Fly 1093,// Eclipse 1205,// Executioner 1783,// Galion 1592,// Gangster 1120,// Ghostring 1259,// Gryphon 1720,// Hydro 1090,// Mastering 1289,// Maya Purple 1262,// Mutant Dragon 1203,// Mysteltainn 1870,// Necromancer 1295,// Owl Baron 1829,// Sword Guardian 1204,// Tirfing 1089,// Toad 1092,// Vagabond Wolf 1765;// Valkyrie // Config Ends ------------------------------------------------------------------------ if ( !.timeout ) set .timeout, 60; .menu$ = ( .@menu[1] ? "Heal" : "" ) +":" ; .menu$ = .menu$ + ( .@menu[2] ? "Summon MVP" : "" ) +":"; .menu$ = .menu$ + ( .@menu[3] ? "Summon Mini-boss" : "" ) +":"; .menu$ = .menu$ + ( .@menu[4] ? "Buy branches" : "" ) +":"; .menu$ = .menu$ + "Leave this room:Give up this room"; if ( .@menu[2] ) { .@size = getarraysize( .mvpid ); for ( .@i = 0; .@i < .@size; .@i++ ) .mvpid_menu$ = .mvpid_menu$ + getmonsterinfo( .mvpid[.@i], MOB_NAME ) +":"; } if ( .@menu[3] ) { .@size = getarraysize( .bossid ); for ( .@i = 0; .@i < .@size; .@i++ ) .bossid_menu$ = .bossid_menu$ + getmonsterinfo( .bossid[.@i], MOB_NAME ) +":"; } } else { mapannounce strnpcinfo(4), "An administrator has refreshed the server. Please re-register this room.", bc_map; mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; } end; } - shop MVP room#branch2 FAKE_NPC,604:100000,12103:1000000 06guild_01,49,49,4 duplicate(Summoner) Summoner#guil1 4_F_KAFRA2 06guild_02,49,49,4 duplicate(Summoner) Summoner#guil2 4_F_KAFRA2 06guild_03,49,49,4 duplicate(Summoner) Summoner#guil3 4_F_KAFRA2 06guild_04,49,49,4 duplicate(Summoner) Summoner#guil4 4_F_KAFRA2 06guild_05,49,49,4 duplicate(Summoner) Summoner#guil5 4_F_KAFRA2 06guild_06,49,49,4 duplicate(Summoner) Summoner#guil6 4_F_KAFRA2 06guild_07,49,49,4 duplicate(Summoner) Summoner#guil7 4_F_KAFRA2 06guild_08,49,49,4 duplicate(Summoner) Summoner#guil8 4_F_KAFRA2 06guild_01 mapflag nowarpto 06guild_02 mapflag nowarpto 06guild_03 mapflag nowarpto 06guild_04 mapflag nowarpto 06guild_05 mapflag nowarpto 06guild_06 mapflag nowarpto 06guild_07 mapflag nowarpto 06guild_08 mapflag nowarpto 06guild_01 mapflag nomemo 06guild_02 mapflag nomemo 06guild_03 mapflag nomemo 06guild_04 mapflag nomemo 06guild_05 mapflag nomemo 06guild_06 mapflag nomemo 06guild_07 mapflag nomemo 06guild_08 mapflag nomemo 06guild_01 mapflag noteleport 06guild_02 mapflag noteleport 06guild_03 mapflag noteleport 06guild_04 mapflag noteleport 06guild_05 mapflag noteleport 06guild_06 mapflag noteleport 06guild_07 mapflag noteleport 06guild_08 mapflag noteleport 06guild_01 mapflag nosave SavePoint 06guild_02 mapflag nosave SavePoint 06guild_03 mapflag nosave SavePoint 06guild_04 mapflag nosave SavePoint 06guild_05 mapflag nosave SavePoint 06guild_06 mapflag nosave SavePoint 06guild_07 mapflag nosave SavePoint 06guild_08 mapflag nosave SavePoint 06guild_01 mapflag nopenalty 06guild_02 mapflag nopenalty 06guild_03 mapflag nopenalty 06guild_04 mapflag nopenalty 06guild_05 mapflag nopenalty 06guild_06 mapflag nopenalty 06guild_07 mapflag nopenalty 06guild_08 mapflag nopenalty
-
Enable to use Parrying and Lord of Vermillion Skill Go to your trunk/src/map/pc.c and look for: Go to your trunk/src/map/pc.c and look for: /* permanent skills that must be re-checked */ if( sd->status.skill[i].flag == SKILL_FLAG_PERMANENT ) { switch( skill->dbs->db[i].nameid ) { case NV_TRICKDEAD: if ((sd->job & MAPID_UPPERMASK) != MAPID_NOVICE) { sd->status.skill[i].id = 0; sd->status.skill[i].lv = 0; sd->status.skill[i].flag = 0; } break; } } } //Add this line below //Star Glad Parrying Soul Link Buffs if( sd->sc.count && sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_STAR) { sd->status.skill[85].id = 85; sd->status.skill[85].lv = 10; sd->status.skill[85].flag = SKILL_FLAG_PERMANENT; sd->status.skill[356].id = 356; sd->status.skill[356].lv = 10; sd->status.skill[356].flag = SKILL_FLAG_PERMANENT; } Go to Skill_db add this Books: true below weapontypes { Id: 356 Name: "LK_PARRYING" Description: "Parrying" MaxLevel: 10 Hit: "BDT_SKILL" SkillType: { Self: true } AttackType: "Weapon" DamageType: { NoDamage: true } SkillData1: { Lv1: 15000 Lv2: 20000 Lv3: 25000 Lv4: 30000 Lv5: 35000 Lv6: 40000 Lv7: 45000 Lv8: 50000 Lv9: 55000 Lv10: 60000 } CoolDown: 0 Requirements: { SPCost: 50 WeaponTypes: { 2HSwords: true } } }, Works for me Increase damage on Boss monster and Holy monster by 100% Open status.c if ((skill_lv = pc->checkskill(sd, AB_EUCHARISTICA)) > 0) { sd->right_weapon.addrace[RC_DEMON] += skill_lv; sd->right_weapon.addele[ELE_DARK] += skill_lv; sd->left_weapon.addrace[RC_DEMON] += skill_lv; sd->left_weapon.addele[ELE_DARK] += skill_lv; sd->magic_addrace[RC_DEMON] += skill_lv; sd->magic_addele[ELE_DARK] += skill_lv; #ifdef RENEWAL sd->race_tolerance[RC_DEMON] += skill_lv; #else sd->subrace[RC_DEMON] += skill_lv; #endif sd->subele[ELE_DARK] += skill_lv; } //Add this below // Soul Link Star Gladiator Damage if(sc && sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_STAR) { sd->right_weapon.addrace[RC_BOSS] += 100; sd->left_weapon.addrace[RC_BOSS] += 100; sd->right_weapon.addele[ELE_HOLY] += 100; sd->left_weapon.addele[ELE_HOLY] += 100; } Perfect Dodge if(sc->data[SC_PLUSAVOIDVALUE]) flee2 += sc->data[SC_PLUSAVOIDVALUE]->val2; if(sc->data[SC_WHISTLE]) flee2 += sc->data[SC_WHISTLE]->val3*10; //Add this below if(sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_STAR) flee2 += 10;
-
[Parrying Skill] Star Gladiator Soul Link
ThyroDree replied to ThyroDree's question in Source Support
Thanks! pc.c //Star Glad Parrying Soul Link Buffs if( sd->sc.count && sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_STAR) { sd->status.skill[85].id = 85; sd->status.skill[85].lv = 10; sd->status.skill[85].flag = SKILL_FLAG_PERMANENT; sd->status.skill[356].id = 356; sd->status.skill[356].lv = 10; sd->status.skill[356].flag = SKILL_FLAG_PERMANENT; } add this Books: true to weapontypes { Id: 356 Name: "LK_PARRYING" Description: "Parrying" MaxLevel: 10 Hit: "BDT_SKILL" SkillType: { Self: true } AttackType: "Weapon" DamageType: { NoDamage: true } SkillData1: { Lv1: 15000 Lv2: 20000 Lv3: 25000 Lv4: 30000 Lv5: 35000 Lv6: 40000 Lv7: 45000 Lv8: 50000 Lv9: 55000 Lv10: 60000 } CoolDown: 0 Requirements: { SPCost: 50 WeaponTypes: { 2HSwords: true } } }, Works for me