Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 10/09/17 in all areas

  1. Earlier this year, I launched an RO-themed comic strip series, which I've been updating weekly. I thought I'd share it to the rA community since the server Im playing now is using rA lol It follows Joshua, a new adventurer who'd just recently arrived in Midgard; struggling to understand how the world works, with some helping hands guiding him... kinda... http://tapastic.com/series/PORINGS 20 Strips so far, new strips posted every Friday~
    1 point
  2. The September 2017 clients have an additional arg for 'costume = true/false,'. You need to add this to every item in your itemInfo file.
    1 point
  3. 1 point
  4. That line was stored msgstringtable.txt For that specific message 'First Step of Job Change!' can be found here: Achievement_db.yml
    1 point
  5. @Quesooo If failed x3 the players will get nuked using this: For the single slot machine mode, find this part of the script: cutin .ssm_animate$[3] + atoi(.ssm_animate$[.@a]),4; dispbottom "Failed"; below that line, add the following: slt_fld01++; if (slt_fld01 >= 3){ slt_fld01 = 0; atcommand "@nuke "+strcharinfo(0); } For the Triple slot machine mode, find his part of the script: } else { dispbottom "Failed"; } and replace it with this: } else { dispbottom "Failed"; slt_fld03++; if (slt_fld03 >= 3){ slt_fld03 = 0; atcommand "@nuke "+strcharinfo(0); } } Here's your script, I already added the changes I made above. prontera,163,161,4 script SlotMachine 563,{ if( getgmlevel() == 99 ) { mes "Welcome Administrator.","What would you like to do?"; menu "Play Game",-,"Change Slot Machine Mode",iMode; next; } switch( getd(".mode"+strnpcinfo(3)+"") ){ case 0: // Single Slot machine mode. mes "Do you want to play a game?"; if( !.payment ) { mes "It costs: "+ .ssm_payment_message$[0] +" to play."; } else if ( .payment == 1 ) { mes "It costs: "+ .ssm_payment_message$[1] +" to play."; } else if ( .payment == 2 ) { mes "It costs: "+ .ssm_payment_message$[0] +" & "+ .payment_message$[1] +" to play."; } if( select("YES:NO") == 2 || Zeny < .ssm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.ssm_payment[1]) < .ssm_payment[2] && .payment ){ close; } while( @menu == 1 ){ if (.EventON == 0) {mes "Slot Machine already finished"; cutin "",255; end;} if( !.payment || .payment == 2 ) { Zeny -= .ssm_payment[0]; } if( .payment ) { delitem( .ssm_payment[1], .ssm_payment[2] ); } if( .soundeffects ) { soundeffect "slot_jackpot.wav",0; } .@a = rand(1,100); if( .@a < atoi(.ssm_animate$[0]) ){ .@a = 1; } else { .@a = 2; } .@b = 1; while( .@b < atoi(.ssm_animate$[.@a]) ) { cutin .ssm_animate$[3] + .@b,4; sleep2 ( ( atoi(.ssm_animate$[4]) * 1000 ) / atoi(.ssm_animate$[.@a]) ); .@b++; } if( .@a == 1 ){ cutin .ssm_animate$[3] + atoi(.ssm_animate$[.@a]),4; dispbottom "Failed"; slt_fld01++; if (slt_fld01 >= 3){ slt_fld01 = 0; atcommand "@nuke "+strcharinfo(0); } } else { cutin .ssm_animate$[3] + atoi(.ssm_animate$[.@a]),4; switch(rand(5)) { case 0: getitem 603,5; specialeffect2 10; break; case 1: getitem 617,5; specialeffect2 10; break; case 2: getitem 644,5; specialeffect2 10; break; case 3: getitem 616,1; specialeffect2 10; break; case 4: getitem 7776,2; specialeffect2 10; break; case 5: getitem 18571,1; specialeffect2 10; break; } } if( select("Another Round:I'm done") == 2 || Zeny < .ssm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.ssm_payment[1]) < .ssm_payment[2] && .payment ){ cutin "",255; close; } } end; case 1: // Triple Slot machine mode. mes "Do you want to play a game?"; if( !.payment ) { mes "It costs: "+ .tsm_payment_message$[0] +" to play."; } else if ( .payment == 1 ) { mes "It costs: "+ .tsm_payment_message$[1] +" to play."; } else if ( .payment == 2 ) { mes "It costs: "+ .tsm_payment_message$[0] +" & "+ .tsm_payment_message$[1] +" to play."; } if( select("YES:NO") == 2 || Zeny < .tsm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.tsm_payment[1]) < .tsm_payment[2] && .payment ){ close; } while( @menu == 1 ){ if (.EventON == 0) {mes "Slot Machine already finished"; cutin "",255; end;} if( !.payment || .payment == 2 ) { Zeny -= .tsm_payment[0]; } if( .payment ) { delitem( .tsm_payment[1], .tsm_payment[2] ); } if( .soundeffects ) { soundeffect "slot_jackpot.wav",0; } // Slot 1 = 100% Chance for success. (Because I didn't make a fail animation for it. .@2 = rand(1,100); //Rolls dice for Slot 2 .@3 = rand(1,100); //Rolls dice for Slot 3 if( .@2 <= atoi(.tsm_animate$[0]) && .@3 <= atoi(.tsm_animate$[1]) ){ .@a = 8; } else if( .@2 <= atoi(.tsm_animate$[0]) && .@3 > atoi(.tsm_animate$[1]) ){ .@a = 6; } else if( .@2 > atoi(.tsm_animate$[0]) && .@3 <= atoi(.tsm_animate$[1]) ){ .@a = 4; } else { .@a = 2; } .@b = 1; while( .@b < atoi(.tsm_animate$[.@a+1]) ) { cutin .tsm_animate$[.@a] + .@b,4; sleep2 ( ( atoi(.tsm_animate$[10]) * 1000 ) / atoi(.tsm_animate$[.@a+1]) ); .@b++; } cutin .tsm_animate$[.@a] + atoi(.tsm_animate$[.@a+1]),4; if( .@a == 2 ){ switch(rand(5)) { case 0: getitem 603,5; specialeffect2 10; break; case 1: getitem 617,5; specialeffect2 10; break; case 2: getitem 644,5; specialeffect2 10; break; case 3: getitem 616,1; specialeffect2 10; break; case 4: getitem 7776,2; specialeffect2 10; break; case 5: getitem 18571,1; specialeffect2 10; break; } } else { dispbottom "Failed"; slt_fld03++; if (slt_fld03 >= 3){ slt_fld03 = 0; atcommand "@nuke "+strcharinfo(0); } } if( select("Another Round:I'm done") == 2 || Zeny < .tsm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.tsm_payment[1]) < .tsm_payment[2] && .payment ){ cutin "",255; close; } } end; } OnSingleSlot: setd ".mode"+strnpcinfo(3)+"",0; end; OnTripleSlot: setd ".mode"+strnpcinfo(3)+"",1; end; iMode: next; mes "Which did you want to do?"; menu "Change THIS machine's mode:Change ALL machine's mode",-; if( @menu == 1 ) { next; mes "What mode would you like this machine to have?"; menu "Single Slot Machine Mode:Triple Slot Machine Mode",-; if( @menu == 1 ) { setd ".mode"+strnpcinfo(3)+"",0; } else { setd ".mode"+strnpcinfo(3)+"",1; } close; } else { next; mes "What mode would you like to change all slot machines to?"; menu "Single Slot Machine Mode:Triple Slot Machine Mode",-; if( @menu == 1 ) { donpcevent "::OnSingleSlot"; } else { donpcevent "::OnTripleSlot"; } close; } OnClock0000: OnClock1000: OnClock1600: announce "Mysterious Slot Machine will begin at prontera 163 161 in 1 minute.", bc_all; sleep 60000; announce "Slot machine event has begun at prontera 163 161", bc_all; set .EventON,1; hideoffnpc strnpcinfo(3); sleep 225000; announce "Mysterious Slot Machine event is over thank you for playing", bc_all; set .EventON,0; hideonnpc strnpcinfo(3); end; OnInit: hideonnpc strnpcinfo(3); //[ 0 = Single Slot Machine Mode ]_[ 1 = Triple Slot Machine Mode ] setd ".mode"+strnpcinfo(3)+"",1; //[0] = Fail Rate //[1] = Fail (Do not change) //[2] = Success (Do not change) //[3] = File Name (Do not change) //[4] = Animation Time (Do not change, for best results :D) setarray .ssm_animate$[0],"30","29","33","slot_","3"; //[0] = Fail Rate "Slot 2" //[1] = Fail Rate "Slot 3" //[2] = SSS (Do not change) //[3] = SSS_Count (Do not change) //[4] = SSF (Do not change) //[5] = SSF_Count (Do not change) //[6] = SFS (Do not change) //[7] = SFS_Count (Do not change) //[8] = SFF (Do not change) //[9] = SFF_Count (Do not change) //[10] = Animation Time (Do not change, for best results :D) setarray .tsm_animate$[0],"30","30","SSS_","41","SSF_","37","SFS_","41","SFF_","45","3"; // Payment Settings // Payment Type // 0 = Zeny, 1 = Item, 2 = Zeny&Item .payment = 1; // [0] = Zeny, [1] = Item ID, [2] = Item Amount; setarray .ssm_payment[0],100000,7720,3; // Single Slot Machine Payment Price setarray .tsm_payment[0],100000,7720,3; // Triple Slot Machine Payment Price // DO NOT CHANGE BELOW // Payment Text Syntax setarray .ssm_payment_message$[0],""+ .ssm_payment[0] +" zeny",""+ getitemname(.ssm_payment[1]) +" x"+ .ssm_payment[2] +""; setarray .tsm_payment_message$[0],""+ .tsm_payment[0] +" zeny",""+ getitemname(.tsm_payment[1]) +" x"+ .tsm_payment[2] +""; end; } Afaik, using @nuke command, the nuked character automatically has the explosion effect so no need to use 'specialeffect' command. PS: I haven't tried to run it in-game.
    1 point
  6. @Lighta I think best way for the test framework would be to write a test by using the plugin system once we have it. That way you could hook onto each function and check the returned/modified values and if they match what we expect or expected in the past.
    1 point
  7. they need to run it as administrator for me im using Thor_Patcher[2.6.4.13b] no problem
    1 point
  8. "Latest" isn't a github hash. The error tells you what is wrong. Retarget your project or install missing frameworks. Google will even give you instructions on how to do this!
    1 point
  9. View File Instance Geffen Raid Modification script from Sample: Instancing 5 rounds once played and 1 round kill the MVP --------------------------- need 90 ~ 99 level need 2 player in group and just party leader can create instance Room --------------------------- you can change Treasure chest coordinat in line 35 [wave1,wave2,wave3,wave4,wave5] reward and coordinat settting Treasure chest drop in mob_db.txt or line 42 in script [wave1,wave2,wave3,wave4,wave5] --------------------------- Submitter Akbare Submitted 07/13/2017 Category Games, Events, Quests Content Author  
    1 point
  10. You could also change how "mob-dropped items" are created, so they are created as identified items. trunk/src/map/itemdb.c /*========================================== * Specifies if item-type should drop unidentified. *------------------------------------------*/ int itemdb_isidentified(int nameid) { int type=itemdb_type(nameid); switch (type) { case IT_WEAPON: case IT_ARMOR: case IT_PETARMOR: return 0; default: return 1; } } Change that function to always return 1, meaning all item types will drop identified: /*========================================== * Specifies if item-type should drop unidentified. *------------------------------------------*/ int itemdb_isidentified(int nameid) { return 1; }
    1 point
×
×
  • Create New...