Jump to content


Forum Moderator
  • Content Count

  • Avg. Content Per Day

  • Joined

  • Last visited

  • Days Won


Skorm last won the day on June 13

Skorm had the most liked content!

Community Reputation

346 Excellent

About Skorm

  • Rank
    Arc Angeling
  • Birthday 06/01/1991

Profile Information

  • Gender
  • Location
    Ɵ Chosen Hopeless Nothing
  • Server
  • Github: Skormie
  • Discord: Skorm#0649

Contact Methods

Recent Profile Visitors

11,428 profile views
  1. You could make it a bonus that just runs out after an amount of time and resets when they relog. https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L6026
  2. Maybe something like this. prontera,157,176,5 script guide 650,1,1,{ end; OnTouch: [email protected] = atoi(strnpcinfo(2)); if([email protected]+1 == getarraysize(.npc_pos_x)) { dispbottom "End"; } else { switch([email protected]) { case 0: npctalk "Hello I'm the first NPC!"; break; case 1: npctalk "Hello I'm the second NPC!"; break; default: npctalk "Hello I'm NPC #"[email protected]+"."; break; } unitwalk getcharid(3),.npc_pos_x[[email protected]+1],.npc_pos_y[[email protected]+1]; } end; OnInit: getmapxy([email protected]$,[email protected],[email protected],BL_NPC,strnpcinfo(0)); [email protected] = atoi(strnpcinfo(2)); .npc_pos_x[[email protected]] = [email protected]; .npc_pos_y[[email protected]] = [email protected]; } prontera,157,170,6 duplicate(guide) guide#1 650,1,1 prontera,157,162,6 duplicate(guide) guide#2 650,1,1 prontera,157,153,6 duplicate(guide) guide#3 650,1,1 prontera,152,150,6 duplicate(guide) guide#4 650,1,1
  3. Skorm

    Get total exp

    - script EXP_THING -1,{ OnPCLoginEvent: @base_exp = BaseExp; end; OnPCLogoutEvent: [email protected]_exp = BaseExp - @base_exp; } Maybe not completely reliable but I can't think of any other way todo it without individually tracking everything killed or a source mod.
  4. Skorm


    For an MMO RO's PvP system is amazing. Also I think there is something to be said about the responsiveness and perspective RO provides. You've got what feels like almost frame perfect control of your character on a good server.
  5. Skorm

    Guild Package.

    I cannot be bothered to test this but I'm pretty sure... At line 983 would do the trick. if(sd != NULL && sd->status.guild_id == guild_id) { // do stuff that needs the guild_id first, BEFORE we wipe it npc_event_doall_id("OnLeaveGuild", account_id); if (sd->state.storage_flag == 2) //Close the guild storage. storage_guild_storageclose(sd); guild_send_dot_remove(sd); channel_pcquit(sd,3); //leave guild and ally chan sd->status.guild_id = 0; sd->guild = NULL; sd->guild_emblem_id = 0; if (g->instance_id) { struct map_data *mapdata = map_getmapdata(sd->bl.m); if (mapdata->instance_id) { // User was on the instance map if (mapdata->save.map) pc_setpos(sd, mapdata->save.map, mapdata->save.x, mapdata->save.y, CLR_TELEPORT); else pc_setpos(sd, sd->status.save_point.map, sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT); } } clif_name_area(&sd->bl); //Update display name [Skotlex] status_change_end(&sd->bl,SC_LEADERSHIP,INVALID_TIMER); status_change_end(&sd->bl,SC_GLORYWOUNDS,INVALID_TIMER); status_change_end(&sd->bl,SC_SOULCOLD,INVALID_TIMER); status_change_end(&sd->bl,SC_HAWKEYES,INVALID_TIMER); status_change_end(&sd->bl,SC_EMERGENCY_MOVE,INVALID_TIMER); //@TODO: Send emblem update to self and people around } else { npc_event_doall_id("OnKickGuild"); } If they are not online when being kicked it would trigger OnKickGuild without an RID attached. Edit: Also moved topic to source requests since it's becoming a source thing.
  6. - script Sample -1,{ OnPointGet: #CASHPOINTS++; end; OnPCLoginEvent: addtimer 60000,"Sample::OnPointGet"; }
  7. Skorm

    PVP Party Warp

    Ahh yeah I see what they meant by that now sorry about that. I blame crappy documentation.
  8. Skorm

    PVP Party Warp

    Ahh yeah I forgot that [email protected]_id was no longer being set. Anyways the way you have it now will not work right since warpparty is within the for loop. In my example it is outside the for loop and will only get run once as it should. Also I've modified my original post with the corrected script segment.
  9. Ahh yeah would be interesting if someone could dig up the files for it. Would work well if the 3d bones client mod.
  10. Skorm

    PVP Party Warp

    setarray [email protected]_maps$, "prontera", "izlude", "geffen", "morroc"; if(getpartyleader(getcharid(1),2) == getcharid(0)) { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) if ( isloggedin( [email protected][[email protected]], [email protected][[email protected]] ) ) if(inarray([email protected]_maps$, strcharinfo(3,[email protected][[email protected]])) > -1) warp "pvp_y_1-2",0,0,[email protected][[email protected]]; warpparty "Leader",0,0,getcharid(1),"pvp_y_1-2",1,1; }
  11. Really questions like this should be asked on their own so it's easier for other users to find and search them... But as far as I know there is not. To add one that has an rid for an online character and would only run in that case you would add it in this statement. https://github.com/rathena/rathena/blob/master/src/map/guild.cpp#L983 npc_event_doall_id("OnLeaveGuild", account_id);
  12. Sorry about that yeah you're right they were doing the same thing here is an updated version. - script warp_block -1,{ OnInit: bindatcmd "warp",strnpcinfo(3)+"::OnAtcommand",20,99; setarray .maps_from$[0], "guild_01", "guild_02"; // Maps they cannot warp from. setarray .maps_to$[0], "guild_01", "guild_02"; // Maps they cannot warp to. end; OnAtcommand: if(inarray(.maps_from$[0], strcharinfo(3))>-1) { message strcharinfo(0), "You can't open use warp here!"; end; } if([email protected]_numparameters) { if (inarray(.maps_to$[0], strtolower([email protected]_parameters$[0]))>-1) { message strcharinfo(0), "You can't warp to that map!"; end; } atcommand "@warp "+ implode([email protected]_parameters$, " "); } else atcommand "@warp"; end; }
  13. @Origami - script warp_block -1,{ OnInit: bindatcmd "warp",strnpcinfo(3)+"::OnAtcommand",20,99; setarray .maps_from$[0], "guild_01", "guild_02"; // Maps they cannot warp from. setarray .maps_to$[0], "guild_01", "guild_02"; // Maps they cannot warp to. end; OnAtcommand: if(inarray(.maps_from$[0], strcharinfo(3))>-1) { message strcharinfo(0), "You can't open use warp here!"; end; } else if (inarray(.maps_to$[0], strcharinfo(3))>-1) { message strcharinfo(0), "You can't warp to that map!"; end; } if([email protected]_numparameters) atcommand "@warp "+ implode([email protected]_parameters$, " "); else atcommand "@warp"; end; } I'm just assuming your gms are group level 20 or above. Script is untested.
  14. @Emistry Pretty sure you could just the the commands for it... It's like @size 1-3 or something.
  15. @Get Backers Seems like you've got the right idea... It's strnpcinfo(0) not NPC_NAME though. - script LoginRewards#1 -1,{ OnPCLoginEvent: addtimer 3600000, strnpcinfo(0)+"::OnClaimReward"; end; OnClaimReward: dispbottom "You have been online 1 hour. Talk to Hourly Reward NPC to get your rewards!"; }
  • Create New...

Important Information

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