Jump to content

Skorm

Forum Moderator
  • Posts

    1268
  • Joined

  • Last visited

  • Days Won

    33

Everything posted by Skorm

  1. Oh yeah I was trying to do some cheeky stuff to save the houses information and all that junk. It's buggy but I'll probably see if I can't fix it up tomorrow. I don't know about the instance bit. Sure it wouldn't be very hard but I don't really see the point.
  2. You don't you either use variables or an sql table with all the players specifics like, locations, house, and all that other junk. Then use that information to dynamically build the house when the instance is created.
  3. It's great to see devs posting their intended additions. I actually made an RWC Battleground system that did this with scripts although I'm sure a source version would be much faster and more reliable. I only ask if you can make it usable outside of battleground for like events and instances too! That would be fantastic, thanks.
  4. Because Sanasol thought this script was good enough to base his PVP Ladder off of. I decided to update it and fix a few bugs. There's still much more to be done but at the moment it's good enough for what I'm using it for. This script is something of a legend in my opinion and I'm sure Ghost worked very hard on it. So at its core everything is basically the same, and I decided to keep things compatible with eAthena as well. If you run into any problems or have any features you want added let me know. Here's a link to the script: http://upaste.me/3f6a4327724c1149e
  5. Cool stuff. Use unittalk with getnpcid. https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L7302-L7306 https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L2397-L2407 Keep it up.
  6. Another awesome contribution thank you very much @Tokei I'll be using this one soon.
  7. I would agree although it is completely avoidable.
  8. I was able to reproduce this... Although I'm not sure if I'd call it a bug. It's got something to do with the way npcs are loaded. If you're within the range of the npc ~21 squares or something like that it will act fine. A few other side notes: while(1){ input .@TdayofWeek; //Script stops working right here. Input doesn't show up. if ((.@TdayofWeek >= 0) && (.@TdayofWeek <= 6)) break; } Can be replaced with... while( input( .@TdayofWeek, 0, 6 ) ){} Also I don't recommend using -1 as the sprite on an npc that is approachable by players. It's caused problems for me in the past with specific clients. I instead recommend using 104. Sprite 104 = Invisible, Unclickable. Sprite 111 = Invisible, Clickable. Sprite 844 = Shadow, Clickable.
  9. I think some of the MVP ladder scripts out there do?
  10. This is something I though about doing a long time ago but I wanted to add much more to it. In any case this is a request that I won't be undertaking.
  11. In the unequip_script of your rental item add. if( strcharinfo(3) == "geffen" && !( countitem(501) -1 ) ) warp "prontera",156,191; And of course replace geffen with your map and 501 with your rental itemid.
  12. bonus bCritical,5; bonus2 bSkillAtk,62,25; if( eaclass() & EAJ_SWORDMAN ) { bonus bMaxHP,500; bonus bDef,2; bonus bHit,5; bonus bCritical,5; bonus2 bSkillAtk,62,45; }
  13. Well it was but then I looked at it again and you were missing the curlys ( { } ) around your if statement. You need those even in an item script. I'd also like to point out that there is a limit of 10 skill buffs per character or at least that's what my console is telling me. So I removed the last few. Here is the modified version that seems to be working. bonus bAllStats,20; if( pow( 2, roclass( ( eaclass() & EAJ_UPPERMASK ) ) ) & 0x1F9788 ) { bonus2 bSkillAtk,62,30; bonus2 bSkillAtk,253,30; bonus2 bSkillAtk,254,30; bonus2 bSkillAtk,136,30; bonus2 bSkillAtk,379,30; bonus2 bSkillAtk,46,45; bonus2 bSkillAtk,46,40; bonus2 bSkillAtk,382,40; bonus2 bSkillAtk,128,45; bonus2 bSkillAtk,394,50; bonus5 bAutoSpellWhenHit,"MG_SAFETYWALL",4,20,BF_WEAPON|BF_MAGIC,0; bonus bMatkRate,50; } About the autobonus thing... In your script you have. bAutoSpellWhenHit,"MG_SAFETYWALL",4,20,BF_WEAPON|BF_MAGIC,0; It should be... bonus5 bAutoSpellWhenHit,"MG_SAFETYWALL",4,20,BF_WEAPON|BF_MAGIC,0;
  14. You didn't have bonus5 on your bautobonus command. 2751,Academy_Badge,Academy Of Badge,5,0,,100,,0,,4,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bAllStats,20; if(Class==Job_Knight||BaseJob==Job_Bard||BaseJob==Job_Dancer||BaseJob==Job_Assassin||BaseJob==Job_Rouge||BaseJob==Job_Priest||BaseJob==Job_Monk||BaseJob==Job_Crusader||BaseJob==Job_Wizard||BaseJob==Job_Blacksmith||BaseJob==Job_Alchemist||BaseJob==Job_TaekwonSage) bonus2 bSkillAtk,62,30; bonus2 bSkillAtk,253,30; bonus2 bSkillAtk,254,30; bonus2 bSkillAtk,136,30; bonus2 bSkillAtk,379,30; bonus2 bSkillAtk,46,45; bonus2 bSkillAtk,46,40; bonus2 bSkillAtk,382,40; bonus2 bSkillAtk,128,45; bonus2 bSkillAtk,394,50; bonus2 bSkillAtk,485,50; bonus2 bSkillAtk,42,40; bonus2 bSkillAtk,230,45; bonus2 bSkillAtk,490,50; bonus2 bSkillAtk,156,300; bonus5 bAutoSpellWhenHit,"MG_SAFETYWALL",4,20,BF_WEAPON|BF_MAGIC,0; bonus2 bSkillAtk,267,40; bonus2 bSkillAtk,271,15; bonus bMatkRate,50; },{ changebase roclass(eaclass()|EAJL_THIRD); },{ changebase Class; } This part here will only work for transcendent Jobs like Assassin Cross. changebase roclass(eaclass()|EAJL_THIRD); For lower jobs you need to add an addition step. roclass(eaclass()|EAJL_2_1|EAJL_THIRD);
  15. https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L4972-L4977 In the script section of valk armor in your item database add this. if( getrefine() > 8 ) downrefitem EQI_ARMOR, (getrefine() - 8);
  16. sc_start4 SC_ARMOR_ELEMENT,3600000,10,10,10,10; https://github.com/rathena/rathena/blob/master/doc/status_change.txt#L425-L430
  17. Yeah that's actually a good point; I've successfully done it before, but I can see where you're coming from.
  18. ... - script hourly_point_main -1,{ OnInit: .max_hour = 5; .duration = 3600; .npc_name$ = strnpcinfo(3); bindatcmd "hourly", .npc_name$ + "::OnCheck"; end; OnClock0000: deletearray $@hourly_tick; OnUpdate: .@aid = getcharid(3) & 0xFFFF; deltimer .npc_name$+"::OnUpdate"; $@hourly_ticks[.@aid]++; #reward += $@hourly_ticks[.@aid] * 10; OnPCLoginEvent: .@aid = getcharid(3) & 0xFFFF; if ( $@hourly_ticks[.@aid] < .max_hour ) { @timer = gettimetick(2) + .duration; addtimer ( .duration * 1000 ), .npc_name$+"::OnUpdate"; } else { dispbottom "[ Hourly Rewards ] You've reached the daily maximum of "+.max_hour+" hours played, well done!",0x9ae2d7; end; } if ( #reward && $@hourly_ticks[.@aid] ) dispbottom "[ Hourly Rewards ] " + $@hourly_ticks[.@aid] + "/" + .max_hour + " hours played, "+#reward+" point(s)!",0x9ae2d7; end; OnCheck: .@min = (@timer - gettimetick(2))/60; .@sec = (@timer - gettimetick(2))%60; dispbottom "[ Hourly Rewards ] Your next reward will be achieved in " + ((.@min)? "[ " + .@min + " ] minute" + ((.@min > 1)?"s":""):"") + ((.@min && .@sec)? " and ":"") + ((.@sec)? "[ " + .@sec + " ] second" + ((.@sec > 1)?"s":""):"") + "!",0x9ae2d7; end; }
  19. A map is either pvp or not... You can set a map to enable pvp by applying a mapflag. https://github.com/rathena/rathena/blob/master/doc/mapflags.txt#L240-L250 <map name>%TAB%mapflag%TAB%<flag>
×
×
  • Create New...