Jump to content

crazyarashi

Developer
  • Posts

    763
  • Joined

  • Last visited

  • Days Won

    20

Everything posted by crazyarashi

  1. prontera,172,182,5 script Suit Changer 123,{ @eac = eaclass(); mes .npc$; mes "Hello "+strcharinfo(0)+". mes "I am the Suit Changer"; next; if(countitem(.item[0]) < .amount[0]){ mes .npc$; mes "You need ^00FF005"+ getitemname(.item[0]) +" "+.amount[0]+"^000000 "; mes "To use my service"; next; mes .npc$; mes "Come back if you have ^00FF005"+ getitemname(.item[0]) +" "+.amount[0]+"^000000"; close; } else { mes "How can I help you today?"; next; switch(select("Change to 3rd Class Suit:Reset Appearance:Special Suits:Nothing")) { case 1: changebase(roclass(@eac|EAJL_THIRD)); goto Payment; end; case 2: changebase Class; goto Payment; end; case 3: switch(select("Xmas Suit:Summer Suit")) { case 1: changebase 26; goto Payment; end; case 2: changebase 27; goto Payment; end; } case 4: mes .npc$; mes "Okay, Have a nice day"; close; } } Payment: delitem .item[0],.amount[0]; end; OnInit: .npc$ = "[Suit Changer]"; setarray .item, 7539; setarray .amount, 5; } Try this, Not sure if it will work XD
  2. You should file an issue in github about this :)) so that people can try reproduce errors and fix it :))
  3. 1@instance,123,123,4 script guy#1 791,{ if( getvariableofnpc (.pillar1,"pillar#1" && .pillar2,"pillar#2" && .pillar3,"pillar#3" )) { mapannounce "1@instance", "Guy - All 3 Pillars has been activated, to the activators please talk to me." donpcevent instance_npcname("guy#1")+"::OnDisable"; donpcevent instance_npcname("guy#2")+"::OnEnable"; end; } else { mes "Guy"; mes "I want you talk to the 3 pillars first"; close; donpcevent instance_npcname("pillar#1")+"::OnEnable"; donpcevent instance_npcname("pillar#2")+"::OnEnable"; donpcevent instance_npcname("pillar#3")+"::OnEnable"; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("guy#1"); end; OnEnable: hideoffnpc instance_npcname("guy#1"); end; } 1@instance,123,123,4 script guy#2 791,{ if(.clicker1$ == 1){ mes "Number 1"; close; } else { if(.clicker2$ == 1) mes "Number 2"; close; } else { if(.clicker3$ == 1) mes "Number 3"; close; } } 1@instance,124,124,4 script pillar#1 791,{ progressbar "0xFFFF00",10; set .pillar1, 1; set .clicker1$, strcharinfo(0); donpcevent instance_npcname("pillar#1")+"::OnDisable"; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("pillar#1"); end; OnEnable: hideoffnpc instance_npcname("pillar#1"); end; } 1@instance,125,125,4 script pillar#2 791,{ progressbar "0xFFFF00",10; set .pillar2, 1; set .clicker2$, strcharinfo(0); donpcevent instance_npcname("pillar#2")+"::OnDisable"; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("pillar#2"); end; OnEnable: hideoffnpc instance_npcname("pillar#2"); end; } 1@instance,126,126,4 script pillar#3 791,{ progressbar "0xFFFF00",10; set .pillar3, 1; set .clicker3$, strcharinfo(0); donpcevent instance_npcname("pillar#3")+"::OnDisable"; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("pillar#3"); end; OnEnable: hideoffnpc instance_npcname("pillar#3"); end; } Try this haven't tried im only on mobile phone :))
  4. Question: 3 Different People Should Activate the pillar And Each People Have different conversation after activating the pillar? :))
  5. They have different ID's/Stats from normal ones //example 2611,C4_WOOTAN_FIGHTER,Furious Wootan Fighter,Furious Wootan Fighter,67,11635,1,1860,5985,1,374,497,103,8,63,18,36,5,62,15,10,12,1,7,43,0x3885,200,912,1344,480,0,0,0,0,0,0,0,517,4500,7196,4000,1801,3,1812,1,7939,100,7198,1000,5116,5,0,0,0,0,4261,1
  6. Still long way to go for chapter 10 T_T
  7. You need to increase your group id in itemdb.h #define MAX_ITEMGROUP #75 //add your max_itemgroup here add your box in const.txt IG_CustomRCB 75 add your itemgroup.txt in db/import CustomRCB.txt // add your items inside this db BoxID,ItemID,Chance 75,501,10 // BoxID is the id that you added in Const.txt
  8. add more information i cant point out what you need exactly :))
  9. prontera,155,172,6 script Mystic Instance::mainnpc 693,{ OnStart: set .@party_id, getcharid(1); set .@is_leader, ( getcharid(0) == getpartyleader(.@party_id,2) ); set .@has_instance, $instance_at_id == getcharid(2); mes "[Worried Woman]"; mes "Help me traveler.."; next; mes "[Worried Woman]"; mes "I beg you..please help me. My son... it's been a week. I am afraid if something bad happened on him."; switch( select( ( .@party_id && .@is_leader && !.@has_instance )?"Start Mystic Cave":"", ( .@party_id && .@has_instance )?"Enter Mystic Cave":"", case 1: getpartymember .@party_id,2; if( .min_party_member >= 1 ){ set .@origin, getcharid(3); for( set .@i, 0; .@i < $@partymembercount; set .@i,.@i+1 ) if( attachrid( $@partymemberaid[.@i] ) ){ set .@member_count, .@member_count + 1; if( BaseLevel < .base_level[0] || BaseLevel > .base_level[1] ) set .@fail, .@fail|1; if( .@fail ){ set .@name$, strcharinfo(0); break; } } attachrid( .@origin ); } for(set .@i,1; .@i<=getarraysize(.map$); set .@i,.@i+1) { if (getmapusers(instance_mapname(.map$[.@i], -1)) > 0) { mes "Another team is already in the Temple. I can't send you there, sorry."; close; } } if( .@name$ != "" && .@fail ){ mes "^FF0000[ Failed ]^000000"; mes "^0055FF"+.@name$+"^000000, You cannot join right now."; mes " "; mes "^FF0000[ Error: ]^000000"; if( .@fail & 1 ) mes "^777777You must be Level: "+.base_level[0]+" - "+.base_level[1]+"^000000"; break; } if (instance_check_party(.@party_id, .min_party_member, .base_level[0], .base_level[1]) == 0) { mes "^0055FF[ "+.instance_name$+" ]^000000"; mes "Make or join a party with at least "+.min_party_member+" member and try again."; break; } else { set $instance_at, instance_create( .instance_name$ ); if( $instance_at < 0 ) { mes "Mystic Cave creation failed."; mes "^0000FF"+.instance_name$+" ^000000- Creation Failed!"; close; } mes "^0055FF[ "+.instance_name$+" ]^000000"; mes "^0000FF"+.instance_name$+" ^000000 - Reserved"; getpartymember .@party_id,2; for( set .@i, 0; .@i < $@partymembercount; set .@i,.@i+1 ) if( attachrid( $@partymemberaid[.@i] ) ){ mes "Instance Created"; } attachrid( .@origin ); donpcevent instance_npcname("mystic_cave")+"::OnInstanceInit"; <-- donnpcevent to start your instance script change the name to the npc of your liking case 2: if( has_instance( .map$[0] ) == "" ){ mes "Mystic Cave doesnt exist for Party - "+getpartyname( .@party_id ); } else{ switch(instance_enter(.instance_name$)) { case IE_Unknown: mes "An unknown error has occurred."; close; case IE_Noinstance: mes "The memorial dungeon " + .instance_name$ + " does not exist."; mes "The party leader did not generate the cave yet."; close; case IE_NoParty: mes "You can enter the cave after making the party."; close; case IE_Good: mapannounce .map$[0], strcharinfo(0)+" from party, " +getpartyname( .@party_id )+", is entering the cave, "+.instance_name$+".",bc_map,"0x00ff99",FW_NORMAL,12; close; } } break; OnInit: setarray .base_level,120,175; setarray .map$,"yourmap"; set .map_size, getarraysize( .map$ ); set .min_party_member, 1; //min party member set .instance_name$, "Mystic Cave"; yourmap,1,2,3 script mystic_cave 123,{ //Sample OnInstanceInit: donpcevent instance_npcname( "firstnpc" )+"::OnEnable"; } yourmap,1,2,3 script firstnpc 123,{ OnEnable: mes "Hello i need help please help me"; something like this maybe rushly made maybe have some mistakes
  10. getpartymember .@party_id,2; for( set .@i, 0; .@i < $@partymembercount; set .@i,.@i+1 ) if( attachrid( $@partymemberaid[.@i] ) ){ if( BaseLevel < .base_level[0] || BaseLevel > .base_level[1] ) set .@error, .@error|1; if( .@fail ){ set .@name$, strcharinfo(0); break; if( .@name$ != "" && .@error ){ mes "^FF0000[ Failed ]^000000"; mes "^0055FF"+.@name$+"^000000, You cannot join right now."; mes " "; mes "^FF0000[ ERROR: ]^000000"; if( .error & 1 ) mes "^777777You must be Level: "+.base_level[0]+" - "+.base_level[1]+"^000000"; break; } setarray .base_level,120,175; something like this
  11. I see that's pretty interesting a few instance idea suddenly came up in my mind
  12. https://github.com/rathena/rathena/blob/master/doc/script_commands.txt I also tried your idea in the past a PVP Based instance but didn't successfully made it. Chapter 9 Battlegrounds Commands You can ask questions in the forum (If you do not understand the commands or something)
  13. I am not sure but i don't think you can make a two party enter the same instance map as the other party since the map code will be different. For your idea it's better to make it using a BG Script.
  14. If you want to host a server on your pc for you and your friends. First know your WAN IP. Make sure the ports that you're using is open. setup the server on your IP / in the client also
  15. Im pretty sure your laptop will die when you do that.
  16. You are currently the missing a 3d model that's in the map. it maybe missing or wrong directory you need to add it to the directory specified model\pud\file so that the client will be able to read it
  17. May I ask what is the use of implode. I haven't studied that yet nor i haven't seen it yet
  18. Hi Good Day Rathena, Im Still in the midst of studying C++ and want to ask a question about making a menu/switch select using an array. Maybe an example will do im a bit confused reading old posts about it :))
  19. prontera,255,55,5 script Test 123,{ OnInit: waitingroom "Warp",2; if ( getwaitingroomstate( 0, "Warp" ) >= 1 ) doevent "warp_1::OnEnter"; } - script warp_1 -1,{ OnEnter: warp "geffen",123,123; end; } Something Like This Maybe
  20. You need to have a VPS with sufficient RAM, You can either get a vps from a ragnarok hosting (not suggestable because the price is very high/incomplete access) or get a cheap VPS from trusted VPS providers (OVH,Digital Ocean,Vultr) and learn how to install rA in the VPS. there are several guides in the wiki and forum. Installation Guides From Wiki / Vultr VPS Provider Guide on Ubuntu / Youtube Guide There are also 3rd party services for VPS Installation/Server Setup Third Party Services
  21. 12152,Special_Box,Special Present,2,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "specialbox"; },{},{} // box item id function script specialbox { setarray .i[0],12345,12346; // Itemlist in box set .chance, rand(100); // First item in list (12345) x 1 (1% Chance) if (.chance == 1){ getitem .i[0],1; announce "["+strcharinfo(0)+"] won a ["+getitemname(.i[0])+"] from the Special Box.",0; end; } // First item in list (12346) x 100 (5~10% Chance) if (.chance <= 10 && .chance > 5){ getitem .i[1],100; end; } }
  22. it should be available on the data.grf of kRO
  23. Thor Patcher is very stable atleast for me :))
×
×
  • Create New...