-
Posts
1282 -
Joined
-
Last visited
-
Days Won
41
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Skorm
-
Oh dang yeah I'll look into it when I get home.
-
I'm not sure what you've added. Xd
-
Yeah, sorry about that. Some requests just really catch my attention. I felt like a standalone woe countdown timer has been missing for awhile or if it's here I haven't seen it. Anyways thanks for helping and keep scripting/sharing!
-
Sure thing. //Skormie's WOE Waitingroom Timer v1.02.1 //Should natively work with Euphy's WOE Controller. prontera,150,150,5 script Woe Time 100,{ end; OnInit: function add_zero; function woe_update; .@Euphy_Len = getarraysize( $WOE_CONTROL ); if( .@Euphy_Len ) { for( .@i = 0; .@i < .@Euphy_Len; .@i += 4 ) { .woe_day[ getarraysize( .woe_day ) ] = $WOE_CONTROL[.@i]; .woe_hour[ getarraysize( .woe_hour ) ] = $WOE_CONTROL[.@i+1]; } } else { setarray .woe_day, 5, 4; //Day of the week WOE Starts on. (0 for Sunday, 6 is Saturday) setarray .woe_hour, 16, 20; //rAthena works on a 24 hour clock. } woe_update(); while ( 1 ) { .@woe_tick = .woe_time[.current] - gettimetick(2); .@day = .@woe_tick / 86400; .@hour = .@woe_tick % 86400 / 3600; .@min = .@woe_tick % 3600 / 60; .@sec = .@woe_tick % 60; .@mes$ = add_zero( .@day ) + add_zero( .@hour ) + add_zero( .@min ) + add_zero( .@sec, 1 ); delwaitingroom strnpcinfo(0); waitingroom agitcheck() ? "WOE is Active!" : .@mes$, 0; sleep 1000; } end; OnAgitEnd: woe_update(); end; function add_zero { return ( ( getarg(0) < 10 ) ? "0" : "" )+ getarg(0) +( getarg(1,0) ? "" : ":" ); } function woe_update { .@woe_len = getarraysize( .woe_day ); for( .@a = 0; .@a < .@woe_len; .@a++ ) { .@woe_day[.@a] = ( .woe_day[.@a] - gettime(4) + 7 ) % 7 * 86400; .@woe_hour[.@a] = ( .woe_hour[.@a] * 3600 ) - gettimetick(1); .woe_time[.@a] = gettimetick(2) + .@woe_day[.@a] + .@woe_hour[.@a]; if(gettimetick(2) > .woe_time[.@a]) .woe_time[.@a] = .woe_time[.@a] + 7 * 86400; if( .woe_time[.@a] <= .woe_time[.current] ) .current = .@a; } } }
-
Something I botched together pretty quick it should natively work with Euphy's WOE Controller. (lightly tested) Let me know if you have any problems. //Skormie's WOE Waitingroom Timer v1.02 //Should natively work with Euphy's WOE Controller. prontera,150,150,5 script Woe Time 100,{ end; OnInit: function s; function woe_update; .@Euphy_Len = getarraysize( $WOE_CONTROL ); if( .@Euphy_Len ) { for( .@i = 0; .@i < .@Euphy_Len; .@i += 4 ) { .woe_day[ getarraysize( .woe_day ) ] = $WOE_CONTROL[.@i]; .woe_hour[ getarraysize( .woe_hour ) ] = $WOE_CONTROL[.@i+1]; } } else { setarray .woe_day, 5, 4; //Day of the week WOE Starts on. (0 for Sunday, 6 is Saturday) setarray .woe_hour, 16, 20; //rAthena works on a 24 hour clock. } woe_update(); while ( 1 ) { .@woe_tick = .woe_time[.current] - gettimetick(2); .@day = .@woe_tick / 86400; .@hour = .@woe_tick % 86400 / 3600; .@min = .@woe_tick % 3600 / 60; .@sec = .@woe_tick % 60; .@mes$ = ( .@day ? .@day +" day"+ s( .@day ) : "" ) + ( .@hour ? .@hour +" hour"+ s( .@hour ) : "" ) + ( .@min ? .@min +" minute"+ s( .@min ) : "" ) + ( .@sec ? .@sec +" second"+ s( .@sec, 1 ) : "" ); delwaitingroom strnpcinfo(0); waitingroom agitcheck() ? "WOE is Active!" : .@mes$, 0; sleep 1000; } end; OnAgitEnd: woe_update(); end; function s { return ( getarg(0) > 1 ? "s" : "" ) + ( getarg(1,0) ? "" : " " ); } function woe_update { .@woe_len = getarraysize( .woe_day ); for( .@a = 0; .@a < .@woe_len; .@a++ ) { .@woe_day[.@a] = ( .woe_day[.@a] - gettime(4) + 7 ) % 7 * 86400; .@woe_hour[.@a] = ( .woe_hour[.@a] * 3600 ) - gettimetick(1); .woe_time[.@a] = gettimetick(2) + .@woe_day[.@a] + .@woe_hour[.@a]; if(gettimetick(2) > .woe_time[.@a]) .woe_time[.@a] = .woe_time[.@a] + 7 * 86400; if( .woe_time[.@a] <= .woe_time[.current] ) .current = .@a; } } } (External Link)
-
Honestly in this situation just save yourself the trouble and use Addrid. - script kdsfksdjhfksdj -1,{ OnInit: bindatcmd "buffall", strnpcinfo(0) +"::Onbuff",99,99; end; Onbuff: addrid 0,0; // ripped almost entirely from Annieruru's script which ripped a little bit from Winz script if ( !checkvending( strcharinfo(0) ) ) { skilleffect 34,0; sc_start SC_BLESSING,600000,10; skilleffect 29,0; sc_start SC_INCREASEAGI,600000,10; } end; }
-
... - script hourly_point_main -1,{ OnInit: .max_hour = 5; .duration = 3600; .npc_name$ = strnpcinfo(3); .vip_multi = 2; 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 * ( vip_status(1) ? .vip_multi : 1 ); 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; }
-
https://github.com/rathena/rathena/wiki/Adding-a-Script
-
There are other hourly points scripts that prevent that. Like this one that I modified awhile ago. http://upaste.me/66e5267563e64fefe
-
change callfunc("F_RandMes", 7, 969, 1002, 757, 756); to callfunc("F_RandMes", 4, 969, 1002, 757, 756); For other people reading this post F_RandMes was changed to F_Rand sometime in 2014 the new format is like... callfunc("F_Rand",1129,1222,1163,1357,1360,1522,1811,1410);
-
Great work if only this was a release. I like the demon guy with the orb, did you make that?
-
This is already a thing. In conf/log_athena.conf enable // Log AtCommands & Charcommands (Note 1) // Only commands issued by player groups ('conf/groups.conf') with // 'log_commands' setting set to 'true' will be logged. log_commands: yes Then in conf/groups.conf add log_commands: true For all the groups you want to log. Logs will then be sent to your log sql database.
-
Here is a "working version" there are still some bugs that I'm aware of but I really don't feel like spending anymore time on this script. If I was to make an instance house system I would start from the ground up. http://upaste.me/71e44369959bcfea1
-
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.
-
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.
-
Pretty cool results. : )
-
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.
-
Ghost's Scripts [Latest: Ghost's PvP System v1.3]
Skorm replied to Ghost's topic in Script Collections
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 -
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.
-
Another awesome contribution thank you very much @Tokei I'll be using this one soon.
-
Really good
-
Script to check items and auto kick if item not present
Skorm replied to firefox26's question in Script Requests
Yes -
I would agree although it is completely avoidable.
-
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.
-
I think some of the MVP ladder scripts out there do?