Jump to content

ToiletMaster

Members
  • Content Count

    146
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by ToiletMaster

  1. Hi guys, I'm making a simple script but everytime I click on the npc, it shows @Storage Failed. However normally typing @storage works. Here's the script splendide,202,133,4 script Storage#TreasureBox 1940,{ atcommand "@storage"; end; } initially I thought that my script was the one giving problems, then i tried this and it worked. splendide,202,133,4 script Storage#TreasureBox 1940,{ atcommand "@die"; end; } I hope someone could advise what I'm doing here, thanks! edit: sorry, din't know there was a openstorage; command, but still, it is weird that I'm unable to use this method though.
  2. omg i cannot believe I missed that! I was just missing the *2 at two parts ._. thank you once again for pointing it out for me!
  3. Hi Guys, I understand the logic of changing 1:1 using the input command. example is while(input(.@novice,1,1000)) { mes ""+.npc_name$+""; mes "Please re-think about your choice. It's not making any sense!"; close; } mes ""+.npc_name$+""; mes "So.. you'll be exchanging a total amount of ^FF0000"+.@novice+"^000000 Empty bottles right?"; next; if(countitem(713) >= .@novice){ mes ""+.npc_name$+""; mes "Here you go!"; delitem 713,.@novice; getitem 569,.@novice; next; mes ""+.npc_name$+""; mes "Come back if you have more!"; close; } But currently i'm stuck at saying, let's say 2 jellopies for 1 novice potion? I would prefer for it to be selectable but I can't seem to get the right logic out of it. Unless i set specifically like if(countitem(909) >= 20){ delitem 909 20;getitem 569 10; Right now i'm trying to put input option in as well, but 2 jellopies for 1 novice potion ._. If someone could enlighted me on this part it'd be great!
  4. This is amazing thanks! it works perfectly!
  5. Hi Guys, Here's one part of the script that i made, i was thinking of methods of shortening this, would there be anyway? as the 2nd part of the case is all duplicated except for the item IDs. I'm not really good with arrays, so if someone could provide me an example, I'd be really grateful! if(baselevel >= 5 && novice_ground == 1) { mes ""+.npc_name$+""; mes "Good job Leveling up! Go on! Take one item from my stash! It's on me!"; next; switch(select("Cutter:Falchion:Mace:Main Gauche")){ case 1: mes ""+.npc_name$+""; mes "You've selected ^FF0000Cutter^000000."; mes "Are you sure?"; next; switch(select("Yes:No")){ case 1: mes ""+.npc_name$+""; mes "Here you go!"; getitem 13040,1; set novice_ground, 2; close; case 2: mes ""+.npc_name$+""; mes "Come back once you've decided!"; close; } case 2: mes ""+.npc_name$+""; mes "You've selected ^FF0000Falchion^000000."; mes "Are you sure?"; next; switch(select("Yes:No")){ case 1: mes ""+.npc_name$+""; mes "Here you go!"; getitem 13415,1; set novice_ground, 2; close; case 2: mes ""+.npc_name$+""; mes "Come back once you've decided!"; close; } case 3: mes ""+.npc_name$+""; mes "You've selected ^FF0000Mace^000000."; mes "Are you sure?"; next; switch(select("Yes:No")){ case 1: mes ""+.npc_name$+""; mes "Here you go!"; getitem 1545,1; set novice_ground, 2; close; case 2: mes ""+.npc_name$+""; mes "Come back once you've decided!"; close; } case 4: mes ""+.npc_name$+""; mes "You've selected ^FF0000Main Gauche^000000."; mes "Are you sure?"; next; switch(select("Yes:No")){ case 1: mes ""+.npc_name$+""; mes "Here you go!"; getitem 13041,1; set novice_ground, 2; close; case 2: mes ""+.npc_name$+""; mes "Come back once you've decided!"; close; } } }
  6. Hi there Patskie! Thanks for replying the thread! However, upon using your command I can't seem to make it function well enough though. Here's an example of what I did in order to test it out. getpartymember getcharid(1), 2; for ( set .@i, 0; .@i < $@partymembercount; set .@i, .@i + 1 ) { detachrid; if ( attachrid($@partymemberaid[.@i]) ) { set test, test+1;// do whatever donpcevent "Survival Waves#Sur::OnWave1"; warpparty "guild_vs5", 0,0, getcharid(1); end; } } It doesn't place the test variable 1 on each character only the party leader that spoken to the npc.
  7. Bump for this, I can't seem to attach a party timer upon partywarp. Is there any possible solution for this? The only method I can think of would be placing a temporary variable for let's say 2 minutes for them to enter. However it would be even better if I can directly add a timer for everyone to enter in.
  8. Thanks for the reply! i've tried reading about http://rathena.org/wiki/Attachrid honestly speaking, I'm totally clueless what does it mean there, (not entirely though, i mean, i know what it does in the example, but not enough for me to relate back to the current script ._.)
  9. attach everybody and assign the timer ... I tried searching around but I can't seem to find anything ._. I've read alot from the Timers (Scripting) in the Wiki but mostly none of them does talk about party wise timers. however i definitely know it has something to do with $@partymembercid[] as it gets all the id of the members, problem is adding the timer >_> I'm clueless on adding it in at the moment
  10. Thanks! But wouldn't this be only 1 person? let's say If i place in a party and would like to add a timer to everyone. Here's the current script that I have at the moment. prontera,152,154,4 script Survival Warper#Prt 73,{ set .register_num, 2; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; if( !getcharid(1) || getcharid(3) != getpartyleader( getcharid(1),1 ) ){ mes "I only talk to the party leaders."; close; } if ( $@partymembercount != .register_num ) { mes "Please form a party of "+ .register_num +" to continue"; close; } for ( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ) if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) set .@count_online, .@count_online +1 ; if ( .@count_online != .register_num ) { mes "All your party members must be online to continue"; close; } copyarray .@partymembercid, $@partymembercid, .register_num; mes "[Survivalist]"; mes "Party Confirmed"; mes "^FF0000---------------^000000"; mes "Party Name: ^FF0000"+strcharinfo(1)+"^000000"; mes "Party Leader: ^FF0000"+strcharinfo(0)+"^000000"; next; mes "[Survivalist]"; mes "Are you ready ?"; next; // careful here switch(select("Yes I'm ready:No I'm Not")){ case 1: getpartymember getcharid(1), 1; if ( $@partymembercount != .register_num ) { mes "You've made changes to your party !"; close; } for ( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ) { if ( .@partymembercid[.@i] != $@partymembercid[.@i] ) { mes "You've made changes to your party !"; close; } }//if i added a setquest here, would it be applicable to the party leader only? How can i make this to everyone in the party?//since my next command is warpparty. is there any way to achieve that? donpcevent "Survival Waves#Sur::OnWave1"; warpparty "guild_vs5", 0,0, getcharid(1); end; case 2: mes "Come back once you're ready to survive the horror!"; close; } } - script Survival Waves#Sur -1,{ OnWave1: killmonster "guild_vs5", ""+strnpcinfo(3)+"::OnWave"; sleep 3000; mapannounce .map$,""+.npcname$+" Can you survive the horror?",0; sleep 5000; mapannounce .map$,""+.npcname$+" You'll be given 30 seconds in order to buff yourselves!",0; sleep 5000; mapannounce .map$,""+.npcname$+" Just Kidding, Prepare to die!",0; // Summon all monsters in the '.monster_weak' array for (.@i = 0; .@i < getarraysize(.monster_weak); .@i++) monster .map$, 0, 0, .weak_name$, .monster_weak[.@i], .wave1_amount, strnpcinfo(3) +"::OnWave"; end; OnWave: if (mobcount(.map$, strnpcinfo(3) +"::OnWave") == 0){ mapannounce .map$,""+.npcname$+" You think you've won? Think again.!",0; sleep 5000; mapannounce .map$,""+.npcname$+" To be continued",0; //to be continued end;} else // Mob death event if (mobcount(.map$, strnpcinfo(3) +"::OnWave") <= .announce_start) announce "There are only "+ mobcount(.map$, "all") +" left in the map.", 1; end; OnInit: // Map name .map$ = "guild_vs5"; // Mob count before announcements start .announce_start = 10; // Weak monster name .weak_name$ = "--ja--"; // List of weak monster IDs setarray .monster_weak[0], 1301,1297,1403,1654,1268,1507,1830,1307,1302,1635, 1655,1636,1777,1837,1656,1219,1502,1637,1262,1700, 1320,1865,1657,1702,1829,1375,1204,1653,1416,1200, 1197; // Amount of weak monsters to summon .wave1_amount = 2; .npcname$ = "[Survival Master]:";}
  11. Thanks a lot on clearing up on the variables part! Din't know the global could be used for various NPCs. However I do have one more question though, would it be possible to give a timer to everyone in the party upon entering? so that they can't access while that timer is active. (If possible I'd like to use setquest) I tried replicating something similar to Endless Tower, however I only found out that Endless Tower timer is started when they clicked on the NPC. Would it be possible to get a timer on them as well as detect if anyone has the timer? (Sorry if this is becoming more of it like a request)
  12. To be honest I'm not too sure when to use Global Variable or not to, from my point of view, if I have multiple servers, then it'll show in all accounts? I guess? >_> Correct me if i'm wrong still trying to learn my best here xD Definitely not! Thanks for the warning lol, Wouldn't want to try 3100 monsters in 1 map at a time lol. and Huge thanks for the amazing definition! There's some parts I'm still fuzzy about, but I believe by reading your description for the next hundred times I might get it xD (It's just me, i'm just slow in learning things and most of the time I need someone to guide me through ._.) This is yet another eye opener in the world of scripting thanks! Thanks for the explanation as well! Your script does look much better xD but I still have quite an amount of things to edit actually xD. Hopefully once i'm done I won't have 4800 lines >_> or perhaps any errors xD Thanks again! You're all wonderful people in this great community!
  13. Hi there guys! Yet another question from me, hope you guys don't mind! This time I'm stuck at something. I've started using setarray as it really simplifies alot of things! However I can't seem to spawn all the monster I wanted for this time. it only summons the first ID that I specified on the script. Here's the current script. guild_vs5,57,47,4 script npc#hihi 73,{ set $@map$,"guild_vs5"; setarray $@Monsteridweak[1],1301,1297,1403,1654,1268,1507,1830,1307,1302,1635,1655,1636,1777,1837,1656,1219,1502,1637,1262,1700,1320,1865,1657,1702,1829,1375,1204,1653,1416,1200,1197; mes "Hello"; monster "this",0,0,"--ja--",$@monsteridweak[1],100,strnpcinfo(3)+"::OnWave1"; close; OnWave1: if(mobcount($@map$,strnpcinfo(3)+"::OnWave1") <= 95) goto L_announce; end; L_announce: announce "There are only "+mobcount($@map$ , "all")+" left! Good luck!",0; end; }
  14. The array will not increment. It will stay at index 0 Ah thanks for letting me know! Cheers! kinda straightforward i guess lol
  15. hope you don't mind if I ask however if let's say I don't place @i++ what's going to happen?
  16. Nope it's fine hahahaha Thanks again for every jabote! Couldn't have done this without ya xD But i definitely want the user to be notified haha so this is marked as solved xD Thanks!
  17. I understand most of the commands used and how they are being used in the script. However one thing I'm not too sure would be the reason of using @i++ example on above for (@i = 82000; @i < 82267; @i++) If someone could clarify on this that would be amazing! As i'm thinking why can't it end at 82267; ?
  18. You did give me an idea on this part though, I changed the configuration to provide @autoloot 0 that disables the autoloot regardless so it works in the end as well xD Thanks again!
  19. Wow thanks for the assistance everyone! This really is an eye opener in many ways lol thanks again! If there are other methods I wouldn't mind seeing it though xD It really is something great to learn seeing all of these lol @Emistry, Thanks for the script shortening! This is really really short compared to 4800 lines lol !
  20. Hi there! as I'm still new towards scripting, most commands I used in my scripts are kind of bad and repetitive. I was thinking whether it could be shorten? Currently the script holds 4000+ lines. http://justpaste.it/5t3n (side reminder, the script works fine without any issues, currently I'm just exploring methods to reduce the script size if possible)
  21. extremely sorry for the late reply =_= I thought I've replied already but apparently my internet got cut off i guess which din't make the reply go through. Anyway, I've tested it, but upon afking, I see the sc_start sc_cash_receiveitem? Meaning upon afking i get more drop rate? Should be disabling the autoloot instead of providing the bonus haha
  22. did you open the ports on your VPS to allow the web hosting link to come back to your website? assuming you're using CentOS on your VPS, you could try pressing setup and see opening up the ports to allow the SQL data to come in.
  23. Thanks for the reply, but trust me, the player's will work wonders on this lol, example loli ruri card, orc lord card, and many other cards that are able to deflect damage. they just pump max int and leave their character there. That's why I'm kind of looking for a solution to solve that lol.
  24. I would prefer it having on all maps except cities lol, if that's possible of course ._. but idle_no_share works with @autoloot?
  25. I can't say how much I love your maps lol they're perfect in each and every way lol! Thank you for sharing it off!
×
×
  • Create New...

Important Information

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