Jump to content

Skorm

Forum Moderator
  • Posts

    1282
  • Joined

  • Last visited

  • Days Won

    41

Everything posted by Skorm

  1. Thank you @Tokei just got out of the shower and hadn't realized my mistake.
  2. There are many ways to do something like this here's one. - script Event_Spawn -1,{ // The NPC. OnEvent: // The event label. atcommand "@doom"; // The atcommand. sleep 1000 * 60 * 60 * 6; // The timer. OnInit: // The start of the server. setarray .@maps$, "prontera", "geffen", "izlude"; // An array of maps. .@map$ = .@maps$[rand(getarraysize(.@maps$))]; // Shuffle maps. (Thanks Tokei) monster .@maps$,0,0,"--ja--",1115,1,"Event_Spawn::OnEvent"; // The monster. } // The curly.
  3. Damn you beat me to it... Fantastic song though.
  4. Comment out the old Eddge spawn in npc/pre-re/mobs/fields/payon.txt Like: //pay_fild11,0,0,0,0 boss_monster Eddga 1115,1,7200000,600000,1 And add this npc. - script Eddga_Spawn_PVP -1,{ OnOffPVP: removemapflag "pay_fild11",mf_pvp; sleep rand(600000,7200000); OnInit: setmapflag "pay_fild11",mf_pvp; monster "pay_fild11",0,0,"Eddga",1115,1,"Eddga_Spawn_PVP::OnOffPVP"; }
  5. Go into your database and find out what type weapons are. Replace 5 with your weapon type. My weapons are type 5 so it's 5 for me... [ Edit: The example here actually makes +11 refine give +9 ticket but it's different in the script above. ] I was actually unaware of that and updated the previous script. I hope you can understand how it works so you can modify it further if need be. That was intentional.
  6. Already completely aware of this. The chance of the script failing is extremely small so I thought whatever.
  7. That are a bunch of ways to do this but here's one. prontera,190,181,5 script Online Guild 45,2,2,{ end; OnTouch: .pre_cnt = 0; .party = getcharid(1); if( !.party ) end; getpartymember .party; .party_cnt = $@partymembercount; addrid( 4, 0, 190-2, 181+2, 190+2, 181-2 ); if( .party == getcharid(1) ) { .pre_cnt++; if( .pre_cnt == .party_cnt ) warpparty "geffen",192,178,.party; } end; }
  8. It is but it's a little weird because to my knowledge items in Ragnarok don't have unique ids that are easily accessed through scripts. So for example if you have two items that are exactly the same and one is equipped and the other isn't the script may delete the equipped one and not the one in your inventory. In any case here is version two. It's been slightly tested just let me know if you have any problems. //Skorm 12-10-2016 v2.1 //Uses items from the inventory/equip instead of just equip. prontera,184,177,5 script Ticket Trader 851,{ mes "[^FF0000Ticket Trader^000000]"; mes "I trade weapons and armours with specific refines for ^0000FFRefine Tickets^000000."; next; mes "[^FF0000Ticket Trader^000000]"; mes "Which equipment would you like me to convert into a ^0000FFRefine Ticket^000000?"; getinventorylist; .@inv_len = @inventorylist_count; copyarray .@inv_list_id[0], @inventorylist_id[0], .@inv_len; copyarray .@inv_list_amt[0], @inventorylist_amount[0], .@inv_len; copyarray .@inv_list_equ[0], @inventorylist_equip[0], .@inv_len; copyarray .@inv_list_ref[0], @inventorylist_refine[0], .@inv_len; copyarray .@inv_list_atr[0], @inventorylist_attribute[0], .@inv_len; copyarray .@inv_list_cd1[0], @inventorylist_card1[0], .@inv_len; copyarray .@inv_list_cd2[0], @inventorylist_card2[0], .@inv_len; copyarray .@inv_list_cd3[0], @inventorylist_card3[0], .@inv_len; copyarray .@inv_list_cd4[0], @inventorylist_card4[0], .@inv_len; for( .@a = 0; .@a < .@inv_len; .@a++ ) { if( .@inv_list_id[.@a] && compare(.allow_list$,","+.@inv_list_id[.@a]+",") ) set .@menu$, .@menu$+"^0000FF"+getitemname(.@inv_list_id[.@a])+(.@inv_list_ref[.@a]?" +"+.@inv_list_ref[.@a]:"")+"^000000:"; else { set .@menu$, .@menu$+":"; .@len++; } } next; if( countstr(.@menu$, ":") >= getstrlen(.@menu$) ) { mes "[^FF0000Ticket Trader^000000]"; mes "It doesn't look like anything you have equipped can be converted sorry."; close; } select(.@menu$); set .@eq_loc, @menu-1; set .@eq_itm, .@inv_list_id[.@eq_loc]; set .@eg_rfn, .@inv_list_ref[.@eq_loc]; if( .@eq_itm < 0 ) { mes "[^FF0000Ticket Trader^000000]"; mes "Hmm, I don't think you have anything equipped there."; close; } .@ticket = getiteminfo(.@eq_itm,2) == 5 ? .weap_t_list[.@eg_rfn] : .armo_t_list[.@eg_rfn]; if( .@eg_rfn < .uprange || .@eg_rfn > .uprange[1] ) { mes "[^FF0000Ticket Trader^000000]"; mes "Sorry but I only convert items refined between +"+.uprange+" and +"+.uprange[1]+"."; close; } else if( !.@ticket ) { mes "[^FF0000Ticket Trader^000000]"; mes "I don't seem to have a ticket for +"+.@eg_rfn+" refine."; close; } mes "[^FF0000Ticket Trader^000000]"; mes "^800000"+getitemname(.@eq_itm)+" will be changed into ^0000FF"+getitemname(.@ticket)+"^000000."; mes "Are you sure?"; next; if( select("No:Yes") == 1 ) { mes "[^FF0000Ticket Trader^000000]"; mes "Oh!- Well that was a close one then."; close; } delitem2 .@eq_itm, .@inv_list_amt[.@eq_loc], 1, .@eg_rfn, .@inv_list_atr[.@eq_loc], .@inv_list_cd1[.@eq_loc], .@inv_list_cd2[.@eq_loc], .@inv_list_cd3[.@eq_loc], .@inv_list_cd4[.@eq_loc]; getitem(.@ticket,1); mes "[^FF0000Ticket Trader^000000]"; mes "Have a nice day!"; close; OnInit: setarray .uprange, 7, 12; setarray .armo_t_list[.uprange],6235,6234,6233,6232, 0,6239; setarray .weap_t_list[.uprange],6231,6230,6229,6228, 0,6238; .allow_list$ = ",1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,2302,2304,2306,2308,2310,2311,2313,2315,2317,2318,2319,"; } http://upaste.me/dce036854abee169c
  9. Ok so they only need to re-log that would make sense. I feel like I've tested these things before but I just keep forgetting.
  10. Kinda but it's dodgy because the SQL server has to be updated and I think it would require a server restart. I do believe there is a mod that allows mail to be sent from script floating around somewhere not sure if it works for the current revision of rAthena though.
  11. You're missing a curly at the end? - script kjbfksjhfkd -1,{ OnPCKillEvent: if (killerrid != getcharid(3)) if (( agitcheck() || agitcheck2() ) && compare(strcharinfo(3),"g_cas")) getitem 512,3; end; }
  12. Emistry I'm marking your post as best answer. If this guy needs something more specific then he should elaborate. Edit: I see he liked your post anyways so perhaps he missed the best answer button.
  13. This has nothing to do with Euphy's script and has more to do with the monster database. Find the Emperium in the monster database I think it's 1288 changing the mode from 352 to 353 should make it walk around. You can see a full explanation of all the monster modes in server/doc/mob_db_mode_list.txt. I'm moving this to DB support.
  14. Cool idea... Untested but it should work. Let me know if you have any problems. http://upaste.me/391d36830c5d5ecf5
  15. Looks absolutely fantastic, great job!
  16. Alright... @storage -> *Withdraws a yggdrasil leaf.* I'm going to resurrect this topic, because I like sounds. What's everyone listening to I'd like very much to know. https://soundcloud.com/mikazukibigwave/cloudy-days
  17. Perhaps importing some heads too because it just looks off with the old RO heads... I've animated heads before in RO and it's a crazy amount of work so props if you actually do it.
×
×
  • Create New...