xlaws27
-
Content Count
225 -
Joined
-
Last visited
Posts posted by xlaws27
-
-
Is this working?
Why not?
Sorry, when Conquest started, priest @recall me
your main town!! that's a good map! is it public released? i would like to have one haha
-
is your data folder is compatible with the client 2015 up?
-
bumppp
-
HP SP Generator link works fine for me
yap it works but the calculation seems different with the eA formula
on my server i followed all the formula without any mistakes
sinx got 65422 hp / paladin got a 66984 hp and LK got a 88410 hp
i now its normal that LK got a lot of hp but its shouldn't be high like that.
and look at the difference of paladin and sinx hp, its too close.
fyi
i edited my base HP rate from 100 to 140 on players.conf that's why they got 60k++ hp
but it doesn't change the fact that the formula is kinda wrong.
-
following this topic!!
this is a really good idea! im waiting for this
-
kami-shi is super busy as always
can someone help me with this? or can someone share their compatible hercules version of the disguise race scripts?
this is what i got:
[Error] script:callfunc: function not found! [setlook2]
Debug: Source (NPC): Race Master at prontera 138 195
this is the script T_T
//===== *Athena Script ======================================= //= Disguise Race Script //===== By: ================================================== //= KamiShi //===== Current Version: ===================================== //= 1.3 //===== Compatible With: ===================================== //= *Athena SVN //===== Description: ========================================= //= Race Master related stuff //= We use permanent char variables to define races: //= race_id = 0 // Human //= race_id = 1 // Dark Elf //= race_id = 2 // Light Elf //= race_id = 3 // Merman //= race_id = 4 // Orc //= race_id = 5 // Vampire //= race_id = 6 // Lycan //= race_id = 7 // Dragoon //= race_id = 8 // Demon //= race_id = 9 // Dark Soul //= race_id = 10 // Light Soul //= race_id = 11 // Earth Element //= race_id = 12 // Wind Element //= race_id = 13 // Water Element //= race_id = 14 // Fire Element //= race_id = 15 // Electric Element //= race_id = 16 // Shadow Element //= race_id = 17 // Ghost Element //= race_id = 18 // Poison Element //= race_id = 19 // Holy Element //= race_id = 20 // Undead Element //========================================================= // You should not use this following NPC if you don't want to // use the *disguise* system, but the *item* system. //========================================================= prontera,138,195,5 script Race Master 897,{ mes "[^008B00Race Master^000000]"; if(race_id) { mes "I see that you got a race choose!"; next; mes "[^008B00Race Master^000000]"; mes "Do you want to become human again?"; next; switch(select("No:Yes")) { case 1: mes "[^008B00Race Master^000000]"; mes "I'll be here if you change your mind..."; close; case 2: mes "[^008B00Race Master^000000]"; mes "Done!"; callfunc "unsetRaceHat"; set race_id,0; callfunc("resetSavedSets"); callfunc("setlook2", 6, 1); callfunc("setlook2", 7, 1); announce "[Race Master]: ["+strcharinfo(0)+"] has became a human again...",bc_all,"0xFFEBCD"; close; } } mes "I can help you to change your Human essence."; mes "Which race are you interested in?"; next; switch(select("Earth Element:Wind Element:Water Element:Fire Element:Electric Element:Shadow Element:Ghost Element:Poison Element:Holy Element:Undead Element")) { case 1: //Earth callfunc "BecomeRace", 11; break; case 2: //Wind callfunc "BecomeRace", 12; break; case 3: //Water callfunc "BecomeRace", 13; break; case 4: //Fire callfunc "BecomeRace", 14; break; case 5: //Electric callfunc "BecomeRace", 15; break; case 6: //Shadow callfunc "BecomeRace", 16; break; case 7: //Ghost callfunc "BecomeRace", 17; break; case 8: //Poison callfunc "BecomeRace", 18; break; case 9: //Holy callfunc "BecomeRace", 19; break; case 10: //Undead callfunc "BecomeRace", 20; break; } mes "[^008B00Race Master^000000]"; mes "Now you are a ^008B00"+$RaceNames$[race_id]+"^000000!"; announce "[Race Master]: ["+strcharinfo(0)+"] has became a "+$RaceNames$[race_id]+"",bc_all,"0xFFEBCD"; close; //=========== *DISGUISE SYSTEM* ================== //= When the player log in, shows its race's ears. //================================================ OnPCLoginEvent: callfunc "setRaceHat"; end; } //=========== *DISGUISE SYSTEM* ================== //==== callfunc ("BecomeRace", <id>); ============ //================================================ function script BecomeRace { set race_id,getarg(0); // Race ID callfunc("setlook2", 6, $RacePals[race_id*4+2]); // Number of the first race hair dye callfunc("setlook2", 7, $RacePals[race_id*4]); // Number of the first race clothes dye callfunc "setRaceHat"; specialeffect2 248; // Some fancy effect return; } //============= *DISGUISE SYSTEM* ================ //=== Set the hat view ID of a race char ========= //================================================ function script setRaceHat { set .@off, 0; // Change this value to increase / decrease hat view ID switch(race_id) { case 1: // Dark Elf setlook2 5,937+.@off; break; case 2: // Light Elf setlook2 5,936+.@off; break; case 3: // Merman setlook2 5,940+.@off; break; case 4: // Orc setlook2 5,941+.@off; break; case 5: // Vampire setlook2 5,938+.@off; break; case 6: // Beast setlook2 4,939+.@off; break; case 7: // Dragoon setlook2 4,942+.@off; break; case 8: // Demon setlook2 5,943+.@off; break; case 9: // DarkSoul setlook2 3,944+.@off; break; case 10: // LightSoul setlook2 3,945+.@off; break; case 11: // Earth setlook2 5,946+.@off; break; case 12: // Wind setlook2 5,947+.@off; break; case 13: // Fire setlook2 5,948+.@off; break; case 14: // Water setlook2 5,949+.@off; break; case 15: // Electric setlook2 5,950+.@off; break; case 16: // Shadow setlook2 4,951+.@off; break; case 17: // Ghost setlook2 4,952+.@off; break; case 18: // Holy setlook2 5,953+.@off; break; case 19: // Poison setlook2 3,954+.@off; break; case 20: // Undead setlook2 3,955+.@off; break; default: //Human break; } return; } //============= *DISGUISE SYSTEM* ================ //=== Unset the hat view ID of a race char ========= //================================================ function script unsetRaceHat { switch(race_id) { case 1: // Dark Elf setlook2 5,0; break; case 2: // Light Elf setlook2 5,0; break; case 3: // Merman setlook2 5,0; break; case 4: // Orc setlook2 5,0; break; case 5: // Vampire setlook2 5,0; break; case 6: // Beast setlook2 4,0; break; case 7: // Dragoon setlook2 4,0; break; case 8: // Demon setlook2 5,0; break; case 9: // DarkSoul setlook2 3,0; break; case 10: // LightSoul setlook2 3,0; break; case 11: // Earth setlook2 5,0; break; case 12: // Wind setlook2 5,0; break; case 13: // Fire setlook2 5,0; break; case 14: // Water setlook2 5,0; break; case 15: // Electric setlook2 5,0; break; case 16: // Shadow setlook2 4,0; break; case 17: // Ghost setlook2 4,0; break; case 18: // Holy setlook2 5,0; break; case 19: // Poison setlook2 3,0; break; case 20: // Undead setlook2 3,0; break; default: //Human break; } return; }
-
[Error]: script_rid2sd: fatal error ! player not attached!
[Debug]: Source (NPC): LMS at mellina (63,75)
lms was working a last week
i got this error yesterday.
the only thing that i changed was the map.
-
you can use checkbound script command for it
add this and change the array of .@Blacklist to your own ids
// Headgear Blacklistsetarray .@Blacklist, 2201, 2202, 2203;for (.@c = 0; .@c < getarraysize(.@Blacklist); ++.@c) { if ( .@Blacklist[.@c] == .@id && checkbound(.@Blacklist[.@c]) ) { mes "You can't convert bound item."; close; }}
after
set .@Part, .@Position[ select(.@Menu$) ];set .@id, getequipid(.@Part);
thank you!!!
-
the ITEMBOUND items became tradable when i converted them into a costume then restore them back.
can you help me ? i have no knowledge scripting.
but i think the solution is countitem so that it won't let the player to use the costume clown if he/she has an <itemid> in his inventory.
//===== Hercules Script ======================================//= Headgear to Costume converter >> Costume to Headgear converter//===== By: ==================================================//= Rebel, Zephyrus [rAthena]//= Mhalicot [Hercules]//===== Current Version: =====================================//= 1.1//===== Compatible With: =====================================//= Hercules//===== Description: =========================================//= Allows a user to convert the equipped headgear // (on Top, Mid or Low) into a costume item. // It will remove any card and refine of the Item.//= Allows a user to restore the equipped costume headgear // (on Top, Mid or Low) into its original form. // It will not return any card or refine of the item.//===== Additional Comments: =================================//= 1.0 Initial script [All of this script are credit to// Rebel, Zephyrus of [rAthena] and revised by [Mhalicot]// to make it compatible in Hercules.]//= 1.1 Denied if Headgear is rental, has refine,// or has card[Mhalicot]// Note: You must apply the patch in order to use this script//============================================================- script Costume Clown -1,{ mes "[Clown]"; mes "Here you can convert your headgears into a Costume Headgear or restore to its Original form."; switch(select("I want to convert.:I want to restore.:No thanks.")) { case 1: next; mes "[Clown]"; mes "Please, select what to convert."; mes "Remember, cards and refine will be removed."; next; setarray .@Position$[1],"Top","Mid","Low"; setarray .@Position[1], 1, 9, 10; set .@Menu$,""; for( set .@i, 1; .@i < 5; set .@i, .@i + 1 ) { if( getequipisequiped(.@Position[.@i]) ) set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]"; set .@Menu$, .@Menu$ + ":"; } set .@Part, .@Position[ select(.@Menu$) ]; set .@id, getequipid(.@Part); set .@ref, getequiprefinerycnt(.@Part); if( !getequipisequiped(.@Part) ) { mes "[Clown]"; mes "Your not wearing anything there..."; close; } mes "[Clown]"; mes "You want to Costume your " + getitemname(getequipid(.@Part)) + "?"; next; if( select("Yes, proceed:No, I am sorry.") == 2 ) { mes "[Clown]"; mes "Need some time to think about it, huh?"; mes "Alright, I can understand."; close; } for(set .@i,0; .@i<4; set .@i,.@i+1) set .@slot[.@i], getequipcardid(.@Part,.@i); if (.@slot[0]>4000 && .@slot[0]<5000) { // If it has card don't convert mes "[Clown]"; mes "A card? Here?!"; mes "As I said before, I don't convert headgear with cards."; emotion e_hmm; close; } getinventorylist; for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1) if (@inventorylist_expire[.@i] != 0 && @inventorylist_equip[.@i] != 0) { // If rental don't convert mes "[Clown]"; mes "Sorry, I don't convert a rental headgear!"; emotion e_hmm; close; } if (.@ref > 0) { // If refine don't convert mes "[Clown]"; mes "Sorry please keep in mind."; mes "I don't convert headgear with refine."; emotion e_hmm; close; } if (!countitem(.@id)) { mes "[Clown]"; mes "Where is "+getitemname(@id)+"...?"; npctalk "You're a snoozy cheater!"; logmes "CHEATER: Tried to sign an item not having it: "+getitemname(@id); emotion e_wah; close; } costume .@Part; // Convert the Headgear mes "[Clown]"; mes "Done, enjoy your costume headgear."; close; case 2: next; mes "Please, select what to restore."; mes "Remember, I will only restore it back without refine and cards."; next; setarray .@Position$[1],"Top","Mid","Low"; setarray .@Position[1], 13, 12, 11; set .@Menu$,""; for( set .@i, 1; .@i < 5; set .@i, .@i + 1 ) { if( getequipisequiped(.@Position[.@i]) ) set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]"; set .@Menu$, .@Menu$ + ":"; } set .@Part, .@Position[ select(.@Menu$) ]; if( !getequipisequiped(.@Part) ) { mes "[Clown]"; mes "Your not wearing anything there..."; close; } mes "[Clown]"; mes "You want to restore your " + getitemname(getequipid(.@Part)) + "?"; next; if( select("Yes, proceed:No, I am sorry.") == 2 ) { mes "[Clown]"; mes "Need some time to think about it, huh?"; mes "Alright, I can understand."; close; } a = getequipid(.@Part); delitem a,1; getitem a,1; mes "[Clown]"; mes "Done, enjoy your restored headgear."; close; case 3: mes "[Clown]"; mes "Very well. Return at once if you seek my services."; close; }}// --------------------------------------------------------------------------// Use duplicates to put your npc on different cities// --------------------------------------------------------------------------mellina,120,75,4 duplicate(Costume Clown) Costume Clown#1 4_M_PIERROT
kazumasa01 reacted to this -
http://herc.ws/board/topic/398-client-translation-project/
Place data folder inside grf, and system folder should be in RO folder(outside grf)
Pic1-4 are because of lua files
Thank you a lot. The lua errors are not there anymore and I was able to use it with latest kRO client. Apparently, only the prontera map still has error, it crashed when I @go 0, others were fine. May I know how to fix this?
if u're stuck in 3% loading then u should download this
-
hi annieruru im planning to implement this in my live server, before i i put this in my server i just want to ask if this plugin is a complete no bug? or safe to use in a live server?
-
-
-
it should be x2 right?
-
-
show your skill.c file
it looks like different than mine
// Skill DBint skill_get_hit( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].hit, skill_id); }int skill_get_inf( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].inf, skill_id); }int skill_get_ele( uint16 skill_id , uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get (skill->dbs->db[skill_id].element[skill_glv(skill_lv-1)], skill_id); }int skill_get_nk( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].nk, skill_id); }int skill_get_max( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].max, skill_id); }int skill_get_range( uint16 skill_id , uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].range[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_splash( uint16 skill_id , uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 ( (skill->dbs->db[skill_id].splash[skill_glv(skill_lv-1)]>=0?skill->dbs->db[skill_id].splash[skill_glv(skill_lv-1)]:AREA_SIZE), skill_id, skill_lv); }int skill_get_hp( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].hp[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_sp( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].sp[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_hp_rate(uint16 skill_id, uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].hp_rate[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_sp_rate(uint16 skill_id, uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].sp_rate[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_state(uint16 skill_id) { skill_get (skill->dbs->db[skill_id].state, skill_id); }int skill_get_spiritball(uint16 skill_id, uint16 skill_lv) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].spiritball[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_itemid(uint16 skill_id, int idx) { skill_get (skill->dbs->db[skill_id].itemid[idx], skill_id); }int skill_get_itemqty(uint16 skill_id, int idx) { skill_get (skill->dbs->db[skill_id].amount[idx], skill_id); }int skill_get_zeny( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].zeny[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_num( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].num[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_cast( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].cast[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_delay( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].delay[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_walkdelay( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].walkdelay[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_time( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].upkeep_time[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_time2( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].upkeep_time2[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_castdef( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].cast_def_rate, skill_id); }int skill_get_weapontype( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].weapon, skill_id); }int skill_get_ammotype( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].ammo, skill_id); }int skill_get_ammo_qty( uint16 skill_id, uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].ammo_qty[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_inf2( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].inf2, skill_id); }int skill_get_castcancel( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].castcancel, skill_id); }int skill_get_maxcount( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].maxcount[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_blewcount( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].blewcount[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_mhp( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].mhp[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_castnodex( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].castnodex[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_delaynodex( uint16 skill_id ,uint16 skill_lv ){ Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].delaynodex[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_type( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].skill_type, skill_id); }int skill_get_unit_id ( uint16 skill_id, int flag ){ skill_get (skill->dbs->db[skill_id].unit_id[flag], skill_id); }int skill_get_unit_interval( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].unit_interval, skill_id); }int skill_get_unit_range( uint16 skill_id, uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].unit_range[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_unit_target( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].unit_target&BCT_ALL, skill_id); }int skill_get_unit_bl_target( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].unit_target&BL_ALL, skill_id); }int skill_get_unit_flag( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].unit_flag, skill_id); }int skill_get_unit_layout_type( uint16 skill_id ,uint16 skill_lv ){ Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].unit_layout_type[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_cooldown( uint16 skill_id, uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].cooldown[skill_glv(skill_lv-1)], skill_id, skill_lv); }int skill_get_fixed_cast( uint16 skill_id ,uint16 skill_lv ) {
on line 171 I haveint skill_get_max( uint16 skill_id ) { skill_get (skill->dbs->db[skill_id].max, skill_id); }
https://github.com/HerculesWS/Hercules/blob/master/src/map/skill.c#L171which doesn't even has skill_get_time ...
EDIT: skill_get_time is on line 187 ...
it was from the copyright message on the first line that's why you got skill_get_time on 187 line
int skill_get_itemqty(uint16 skill_id, int idx) { skill_get (skill->dbs->db[skill_id].amount[idx], skill_id); }
int skill_get_zeny( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].zeny[skill_glv(skill_lv-1)], skill_id, skill_lv); }
int skill_get_num( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].num[skill_glv(skill_lv-1)], skill_id, skill_lv); }
int skill_get_cast( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].cast[skill_glv(skill_lv-1)], skill_id, skill_lv); }
int skill_get_delay( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].delay[skill_glv(skill_lv-1)], skill_id, skill_lv); }
int skill_get_walkdelay( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].walkdelay[skill_glv(skill_lv-1)], skill_id, skill_lv); }
171 int skill_get_time( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].upkeep_time[skill_glv(skill_lv-1)], skill_id, skill_lv); }
172 . int skill_get_time2( uint16 skill_id ,uint16 skill_lv ) { Assert_ret(skill_lv > 0); skill_get2 (skill->dbs->db[skill_id].upkeep_time2[skill_glv(skill_lv-1)], skill_id, skill_lv); }
no such thing as warning found when i used that.
-
rror]: --- failed assertion --------------------------------------------
[Error]: skill.c:171: 'skill_lv > 0' in function `skill_get_time'
[Error]: ./map-server [0x8227711]
[Error]: ./map-server [0x81959ee]
[Error]: ./map-server [0x81ee6d9]
[Error]: ./map-server [0x8167bad]
[Error]: ./map-server [0x817d4e8]
[Error]: ./map-server [0x8184cae]
[Error]: ./map-server [0x8121148]
[Error]: ./map-server [0x80a522a]
[Error]: ./map-server [0x80ae5ac]
[Error]: ./map-server [0x8233584]
[Error]: --- end failed assertion ----------------------------------------
[Error]: --- failed assertion --------------------------------------------
[Error]: skill.c:171: 'skill_lv > 0' in function `skill_get_time'
[Error]: ./map-server [0x8227711]
[Error]: ./map-server [0x81959ee]
[Error]: ./map-server [0x81ee6d9]
[Error]: ./map-server [0x8167bad]
[Error]: ./map-server [0x817d4e8]
[Error]: ./map-server [0x8184cae]
[Error]: ./map-server [0x8121148]
[Error]: ./map-server [0x80a522a]
[Error]: ./map-server [0x80ae5ac]
[Error]: ./map-server [0x8233584]
-
how to mapflag all map in adjust_skill_damage?
-
why do i get this warning? how to fix this?
[Warning] npc_event: player's event queue is full, can't add event 'Anti Bot::OnNpcKillEvent' !
- script Anti Bot -1,{OnNPCKillEvent: //if(getgmlevel() > 0) end; set @kill,@kill+1; if(@kill >= rand(500,501)) goto Check; end;//OnPCLoginEvent:Check: //if(getgmlevel() > 0) end; getmapxy .@map$, .@x, .@y, 0; if (.@map$=="jawaii") end; if(checkcart() == 1) set @cart,1; if(checkfalcon() == 1) set @falcon,1; if(checkmount() == 1) set @mount,1; atcommand "@option 2 0 0"; atcommand "@battleignore"; setoption 0x2,1; sc_start sc_berserk, 1000000000, 1; mes "[Anti Bot]"; mes "Bot checking time"; mes "Please input the number you see"; next; switch( rand(1,9) ) { case 1: mes "#################^83F52C##^000000################"; mes "###############^83F52C####^000000################"; mes "#################^83F52C##^000000################"; mes "#################^83F52C##^000000################"; mes "#################^83F52C##^000000################"; mes "#################^83F52C##^000000################"; mes "###############^83F52C######^000000##############"; input @num; if(@num == 1) break; atcommand "@kick "+strcharinfo(0); end; case 2: mes "#############^83F52C#######^000000###############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "###################^83F52C##^000000##############"; mes "#############^83F52C#######^000000###############"; mes "############^83F52C##^000000#####################"; mes "############^83F52C##^000000#####################"; mes "############^83F52C#########^000000##############"; input @num; if(@num == 2) break; atcommand "@kick "+strcharinfo(0); end; case 3: mes "#############^83F52C#######^000000###############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "###################^83F52C##^000000##############"; mes "#############^83F52C#######^000000###############"; mes "###################^83F52C##^000000##############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "#############^83F52C#######^000000###############"; input @num; if(@num == 3) break; atcommand "@kick "+strcharinfo(0); end; case 4: mes "############^83F52C##^000000#####################"; mes "############^83F52C##^000000####^83F52C##^000000###############"; mes "############^83F52C##^000000####^83F52C##^000000###############"; mes "############^83F52C##^000000####^83F52C##^000000###############"; mes "############^83F52C#########^000000##############"; mes "##################^83F52C##^000000###############"; mes "##################^83F52C##^000000###############"; input @num; if(@num == 4) break; atcommand "@kick "+strcharinfo(0); end; case 5: mes "############^83F52C########^000000###############"; mes "############^83F52C##^000000#####################"; mes "############^83F52C##^000000#####################"; mes "############^83F52C#######^000000################"; mes "##################^83F52C##^000000###############"; mes "############^83F52C##^000000####^83F52C##^000000###############"; mes "#############^83F52C######^000000################"; input @num; if(@num == 5) break; atcommand "@kick "+strcharinfo(0); end; case 6: mes "#############^83F52C#######^000000###############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "############^83F52C##^000000#####################"; mes "############^83F52C########^000000###############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "#############^83F52C######^000000################"; input @num; if(@num == 6) break; atcommand "@kick "+strcharinfo(0); end; case 7: mes "############^83F52C########^000000###############"; mes "############^83F52C##^000000####^83F52C##^000000###############"; mes "################^83F52C##^000000#################"; mes "###############^83F52C##^000000##################"; mes "###############^83F52C##^000000##################"; mes "###############^83F52C##^000000##################"; mes "###############^83F52C##^000000##################"; input @num; if(@num == 7) break; atcommand "@kick "+strcharinfo(0); end; case 8: mes "#############^83F52C#######^000000###############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "#############^83F52C#######^000000###############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "#############^83F52C#######^000000###############"; input @num; if(@num == 8) break; atcommand "@kick "+strcharinfo(0); end; case 9: mes "#############^83F52C#######^000000###############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "#############^83F52C########^000000##############"; mes "###################^83F52C##^000000##############"; mes "############^83F52C##^000000#####^83F52C##^000000##############"; mes "#############^83F52C#######^000000###############"; input @num; if(@num == 9) break; atcommand "@kick "+strcharinfo(0); end; } next; mes "[Anti Bot]"; mes "Thank you for your patience, you can now move on."; atcommand "@option 0 0 0"; atcommand "@battleignore"; setoption 0x2,0; sc_end sc_berserk; percentheal 100,100; set @kill,0; if(@cart == 1) { setcart; set @cart,0; } if(@falcon == 1) { setfalcon; set @falcon,0; } if(@mount == 1) { setmount; set @mount,0; } close;}
-
-
hello. how can i remove this tarot cooldown? it's like 30~50sec cooldown before i can use tarot to player B
just to be more specific
player A spam tarots to player B. after 8 or 9 Tarots, player A cant use tarot to player B for 30 seconds..
but after 30 seconds i can spam 8-9 tarots again to player b
-
someone help me please!!
help me to make mdef won't affect freeze duration/freeze status
and every 40 luk there will be a 10% reduce of freeze duration.
case SC_FREEZE:
sc_def = st->mdef*100;
sc_def2 = st->luk*10 + SCDEF_LVL_DIFF(bl, src, 99, 10);
tick_def2 = status_get_luk(src) * -10; //Caster can increase final duration with luk
break;
case SC_FREEZE: sc_def = st->mdef*100; sc_def2 = st->luk*10 + SCDEF_LVL_DIFF(bl, src, 99, 10); tick_def = st->luk*25; tick_def2 = status_get_luk(src) * -10; //Caster can increase final duration with luk break;
helllo! thanks for this but i haven't seen any mdef changes
does mdef will still affect the freeze chance/freeze duration?
sorry , I didn't read the topic well. If you want mdef not affect freeze status
you can try to comment out this line 'sc_def = st->mdef*100;' ,
so it should look like
case SC_FREEZE: //sc_def = st->mdef*100; sc_def2 = st->luk*10 + SCDEF_LVL_DIFF(bl, src, 99, 10); tick_def = st->luk*25; tick_def2 = status_get_luk(src) * -10; //Caster can increase final duration with luk break;
thanks
-
-
Old gcc often uses more ram for HPMHook,
So you can install new gcc, to overcome this problem..
@BackToTopic,
type this
make plugin.PluginFileName
So for itemmap.c, typemake plugin.itemmap
Note: security plugin requires HpmHook to be enabled
oh demn im screwed o_O
anyway thanks and i tried this but unfortunately it is the latest
i got 1gb ram. how much gb ram do hpm needs?
[root@@ragnarok ~]# yum install gcc make mysql mysql-devel mysql-server pcre-devel gizlib-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.unifiedlayer.com
* extras: mirrors.unifiedlayer.com
* updates: repos.lax.quadranet.com
base | 1.1 kB 00:00
extras | 2.1 kB 00:00
updates | 1.9 kB 00:00
Setting up Install Process
Package gcc-4.1.2-55.el5.i386 already installed and latest version
Package 1:make-3.81-3.el5.i386 already installed and latest version
Package mysql-5.0.95-5.el5_9.i386 already installed and latest version
Package mysql-devel-5.0.95-5.el5_9.i386 already installed and latest version
Package mysql-server-5.0.95-5.el5_9.i386 already installed and latest version
Package pcre-devel-6.6-9.el5.i386 already installed and latest version
No package git available.
Package zlib-devel-1.2.3-7.el5.i386 already installed and latest version
Nothing to do
Repository of official sprites and textures
in Projects
Posted
is this compatible in any 2015+++ clients?
i mean it is possible that a player wont get any errors(iusing a 2014 below clients) if i include all the textures or sprite here to my server?