Jump to content

Aureon

Members
  • Posts

    281
  • Joined

  • Last visited

3 Followers

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Aureon's Achievements

Poring

Poring (1/15)

14

Reputation

16

Community Answers

  1. Find this part: atcommand "@nuke "+strcharinfo(0); Below that, add this: cutin "",255; close;
  2. That line was stored msgstringtable.txt For that specific message 'First Step of Job Change!' can be found here: Achievement_db.yml
  3. You can use this as an alternative to that uncommented line: mes "^FF0000Reward^000000 - Base Level EXP: "+getarg(0)+" and Job Level EXP: ^0000FF"+getarg(1)+"^000000";
  4. @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.
  5. @padangyoesa You don't have to add the name of the map, just use @maprecall and it would automatically warp all players on the map to your current location.
  6. @lexaeus @padangyoesa I believe this part: if(getgmlevel()==0) end; should be: if(getgmlevel() > 0) end; with the changes above, all characters will be warped to your current location except GMs. I hope this would solve your problem please do add 'end;' after 'mapwarp' and it should look like this: mapwarp .@map$,.@map$,.@x,.@y,0; end;
  7. @iAmGnome Unless if you tweak 'opendressroom' at src
  8. Have you tried to restart your server and check?
  9. Hello there @sader1992, why is it I can't find the command on script.cpp? https://github.com/rathena/rathena/blob/master/src/map/script.cpp
  10. @GodKnows Jhomz Hello, Im not 100% sure about this so please test this first on your local server. First, from your script, kindly look for this line: set .@sql$, ((.Options&4)?"position = 0":"online = 1"); and replace it with this: set .@sql$,"position = 0"; Second, from your script, kindly look again for this line: set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); and replace it with this: if (.Options&4){ set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); } else { set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = "+.@gid,.@aid,.@cid); }
  11. I guess they've had removed it even 'opendressroom' command, can no longer find it on script.cpp However have you tried to use this one? opendressroom(0);
  12. I suggest you to read this part thispartanswerswhen and thispartanswershow
  13. @Hossam You wanted to reset the values regardless if players are online or not? Tho, i haven't tried to run this in-game but I hope this solves your problem, good luck! //===== Stolao Scripts ================================== //= PvP Ladder //===== Author ================================================== //= Stolao (Original Author) //= Happy (2.0) //= Aureon (2.3) //===== Current Version: ===================================== //= 2.3(unofficial) //===== Compatible With: ===================================== //= rAthena SVN, Hercules, 3ceam, eAthena //===== Description: ========================================= // Configurable Pvp Ladder //===== Comments: ============================================ //= [Stolao] // Needs bug testing, please report any bugs // Unable to test thurally on my comp atm //= [Happy] // Update* I tested it and found tons of bugs, I'm in rush so // I fixed them myself. It is now working 100%. // The version is unofficial version. Sorry Stolao I fixed it // Without your permission XD //= [Aureon] // Update* I made it all pk values of all characters to be // deleted upon reset (made through request) // link: https://rathena.org/board/topic/113064-pvp-rank-reset/ //===== Additional Comments: ================================= //= 1.00 Initial Release //= 1.01 Added Location with veiwing of ladder //= 1.02 Added GM Menu //= 1.03 Added atcommand //= 1.04 Shortend menu script //= 1.05 Added PvpPoints into confug and script //= 1.06 Added Abuse Protection //= 1.07 Made Pvp Points Configurable //= 1.08 Fixed typo in Reset Option //= 1.09 Made Amount of pvp points earned configurable //= 1.0A Ajusted Spacing for easier reading //= 1.0B Added Warp to savepoint on abuse into config //= 2.0 (unofficial)Fixed bugs on ranking modification and // bitwise permissions //= 2.0b minor fix on resetting the ladder //= 2.1 tested fix to ladder reset part //= 2.3 reset all characters it may be offline or online characters //===== Contact Ifo: ========================================= //= [Stolao] // Email: [email protected] //= [Happy] // Email: http://hercules.ws/board/user/164-happy/ //============================================================ prontera,139,174,6 script PvP Rank 837,{ mes "[Ladder Event]"; OnPvpLadder: mes "Ranking"; if(getgmlevel() >= .GM){ // Menu Generator for GM and Normal Player set .@i,select("View Ranking:Leave:Reset PVP Stats"); } else { set .@i,select("View Ranking:Leave"); } switch(.@i) { // Where generated menu goes to case 3: // DReset PvP Stats mes "Are you sure you want to delete"; mes "ALL pvp records?"; if(select("No:Yes")==1) close; next; mes "Wait one Moment..."; mes "....."; cleararray $TOPPK$[0],0,127; // Clears array where top rank char names are stored. cleararray $TOPPK[0],0,127; // Clears array where top rank kill count are stored. query_sql("UPDATE `char_reg_num_db` SET `value` = '0' WHERE `key` = 'pl_pkcount'"); // Clears kills saved on character variables (NEW: on all characters it may be online or offline) mes "Cleared pvp data."; close; case 1: // View PvP Records for(set .@i,1; .@i <= .MaxPlayers; set .@i,.@i+1){ mes (.@i)+": "+ $TOPPK$[.@i] +" with "+ $TOPPK[.@i] +" kills"; if((.@i) % 10 == 0){ // A nice way to create multiple pages by 10 ranks if(select("Read More:Leave") == 1){ next; } else { close; } } } case 2: // Leave close; } close; OnPCKillEvent: if(.Options&2 && (agitcheck() || agitcheck2())){ // Check to disable during woe end; } if(getgmlevel() <= .GmLvl){ if(.Options&1 || strcharinfo(3) == .Map$){ if(.Options&32){ // Repeatkill abuse counter for(set .@i,.RepeatCount; .@i > 0; set .@i, .@i-1){ set @PKedID[.@i+1], @PKedID[.@i]; // Old killedrids moved to upper array elements } set @PKedID,killedrid; // set killedrid to [0] position. for(set .@i,1; .@i < .RepeatCount; set .@i,.@i + 1){ if(@PKedID[0] == @PKedID[.@i]){ // check if killerid same as the previously killedrids set .@s, .@s + 1; // if all 5 past killedrid are the same then this would become 5 and trigger protection } else { break; // else stop checking } } } if(.@s < .RepeatCount){ // if not abusing kills according to repeatcount set pl_pkcount,pl_pkcount + 1; if(.Options&16) { set getd(.PointType$),getd(.PointType$) + .PvpEarned; // add points } if(pl_pkcount > $TOPPK[.MaxPlayers]) { // If higher than last ranker for(set .@i,1; .@i <= .MaxPlayers ; set .@i, .@i + 1) { // Reorganize the ranking if (pl_pkcount > $TOPPK[.@i] && !.@newrank) { set .@newrank,.@i; } if (strcharinfo(0) == $TOPPK$[.@i] && .@newrank == .@i) { setarray $TOPPK$[.@i], strcharinfo(0); setarray $TOPPK[.@i], pl_pkcount; set .@newrank,0; break; } if ( strcharinfo(0) == $TOPPK$[.@i] && .@newrank != .@i) { set .@existrank,.@i; break; } } if (.@newrank) { for (set .@e,.MaxPlayers; .@e >= 0 ; set .@e, .@e - 1) { if (.@e < .@existrank) { setarray $TOPPK$[.@e + 1], $TOPPK$[.@e]; // move this ranker backward setarray $TOPPK[.@e + 1], $TOPPK[.@e]; } if (.@e == .@newrank) { setarray $TOPPK$[.@e], strcharinfo(0); setarray $TOPPK[.@e], pl_pkcount; if(.Options&4) { announce strcharinfo(0)+"'s rank is now "+(.@e)+"",bc_all; } break; } } } } } else { if(.Options&64) { warp "Save",0,0; } } } } end; OnInit: set .GM,99; set .MaxPlayers,10; // Number of Players held in Records set .GmLvl,99; // Highest GM level Able to Hold a Record, if Option 8 is Disabled set .Map$,"guild_vs3"; // Map Pvp Must Take Place on in order to Count, if Option 1 is Disabled set .RepeatCount,5; // Number of kills on same person before it detects abuse, max of 128 set .PointType$,"#PvpPoints"; // Name of points earned, E.G. #Cash Points set .PvpEarned,1; // Number of Pvp Points Earned set .Options,4|32|64; // Bitwise Variable // 1: Only Counts Kills on .Map$ if Disabled // 2: Disables Record Holding during WOE // 4: Announce When Someone Takes a Rank // 8: Allow Gms Above level .GmLvl To Be on Ladder // 16: Gain PvP Points on Kills (#PvpPoints) // 32: Repeat Kill Protection // 64: Warp to Save on abuse // Example: "1+2+4 = 7" No Forced Map, Disables Record Holding during WOE and Announces New Record Holders bindatcmd("PvpLadder" ,"Pvp_Ladder::OnPvpLadder",0,99); waitingroom "PvP Rank - ترتيب الشغب",0; end; } pvp_n_1-5 mapflag nobranch pvp_n_1-5 mapflag novending pvp_n_1-5 mapflag nosave pvp_n_1-5 mapflag nowarp pvp_n_1-5 mapflag novending pvp_y_1-2 mapflag nobranch pvp_y_1-2 mapflag novending pvp_y_1-2 mapflag nosave pvp_y_1-2 mapflag nowarp pvp_y_1-2 mapflag novending pvp_y_1-4 mapflag nobranch pvp_y_1-4 mapflag novending pvp_y_1-4 mapflag nosave pvp_y_1-4 mapflag nowarp pvp_y_1-4 mapflag novending
  14. @Dev Blaze Add this below 'OnUpate' label if(checkvending() >= 1) { dispbottom "Vending is not allowed."; deltimer .npc_name$+"::OnUpdate"; end; }
  15. @bdgro Kindly look for this part of your script: mes "[LMS Manager]"; mes "Thank you for registering Mr. " + strcharinfo(0) + ", Have fun!"; close2; npctalk ""+strcharinfo(0)+" has registered for the Last Man Standing."; warp "pvp_n_7-5",103,99; end; and change it to: mes "[LMS Manager]"; mes "Thank you for registering Mr. " + strcharinfo(0) + ", Have fun!"; sleep2 1000; npctalk strcharinfo(0)+" has registered for the Last Man Standing."; warp "pvp_n_7-5", 103, 99; end; I hope that solves your problem, good luck!
×
×
  • Create New...