Jump to content

raksone

Members
  • Content Count

    8
  • Joined

  • Last visited

About raksone

  • Rank
    Newbie

Recent Profile Visitors

1695 profile views
  1. Hello guys! I've been trying to get the topic's title result but I have failed in all my attempts. I want the skill to reduce the caster's HP to half upon activation, and then I will continue adding new skill effects, but I can't get to the first result. This is how I go so far: case AC_SACRIFICEPOWER: { int hp = sstatus->max_hp; hp = hp*50/100; status_zap(src, hp, 0); } break; But, it is not working as intended. Is not halving my HP at all... Just reducing it for x rate... or even killing my character when full HP. Any ideas?
  2. Hello guys! If I want the damage taken to be based on the DEF of Crusader, not the person who gets hit. (Crusader - Devotion skill) Where and what should I look for?
  3. Hello community! I have a question, since I just spent a couple of hours solving it but no success. Based on this skill src, where or how do I insert this code to ONLY the caster receive the movement speed bonus instead of the whole party? BONUS: sc_start(src,bl,SC_SPEEDUP1,100,30,3000); case PR_MAGNIFICAT: if( sd == NULL || sd->status.party_id == 0 || (flag & 1) ) clif_skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv))); else if( sd ) party_foreachsamemap(skill_area_sub, sd, skill_get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill_castend_nodamage_id); break; Thanks!
  4. Hello guys, I'm trying to build a PvP Ranking script that allows you to get kill points in Party mode and that all members get the corresponding points. I am also trying to make an exception where the Killer and Party Members can not get points from the opponent if he has already been killed once in the same round. Apparently I could achieve it, however, only applies to the person who kills the opponent. The members of the Party do not even receive points for the kill. It seems that the "last_kill" rule only applies to the Killer, not to the Party Members involved in the killing. Do you have any idea how to configure it to apply to all Party members? OnPCKillEvent: set .@killedvar,getvar(PvPAllowed,getcharid(0,rid2name(killedrid))); if(.@killedvar == 1 && PvPAllowed == 1){ set .@party_id,getcharid(1); if( !.@party_id ){ if ( getcharip(killedrid) == getcharip(getcharid(3)) ) { end; } // Can't obtain points if player has same IP if ( killedrid == last_kill ) { end; } // Can't get points if kill opponent twice in a row. set last_kill, killedrid; set PvPKills, PvPKills + 25; dispbottom "[ "+PvPKills+" ] PvPKills.", 0xF1948A; end; } }else{ getpartymember .@party_id,1; getpartymember .@party_id,2; set .@acc_id, getcharid(3); set .@map$,strcharinfo(3); for( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ) if( isloggedin( $@partymemberaid[.@i],$@partymembercid[.@i] ) ) if( attachrid( $@partymemberaid[.@i] ) ) if( HP && strcharinfo(3) == .@map$ ) set .@online_count,.@online_count + 1; for( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ) if( isloggedin( $@partymemberaid[.@i],$@partymembercid[.@i] ) ) if( attachrid( $@partymemberaid[.@i] ) ) if( HP && strcharinfo(3) == .@map$ ){ if ( getcharip(killedrid) == getcharip(getcharid(3)) ) { end; } // Can't obtain points if player has same IP if ( killedrid == last_kill ) { end; } // Can't get points if kill opponent twice in a row. set last_kill, killedrid; set PvPKills, PvPKills + 25; dispbottom "[ "+PvPKills+" ] PvPKills.", 0xF1948A; end; } attachrid( .@acc_id ); dispbottom "All your members have won PvP Kill Points."; }
  5. Hello guys, I could not figure out how to do it. Anyone does know how to? Thanks...
  6. Hello community, I've been trying to create or research a sql query to return a Player's Top Position Number through a command @LRank. I could have them listed by positions but I really do not know how to return the exact TOP # for the player when using the command even if he is not within the Top 10 Ranking. I was wondering if you could assist me by finding out the correct script to do it. Below is my script so far which is properly working at the moment: OnRank: dispbottom " "; dispbottom "=============== Ranking ===============", 0xffe066; soundeffect "hp.wav", 0; // this will play the soundeffect dispbottom " ", 0xFA4040; dispbottom " Top 10 List", 0xFA4040; dispbottom " ", 0xFA4040; set .@size, query_sql( "select name, points from mvp_ranking where points > 0 order by points desc limit "+ .top, .@name$, .@points ); for (set .@c, 0; .@c < .@size; set .@c, .@c + 1) dispbottom "[ " +(.@c + 1) +" ] : " + .@name$[.@c] +" : [ " + .@points[.@c] +" ] Pts", 0xffffff; dispbottom " ", 0xFA4040; *********** THIS IS THE PART THAT I'M STRUGGLING WITH *********** dispbottom "============== My Rank ==============", 0xffe066; query_sql "SELECT `char_id` , `points` FROM `mvp_ranking` ORDER BY `points` DESC",.@char_id,.@rank; dispbottom "My Top is: " + .@rank+ ".", 0x6666ff; dispbottom "==========================================", 0xffe066; end; I hope you can give me a hand on this. Thank you.
  7. Oh my god, you are a genious! Thank you very much, it works pretty well. I'm really grateful. Greetings!
  8. Hello community. Well, i have enabled the PK Mode on my server but i've been trying to exclude the First and Second Classes from this mode, so only the Rebirth Classes (Lord Knight, Champion, etc...) can fight on the maps which this is enabled. I've found that this can be edited in src/battle.c exactly in these lines: if( state&BCT_ENEMY && battle_config.pk_mode && map[m].flag.fvf && !map_flag_gvg(m) && s_bl->type == BL_PC && t_bl->type == BL_PC ) { // Prevent novice engagement on pk_mode (feature by Valaris) TBL_PC *sd = (TBL_PC*)s_bl, *sd2 = (TBL_PC*)t_bl; if ( (sd->class_&MAPID_UPPERMASK) == MAPID_NOVICE || (sd2->class_&MAPID_UPPERMASK) == MAPID_NOVICE || (int)sd->status.base_level < battle_config.pk_min_level || (int)sd2->status.base_level < battle_config.pk_min_level || (battle_config.pk_level_range && abs((int)sd->status.base_level - (int)sd2->status.base_level) > battle_config.pk_level_range) ) state &= ~BCT_ENEMY; } Where by default the Novice Class fights is disabled on PK Maps. I tried to add the Mage Class exception by adding this and IT DOES WORK. But when i try to add the Wizard Class exception with the same condition it won't work: I don't why it doesnt work. I imagine that i have to use another condition but i have no clue about which one could be. I was wondering if some of you could help me out with this. Thank you in advance for your attention and possible help.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.