Jump to content

iJanus

Members
  • Posts

    46
  • Joined

  • Last visited

Posts posted by iJanus

  1.  

    You can set this line to 0, to disable item/card destruction.

     

    set .faildestroy,1; // Should the card remover have a chance of failure that destroys items? 1 = Yes, 0 = No.

     

     

    Thanks Solved ! :)

  2. Can i request a script npc card remover that won't break the item or cards.
     
    btw here's what i'm using script

    //===== rAthena Script =======================================
    //= Card Removal NPC
    //===== By: ==================================================
    //= TyrNemesis^
    //===== Current Version: =====================================
    //= 1.2
    //===== Compatible With: =====================================
    //= rAthena SVN
    //===== Description: =========================================
    //= Removes cards from equipped items.
    //===== Additional Comments: =================================
    //= 1.0 First version. [TyrNemesis^]
    //= 1.2 Optimized and fixed getequipname menu. [Kisuka]
    //============================================================
    
    prontera,139,175,3	script	Wise Old Woman#eAcustom	78,{
    	set .zenycost,200000; // Set base cost in zeny of the card remover services
    	set .percardcost,25000; // set cost per card of the card remover services
    	set .faildestroy,1; // Should the card remover have a chance of failure that destroys items? 1 = Yes, 0 = No.
    	mes "[Wise Old Woman]";
    	mes "Good day, young one. I have the power to remove cards that you have compounded onto your equipment. Does this idea please you?";
    	next;
    	switch(select("Yes, it does.:What do you charge?:No thanks.")) {
    	case 1:
    		mes "[Wise Old Woman]";
    		mes "Very well. Which item shall I examine for you?";
    		next;
    
    		setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
    		set .@menu$,"";
    		for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
    		{
    			if( getequipisequiped(.@i) )
    			set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";
    
    			set .@menu$, .@menu$ + ":";
    		}
    		set .@part,select(.@menu$);
    		if(!getequipisequiped(.@part)) {
    			mes "[Wise Old Woman]";
    			mes "Young one... Your not wearing anything there that I can remove cards from.";
    			close;
    		}
    		if(getequipcardcnt(.@part) == 0) {
    			mes "[Wise Old Woman]";
    			mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid.";
    			close;
    		}
    		set .@cardcount,getequipcardcnt(.@part);
    		
    		if (!checkweight(1202,(.@cardcount+1))) { 
    			mes "^3355FFJust a minute!";
    			mes "I can't offer any of my";
    			mes "services to you because";
    			mes "you're carrying too much";
    			mes "stuff. Put your extra items in";
    			mes "Kafra Storage and come again~";
    			close;
    		}
    		mes "[Wise Old Woman]";
    		mes "This item has " + .@cardcount + " cards compounded on it. To perform my magic, I will need " + (.zenycost+(.@cardcount * .percardcost)) + " zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
    		next;
    		if(select("Very well. Do it.:Nevermind.") == 2) {
    			mes "[Wise Old Woman]";
    			mes "Very well. Return at once if you seek my services.";
    			close;
    		}
    		if((zeny < (.zenycost+(.@cardcount * .percardcost))) || (countitem(1000) < 1) || (countitem(715) < 1)) {
    			mes "[Wise Old Woman]";
    			mes "You do not have all the items I require to work my magic, child. Come again when you do.";
    			close;
    		}
    		mes "[Wise Old Woman]";
    		mes "Before I begin, I must warn you--I may fail. If I do, I may destroy the cards, the item, or both. I do not give refunds. That being said, which is more important to you: The cards, or the item?";
    		next;
    		switch(select("I changed my mind about this.:The item.:The cards.")) {
    		case 1:
    			mes "[Wise Old Woman]";
    			mes "Very well. Return at once if you seek my services.";
    			close;
    		case 2:
    			set .@failtype,1;
    			break;
    		case 3:
    			set .@failtype,2;
    		}
    		mes "[Wise Old Woman]";
    		mes "Very well. I shall begin.";
    		set zeny,zeny - (.zenycost+(.@cardcount * .percardcost));
    		delitem 1000,1;
    		delitem 715,1;
    		
    		// Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt
    		// First value = Total failure chance (item and cards destroyed)
    		// Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe)
    		// Third value = Harmless failure chance (all that's lost is your investment)
    
    		set .@failchance,rand(100);
    		if (.faildestroy==1) {
    			if(.@failchance < 2) {
    				next;
    				failedremovecards .@part,0;
    				mes "[Wise Old Woman]";
    				mes "The process was a total failure. I am afraid the item and the cards were destroyed.";
    				close;
    			}
    
    			if(.@failchance < 8) {
    				if (.@failtype == 1) {
    					next;
    					failedremovecards .@part,1;
    					mes "[Wise Old Woman]";
    					mes "While I have managed to remove the cards from the item, they were destroyed in the process. The item, however, is okay.";
    					close;
    				}
    
    				if (.@failtype == 2) {
    					next;
    					failedremovecards .@part,2;
    					mes "[Wise Old Woman]";
    					mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process.";
    					close;
    				}
    			}
    		}
    
    		if(.@failchance < 10) {
    			next;
    			failedremovecards .@part,3;
    			mes "[Wise Old Woman]";
    			mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay.";
    			close;
    		}
    		next;
    		successremovecards .@part;
    		mes "[Wise Old Woman]";
    		mes "The process was a success. Here are your cards and your item. Farewell.";
    		close;
    	case 2:
    		mes "[Wise Old Woman]";
    		mes "I charge a flat fee of "+.zenycost+" zeny, plus "+.percardcost+" zeny for each card I remove from the item. In addition, I need a star crumb and a yellow gemstone to work my magic.";
    		close;
    	case 3:
    		mes "[Wise Old Woman]";
    		mes "Very well. Return at once if you seek my services.";
    		close;
    	}
    }
    
    
  3. //===== rAthena Script =======================================
    //= Lottery
    //===== By: ==================================================
    //= acky
    //===== Current Version: =====================================
    //= 1.2.1a
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= Daily lottery draw
    //===== Additional Comments: =================================
    //= Numbers drawn daily (Time is configured line 29)
    //= *Added GM-Riggability
    //= *Ability to renew ticket
    //= *Improved interface
    //= *Fixed minor bug where first load didn't work.
    //= 1.2.1a fix due to new script engine
    //============================================================
    
    -	script	lotterygenerator	-1,{
    OnInit:
    	set $L_TicketPrice,4750; // TICKET COST
    	set $L_Prize_Money,5000000; // JACKPOT AMOUNT
    	set $L_Prize_Money_Small,1000000; // SECONDARY PRIZE
    	if ($LID == 0) goto L_GenID;
    	end;
    
    	//Modify for own time
    OnClock2045:
    	// CHECKS IF LOTTERY IS RIGGED
    	if ($L_Rigged == 1) goto L_Rigged_Draw;
    	// GENERATES RANDOM NUMBERS 1-40
    Pick1:
    	set $LW1,rand (1,40);
    
    Pick2:
    	set $LW2,rand (1,40);
    	if ($LW2 == $LW1) goto Pick2;
    
    Pick3:
    	set $LW3,rand (1,40);
    	if ($LW3 == $LW2) goto Pick3;
    	if ($LW3 == $LW1) goto Pick3;
    
    Pick4:
    	set $LW4,rand (1,40);
    	if ($LW4 == $LW2) goto Pick4;
    	if ($LW4 == $LW1) goto Pick4;
    	if ($LW4 == $LW3) goto Pick4;
    
    Pick5:
    	set $LW5,rand (1,40);
    	if ($LW5 == $LW1) goto Pick5;
    	if ($LW5 == $LW2) goto Pick5;
    	if ($LW5 == $LW3) goto Pick5;
    	if ($LW5 == $LW4) goto Pick5;
    
    Pick6:
    	set $LW6,rand (1,40);
    	if ($LW6 == $LW1) goto Pick6;
    	if ($LW6 == $LW2) goto Pick6;
    	if ($LW6 == $LW3) goto Pick6;
    	if ($LW6 == $LW4) goto Pick6;
    	if ($LW6 == $LW5) goto Pick6;
    
    	// BROADCASTS DRAW
    L_Broadcast:
    	Announce "Lottery: Welcome to tonight's lotto draw!",8;
    	Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
    	Announce "Congratulations to the winners of tonight!",8;
    
    	// GENERATES DRAW ID CODE
    L_GenID:
    	set $LID2,$LID;
    	// SETS TOMORROW'S ID NUMBER
    	set $LID,rand (100000,999999);
    	end;
    
    	// SETS DRAW TO RIGGED NUMBERS
    L_Rigged_Draw:
    	set $LW1,$LR1;
    	set $LW2,$LR2;
    	set $LW3,$LR3;
    	set $LW4,$LR4;
    	set $LW5,$LR5;
    	set $LW6,$LR6;
    	set $L_Rigged,0;
    	goto L_Broadcast;
    }
    
    prontera,164,175,4	script	Lottery	76,{
    L_Begin:
    	mes "[Lottery]";
    	mes "Winning Lotto Numbers ("+$LID2+"):";
    	mes "^0000FF[" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]^000000";
    	if ($LID > 99999) mes "Your Ticket ("+#LID+"):";
    	if ($LID > 99999) mes "^FF0000[" + #LW1 + "] [" + #LW2 + "] [" + #LW3 + "] [" + #LW4 + "] [" + #LW5 + "] [" + #LW6 + "]^000000";
    	mes "Next Draw-ID: ^FF0000" + $LID + "^000000.";
    	next;
    	if (getgmlevel() > 90) goto L_GM;
    	menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"Cancel",L_Cancel;
    
    // PURCHASE TICKET
    L_Buy:
    	if (#LID == $LID && #L1 != 0) goto L_DoubleTicket;
    	mes "[Lottery]";
    	mes "Tickets cost ^0000FF" + $L_TicketPrice + "z^000000.";
    	mes "The Jackpot is ^FF0000" + $L_Prize_Money + "z^000000.";
    	next;
    	menu "Buy Ticket",-,"Cancel",L_Cancel;
    	if (Zeny < $L_TicketPrice) goto L_NoZeny;
    	set Zeny, Zeny-$L_TicketPrice;
    	mes "[Lottery]";
    	mes "Would you like your numbers hand picked or computer generated?";
    	next;
    	menu "Computer Generated",L_ComputerGen,"Hand Picked",L_HandPick,"Renew Ticket",L_Renew;
    
    // RENEW LAST TICKET
    L_Renew:
    	if ($LID < 99999) goto L_Invalid;
    	set #LID,$LID;
    	goto L_Confirm2;
    
    L_ComputerGen:
    // SELECTS RANDOM NUMBERS
    	set @L1,0;
    	set @L2,0;
    	set @L3,0;
    	set @L4,0;
    	set @L5,0;
    	set @L6,0;
    Pick1:
    	set @L1,rand (1,40);
    Pick2:
    	set @L2,rand (1,40);
    	if (@L2 == @L1) goto Pick2;
    Pick3:
    	set @L3,rand (1,40);
    	if (@L3 == @L2) goto Pick3;
    	if (@L3 == @L1) goto Pick3;
    Pick4:
    	set @L4,rand (1,40);
    	if (@L4 == @L2) goto Pick4;
    	if (@L4 == @L1) goto Pick4;
    	if (@L4 == @L3) goto Pick4;
    Pick5:
    	set @L5,rand (1,40);
    	if (@L5 == @L1) goto Pick5;
    	if (@L5 == @L2) goto Pick5;
    	if (@L5 == @L3) goto Pick5;
    	if (@L5 == @L4) goto Pick5;
    Pick6:
    	set @L6,rand (1,40);
    	if (@L6 == @L1) goto Pick6;
    	if (@L6 == @L2) goto Pick6;
    	if (@L6 == @L3) goto Pick6;
    	if (@L6 == @L4) goto Pick6;
    	if (@L6 == @L5) goto Pick6;
    	mes "[Lottery]";
    	mes "The computer has selected the following numbers:";
    	mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000";
    	next;
    	menu "Confirm",L_Confirm,"Re-Generate",L_ComputerGen;
    
    // HAND PICK LOTTERY NUMBERS
    L_HandPick:
    	mes "[Lottery]";
    	mes "Please pick your numbers (1-40):";
    	set @L1,0;
    	set @L2,0;
    	set @L3,0;
    	set @L4,0;
    	set @L5,0;
    	set @L6,0;
    Input1:
    	input @L1;
    	if (@L1 < 1 || @L1 > 40) goto Input1;
    	mes @L1;
    Input2:
    	input @L2;
    	if (@L2 < 1 || @L2 > 40) goto Input2;
    	if (@L2 == @L1) goto Input2;
    	mes @L2;
    Input3:
    	input @L3;
    	if (@L3 < 1 || @L3 > 40) goto Input3;
    	if (@L3 == @L1) goto Input3;
    	if (@L3 == @L2) goto Input3;
    	mes @L3;
    Input4:
    	input @L4;
    	if (@L4 < 1 || @L4 > 40) goto Input4;
    	if (@L4 == @L1) goto Input4;
    	if (@L4 == @L2) goto Input4;
    	if (@L4 == @L3) goto Input4;
    	mes @L4;
    Input5:
    	input @L5;
    	if (@L5 < 1 || @L5 > 40) goto Input5;
    	if (@L5 == @L1) goto Input5;
    	if (@L5 == @L2) goto Input5;
    	if (@L5 == @L3) goto Input5;
    	if (@L5 == @L4) goto Input5;
    	mes @L5;
    Input6:
    	input @L6;
    	if (@L6 < 1 || @L6 > 40) goto Input6;
    	if (@L6 == @L1) goto Input6;
    	if (@L6 == @L2) goto Input6;
    	if (@L6 == @L3) goto Input6;
    	if (@L6 == @L4) goto Input6;
    	if (@L6 == @L5) goto Input6;
    	mes @L6;
    	next;
    	mes "[Lottery]";
    	mes "Your numbers are:";
    	mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000";
    	next;
    	menu "Confirm",L_Confirm,"Re-Pick",L_HandPick;
    
    L_Confirm:
    	set #LW1,@L1;
    	set #LW2,@L2;
    	set #LW3,@L3;
    	set #LW4,@L4;
    	set #LW5,@L5;
    	set #LW6,@L6;
    	set #LID,$LID;
    L_Confirm2:
    	mes "[Lottery]";
    	mes "The live broadcasted draw is at 9pm.";
    	mes "You can claim your ticket between then and the next draw.";
    	next;
    	mes "[Lottery]";
    	mes "Good luck!";
    	close;
    
    L_Claim:
    	// CHECKS TICKET VALIDILITY
    	if (#LID != $LID2) goto L_Invalid;
    	// CHECKS HOW MANY NUMBERS MATCHED
    	set @LPrize,0;
    	if (#LW1 == $LW1) set @LPrize,@LPrize+1;
    	if (#LW1 == $LW2) set @LPrize,@LPrize+1;
    	if (#LW1 == $LW3) set @LPrize,@LPrize+1;
    	if (#LW1 == $LW4) set @LPrize,@LPrize+1;
    	if (#LW1 == $LW5) set @LPrize,@LPrize+1;
    	if (#LW1 == $LW6) set @LPrize,@LPrize+1;
    	if (#LW2 == $LW1) set @LPrize,@LPrize+1;
    	if (#LW2 == $LW2) set @LPrize,@LPrize+1;
    	if (#LW2 == $LW3) set @LPrize,@LPrize+1;
    	if (#LW2 == $LW4) set @LPrize,@LPrize+1;
    	if (#LW2 == $LW5) set @LPrize,@LPrize+1;
    	if (#LW2 == $LW6) set @LPrize,@LPrize+1;
    	if (#LW3 == $LW1) set @LPrize,@LPrize+1;
    	if (#LW3 == $LW2) set @LPrize,@LPrize+1;
    	if (#LW3 == $LW3) set @LPrize,@LPrize+1;
    	if (#LW3 == $LW4) set @LPrize,@LPrize+1;
    	if (#LW3 == $LW5) set @LPrize,@LPrize+1;
    	if (#LW3 == $LW6) set @LPrize,@LPrize+1;
    	if (#LW4 == $LW1) set @LPrize,@LPrize+1;
    	if (#LW4 == $LW2) set @LPrize,@LPrize+1;
    	if (#LW4 == $LW3) set @LPrize,@LPrize+1;
    	if (#LW4 == $LW4) set @LPrize,@LPrize+1;
    	if (#LW4 == $LW5) set @LPrize,@LPrize+1;
    	if (#LW4 == $LW6) set @LPrize,@LPrize+1;
    	if (#LW5 == $LW1) set @LPrize,@LPrize+1;
    	if (#LW5 == $LW2) set @LPrize,@LPrize+1;
    	if (#LW5 == $LW3) set @LPrize,@LPrize+1;
    	if (#LW5 == $LW4) set @LPrize,@LPrize+1;
    	if (#LW5 == $LW5) set @LPrize,@LPrize+1;
    	if (#LW5 == $LW6) set @LPrize,@LPrize+1;
    	if (#LW6 == $LW1) set @LPrize,@LPrize+1;
    	if (#LW6 == $LW2) set @LPrize,@LPrize+1;
    	if (#LW6 == $LW3) set @LPrize,@LPrize+1;
    	if (#LW6 == $LW4) set @LPrize,@LPrize+1;
    	if (#LW6 == $LW5) set @LPrize,@LPrize+1;
    	if (#LW6 == $LW6) set @LPrize,@LPrize+1;
    
    	if (@LPrize == 6) goto LWinBig;
    	if (@LPrize > 3 && @LPrize < 6) goto LWinSmall;
    
    // NO WINNER
    	mes "[Lottery]";
    	mes "Bad luck, it appears you do not hold a winning ticket.";
    	next;
    	mes "[Lottery]";
    	mes "Better luck next time!.";
    	close;
    
    // MATCHED ALL SIX
    LWinBig:
    	mes "[Lottery]";
    	mes "You have matched all six numbers!";
    	mes "Jackpot!";
    	mes "You've won ^0000FF" + $L_Prize_Money + "z^000000.";
    	set Zeny, Zeny+$L_Prize_Money;
    	Announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8;
    	set #LID,0;
    	close;
    
    // MATCHED AT LEAST 4
    LWinSmall:
    	mes "[Lottery]";
    	mes "You have matched at least 4 numbers!";
    	mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000.";
    	set Zeny, Zeny+$L_Prize_Money_Small;
    	Announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8;
    	set #LID,0;
    	close;
    
    // NO ZENY
    L_NoZeny:
    	mes "[Lottery]";
    	mes "You can't afford a lottery ticket.";
    	close;
    
    // INVALID TICKET
    L_Invalid:
    	mes "[Lottery]";
    	mes "I'm sorry but it appears that you have an invalid ticket.";
    	close;
    
    // DOUBLE TICKET
    L_DoubleTicket:
    	mes "[Lottery]";
    	mes "It appears that you already have a ticket for today.";
    	mes "You may only purchase one ticket per draw.";
    	close;
    
    L_Cancel:
    	mes "[Lottery]";
    	mes "Come back soon!";
    	close;
    
    // GM MENU (Lets you manually do draws)
    L_GM:
    	menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"[GM]Do Draw Now",-,"[GM]Rig the Lottery",L_GM_Rig,"Cancel",L_Cancel;
    
    	// CHECKS IF LOTTERY IS RIGGED
    	if ($L_Rigged == 1) goto L_Rigged_Draw;
    	// GENERATES RANDOM NUMBERS 1-40
    GMPick1:
    	set $LW1,rand (1,40);
    
    GMPick2:
    	set $LW2,rand (1,40);
    	if ($LW2 == $LW1) goto GMPick2;
    
    GMPick3:
    	set $LW3,rand (1,40);
    	if ($LW3 == $LW2) goto GMPick3;
    	if ($LW3 == $LW1) goto GMPick3;
    
    GMPick4:
    	set $LW4,rand (1,40);
    	if ($LW4 == $LW2) goto GMPick4;
    	if ($LW4 == $LW1) goto GMPick4;
    	if ($LW4 == $LW3) goto GMPick4;
    
    GMPick5:
    	set $LW5,rand (1,40);
    	if ($LW5 == $LW1) goto GMPick5;
    	if ($LW5 == $LW2) goto GMPick5;
    	if ($LW5 == $LW3) goto GMPick5;
    	if ($LW5 == $LW4) goto GMPick5;
    
    GMPick6:
    	set $LW6,rand (1,40);
    	if ($LW6 == $LW1) goto GMPick6;
    	if ($LW6 == $LW2) goto GMPick6;
    	if ($LW6 == $LW3) goto GMPick6;
    	if ($LW6 == $LW4) goto GMPick6;
    	if ($LW6 == $LW5) goto GMPick6;
    
    // BROADCASTS DRAW
    L_Broadcast:
    	Announce "Lottery: Welcome to the special GM's lotto draw!",8;
    	Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
    	Announce "Congratulations to the winners!",8;
    
    // GENERATES DRAW ID CODE
    L_GenID:
    	set $LID2,$LID;
    	// SETS TOMORROW'S ID NUMBER
    	set $LID,rand (100000,999999);
    	close;
    
    // SETS DRAW TO RIGGED NUMBERS
    L_Rigged_Draw:
    	set $LW1,$LR1;
    	set $LW2,$LR2;
    	set $LW3,$LR3;
    	set $LW4,$LR4;
    	set $LW5,$LR5;
    	set $LW6,$LR6;
    	set $L_Rigged,0;
    	goto L_Broadcast;
    
    // ALLOWS GM TO DO A RIGGED DRAW
    L_GM_Rig:
    	mes "[Lottery]";
    	mes "Please pick your numbers (1-40):";
    	set $LR1,0;
    	set $LR2,0;
    	set $LR3,0;
    	set $LR4,0;
    	set $LR5,0;
    	set $LR6,0;
    GMInput1:
    	Input $LR1;
    	if ($LR1 < 1 || $LR1 > 40) goto GMInput1;
    	mes $LR1;
    GMInput2:
    	Input $LR2;
    	if ($LR2 < 1 || $LR2 > 40) goto GMInput2;
    	if ($LR2 == $LR1) goto GMInput2;
    	mes $LR2;
    GMInput3:
    	Input $LR3;
    	if ($LR3 < 1 || $LR3 > 40) goto GMInput3;
    	if ($LR3 == $LR1) goto GMInput3;
    	if ($LR3 == $LR2) goto GMInput3;
    	mes $LR3;
    GMInput4:
    	Input $LR4;
    	if ($LR4 < 1 || $LR4 > 40) goto GMInput4;
    	if ($LR4 == $LR1) goto GMInput4;
    	if ($LR4 == $LR2) goto GMInput4;
    	if ($LR4 == $LR3) goto GMInput4;
    	mes $LR4;
    GMInput5:
    	Input $LR5;
    	if ($LR5 < 1 || $LR5 > 40) goto GMInput5;
    	if ($LR5 == $LR1) goto GMInput5;
    	if ($LR5 == $LR2) goto GMInput5;
    	if ($LR5 == $LR3) goto GMInput5;
    	if ($LR5 == $LR4) goto GMInput5;
    	mes $LR5;
    GMInput6:
    	Input $LR6;
    	if ($LR6 < 1 || $LR6 > 40) goto GMInput6;
    	if ($LR6 == $LR1) goto GMInput6;
    	if ($LR6 == $LR2) goto GMInput6;
    	if ($LR6 == $LR3) goto GMInput6;
    	if ($LR6 == $LR4) goto GMInput6;
    	if ($LR6 == $LR5) goto GMInput6;
    	mes $LR6;
    	next;
    	mes "[Lottery]";
    	mes "Lottery rigged for next draw.";
    	set $L_Rigged,1;
    	close;
    }
    
    

    Hi i would like to ask for a script a lottery script with a custom prize if possible.

     

    Lottery Grand Prize = Thana
    Payment = 20Pcs Event Ticket id# 7711
    1 Ball = 1 pc megaphone id # 12221
    2 Ball = 1 pc event ticket id # 7711
    3 Ball = 5 pcs ygg box id # 14232 Pcs
    4 Ball = 1 Gold Coin id # 7929
    5 Ball = 2 Donation Ticket id # 7179 
    6 Ball Grand Prize = Thana Card id # 4399
     
    Thanks in advance !

     

  4. ok i will try and bump back again thanks !

    i try to change the script location but it doesn't appear i don't have the 529 sprite so i change it to 123.

    
    //===== rAthena Script =======================================
    //= Job Master
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.4
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= A fully functional job changer.
    //===== Additional Comments: =================================
    //= 1.0 Initial script.
    //= 1.1 Fixed reset on Baby job change.
    //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support.
    //= 1.3 Kagerou/Oboro added.
    //= 1.4 Rebellion added.
    //============================================================
    
    prontera,153,193,6 script Job Master 123,{
    function Job_Menu;
    
    mes "[Job Master]";
    if (Class > 4049) {
    mes "No more jobs are available.";
    close;
    }
    if (checkfalcon() || checkcart() || checkriding() || ismounting()) {
    mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding.";
    close;
    }
    if (.SkillPointCheck && SkillPoint) {
    mes "Please use all your skill points before proceeding.";
    close;
    }
    
    set .@eac, eaclass();
    set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class);
    if (.@i > 6 && .@i < 22) {
    if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) {
    set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel;
    mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
    close;
    }
    if (Class > 21) {
    mes "Switch to third class?";
    next;
    Job_Menu(roclass(.@eac|EAJL_THIRD));
    close;
    }
    while(1) {
    mes "Select an option.";
    next;
    set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000");
    if (.@i==3) close;
    mes "[Job Master]";
    mes "Are you sure?";
    next;
    Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD)));
    mes "[Job Master]";
    }
    }
    set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2);
    if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99;
    if (Class == Job_Ninja || Class == Job_Gunslinger) setarray .@exp[0],.@j1,70;
    if (.@exp[0] && .SecondExpanded) {
    if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) {
    set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel;
    mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
    close;
    }
    mes "Switch to "+jobname(.@exp[0])+"?";
    next;
    Job_Menu(.@exp[0]);
    close;
    }
    if (.@eac&EAJL_2)
    if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) {
    mes "No more jobs are available.";
    close;
    }
    if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) {
    if (JobLevel < .JobReq[0])
    mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class.";
    else if (Class == 4001 && .LastJob && lastJob) {
    mes "Switch classes now?";
    next;
    Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER));
    } else switch(Class) {
    case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023);
    case 4001: Job_Menu(4002,4003,4004,4005,4006,4007);
    case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045);
    default: mes "An error has occurred."; break;
    }
    close;
    }
    if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1)
    mes "No more jobs are available.";
    else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1])
    mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class.";
    else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) {
    mes "Switch classes now?";
    next;
    Job_Menu(lastJob+4001);
    } else
    Job_Menu(.@j1,.@j2);
    close;
    
    function Job_Menu {
    while(1) {
    if (getargcount() > 1) {
    mes "Select a job.";
    set .@menu$,"";
    for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
    set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":";
    set .@menu$, .@menu$+" ~ ^777777Cancel^000000";
    next;
    set .@i, getarg(select(.@menu$)-1,0);
    if (!.@i) close;
    if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) {
    mes "[Job Master]";
    mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+".";
    close;
    }
    mes "[Job Master]";
    mes "Are you sure?";
    next;
    } else
    set .@i, getarg(0);
    if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) {
    mes "[Job Master]";
    mes "You are now "+callfunc("F_InsertArticle",jobname(.@i))+"!";
    if (.@i==4001 && .LastJob) set lastJob, Class;
    jobchange .@i;
    if (.@i==4001) resetlvl(1);
    else if (.@i==Job_Baby) resetstatus;
    specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC;
    if (.Platinum) callsub Get_Platinum;
    close;
    }
    if (getargcount() == 1) return;
    mes "[Job Master]";
    }
    end;
    }
    
    Get_Platinum:
    skill 142,1,0;
    switch(BaseClass) {
    case 0: if (Class !=23) skill 143,1,0; break;
    case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break;
    case 2: skill 157,1,0; break;
    case 3: skill 147,1,0; skill 148,1,0; break;
    case 4: skill 156,1,0; break;
    case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;
    case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;
    default: break;
    }
    switch(BaseJob) {
    case 7: skill 1001,1,0; break;
    case 8: skill 1014,1,0; break;
    case 9: skill 1006,1,0; break;
    case 10: skill 1012,1,0; skill 1013,1,0; break;
    case 11: skill 1009,1,0; break;
    case 12: skill 1003,1,0; skill 1004,1,0; break;
    case 14: skill 1002,1,0; break;
    case 15: skill 1015,1,0; skill 1016,1,0; break;
    case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break;
    case 17: skill 1005,1,0; break;
    case 18: skill 238,1,0; break;
    case 19: skill 1010,1,0; break;
    case 20: skill 1011,1,0; break;
    default: break;
    }
    return;
    
    OnInit:
    setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class
    setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class
    set .ThirdClass,0; // Enable third classes? (1: yes / 0: no)
    set .SecondExpanded,0; // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no)
    set .SNovice,45; // Minimum base level to turn into Super Novice
    set .LastJob,1; // Enforce linear class changes? (1: yes / 0: no)
    set .SkillPointCheck,1; // Force player to use up all skill points? (1: yes / 0: no)
    set .Platinum,0; // Get platinum skills automatically? (1: yes / 0: no)
    end;
    }
    

    Found it in Github Credits to Stolao Thanks !

  5. ok i will try and bump back again thanks !


    i try to change the script location but it doesn't appear i don't have the 529 sprite so i change it to 123.

    
    //===== rAthena Script =======================================
    //= Job Master
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.4
    //===== Compatible With: ===================================== 
    //= rAthena Project
    //===== Description: =========================================
    //= A fully functional job changer.
    //===== Additional Comments: =================================
    //= 1.0 Initial script.
    //= 1.1 Fixed reset on Baby job change.
    //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support.
    //= 1.3 Kagerou/Oboro added.
    //= 1.4 Rebellion added.
    //============================================================
    
    prontera,153,193,6 script Job Master 123,{
    function Job_Menu;
    
    mes "[Job Master]";
    if (Class > 4049) {
    mes "No more jobs are available.";
    close;
    }
    if (checkfalcon() || checkcart() || checkriding() || ismounting()) {
    mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding.";
    close;
    }
    if (.SkillPointCheck && SkillPoint) {
    mes "Please use all your skill points before proceeding.";
    close;
    }
    
    set .@eac, eaclass();
    set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class);
    if (.@i > 6 && .@i < 22) {
    if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) {
    set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel;
    mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
    close;
    }
    if (Class > 21) {
    mes "Switch to third class?";
    next;
    Job_Menu(roclass(.@eac|EAJL_THIRD));
    close;
    }
    while(1) {
    mes "Select an option.";
    next;
    set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000");
    if (.@i==3) close;
    mes "[Job Master]";
    mes "Are you sure?";
    next;
    Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD)));
    mes "[Job Master]";
    }
    }
    set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2);
    if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99;
    if (Class == Job_Ninja || Class == Job_Gunslinger) setarray .@exp[0],.@j1,70;
    if (.@exp[0] && .SecondExpanded) {
    if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) {
    set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel;
    mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
    close;
    }
    mes "Switch to "+jobname(.@exp[0])+"?";
    next;
    Job_Menu(.@exp[0]);
    close;
    }
    if (.@eac&EAJL_2)
    if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) {
    mes "No more jobs are available.";
    close;
    }
    if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) {
    if (JobLevel < .JobReq[0])
    mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class.";
    else if (Class == 4001 && .LastJob && lastJob) {
    mes "Switch classes now?";
    next;
    Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER));
    } else switch(Class) {
    case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023);
    case 4001: Job_Menu(4002,4003,4004,4005,4006,4007);
    case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045);
    default: mes "An error has occurred."; break;
    }
    close;
    }
    if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1)
    mes "No more jobs are available.";
    else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1])
    mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class.";
    else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) {
    mes "Switch classes now?";
    next;
    Job_Menu(lastJob+4001);
    } else
    Job_Menu(.@j1,.@j2);
    close;
    
    function Job_Menu {
    while(1) {
    if (getargcount() > 1) {
    mes "Select a job.";
    set .@menu$,"";
    for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
    set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":";
    set .@menu$, .@menu$+" ~ ^777777Cancel^000000";
    next;
    set .@i, getarg(select(.@menu$)-1,0);
    if (!.@i) close;
    if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) {
    mes "[Job Master]";
    mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+".";
    close;
    }
    mes "[Job Master]";
    mes "Are you sure?";
    next;
    } else
    set .@i, getarg(0);
    if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) {
    mes "[Job Master]";
    mes "You are now "+callfunc("F_InsertArticle",jobname(.@i))+"!";
    if (.@i==4001 && .LastJob) set lastJob, Class;
    jobchange .@i;
    if (.@i==4001) resetlvl(1);
    else if (.@i==Job_Baby) resetstatus;
    specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC;
    if (.Platinum) callsub Get_Platinum;
    close;
    }
    if (getargcount() == 1) return;
    mes "[Job Master]";
    }
    end;
    }
    
    Get_Platinum:
    skill 142,1,0;
    switch(BaseClass) {
    case 0: if (Class !=23) skill 143,1,0; break;
    case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break;
    case 2: skill 157,1,0; break;
    case 3: skill 147,1,0; skill 148,1,0; break;
    case 4: skill 156,1,0; break;
    case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;
    case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;
    default: break;
    }
    switch(BaseJob) {
    case 7: skill 1001,1,0; break;
    case 8: skill 1014,1,0; break;
    case 9: skill 1006,1,0; break;
    case 10: skill 1012,1,0; skill 1013,1,0; break;
    case 11: skill 1009,1,0; break;
    case 12: skill 1003,1,0; skill 1004,1,0; break;
    case 14: skill 1002,1,0; break;
    case 15: skill 1015,1,0; skill 1016,1,0; break;
    case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break;
    case 17: skill 1005,1,0; break;
    case 18: skill 238,1,0; break;
    case 19: skill 1010,1,0; break;
    case 20: skill 1011,1,0; break;
    default: break;
    }
    return;
    
    OnInit:
    setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class
    setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class
    set .ThirdClass,0; // Enable third classes? (1: yes / 0: no)
    set .SecondExpanded,0; // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no)
    set .SNovice,45; // Minimum base level to turn into Super Novice
    set .LastJob,1; // Enforce linear class changes? (1: yes / 0: no)
    set .SkillPointCheck,1; // Force player to use up all skill points? (1: yes / 0: no)
    set .Platinum,0; // Get platinum skills automatically? (1: yes / 0: no)
    end;
    }
    
  6. i would like to ask a job changer script like this one.

     

     

    1. Not instant

     

    2. Trans Job and Baby Job and other jobs like ninja taekwon and gunslinger

     

    3. No 3rd Job

     

    For Example:

     

     

    Novice - Swordsman - Knight - High Novice - High Swordsman - Lord Knight

     

     

    Thanks in advance and Godbless !

  7. please post the actual script. thanks.

    prontera,164,165,0script Gold Room 123,{

    mes "Do you want to enter my gold room?";

    menu "Ok",-,"No thanks.",L_No;

    warp "ordeal_3-2.gat",0,0;

    close;

    L_No:

    close;

    }

    // Monsters

    ordeal_3-2,0,0,0,0 monster Dokebi 1110,1000,0,0,0

    ordeal_3-2,0,0,0,0 monster Dokebi 1110,1000,0,0,0

    ordeal_3-2,0,0,0,0 monster Dokebi 1110,1000,0,0,0

    ordeal_3-2,0,0,0,0 monster Dokebi 1110,1000,0,0,0

    ordeal_3-2,0,0,0,0 monster Dokebi 1110,1000,0,0,0

    ordeal_3-2,0,0,0,0 monster Gold Guardian 1439,30,0,0,0

    ordeal_3-2,154,154,0,0 monster Gold Guardian 1439,3,0,0,0

    // Warps

    ordeal_3-2.gat,130,193,0 warp goldroomwrp#1 3,3,ordeal_3-2.gat,154,154

    ordeal_3-2.gat,106,154,0 warp goldroomwrp#2 3,3,ordeal_3-2.gat,154,154

    ordeal_3-2.gat,201,129,0 warp goldroomwrp#3 3,3,ordeal_3-2.gat,154,154

    ordeal_3-2.gat,177,193,0 warp goldroomwrp#4 3,3,ordeal_3-2.gat,154,154

     

     

     

     

     

    this is what im using 

  8. i got a gold room script from here in rAthena and the dokebi drops all items i want to change it to 1 dokebi = 1 gold only here's my script please help me thanks in advance.

     

     

    prontera,164,165,0script Gold Room 123,{
    mes "Do you want to enter my gold room?";
    menu "Ok",-,"No thanks.",L_No;
    warp "ordeal_3-2.gat",0,0;
    close;
    
    
    L_No:
    close;
    
    
    }
    
    
    // Monsters
    ordeal_3-2,0,0,0,0 monster Dokebi 1110,1000,0,0,0
    ordeal_3-2,0,0,0,0 monster Dokebi 1110,1000,0,0,0
    ordeal_3-2,0,0,0,0 monster Dokebi 1110,1000,0,0,0
    ordeal_3-2,0,0,0,0 monster Dokebi 1110,1000,0,0,0
    ordeal_3-2,0,0,0,0 monster Dokebi 1110,1000,0,0,0
    ordeal_3-2,0,0,0,0 monster Gold Guardian 1439,30,0,0,0
    ordeal_3-2,154,154,0,0 monster Gold Guardian 1439,3,0,0,0
    
    
    // Warps
    ordeal_3-2.gat,130,193,0 warp goldroomwrp#1  3,3,ordeal_3-2.gat,154,154
    ordeal_3-2.gat,106,154,0 warp goldroomwrp#2  3,3,ordeal_3-2.gat,154,154
    ordeal_3-2.gat,201,129,0 warp goldroomwrp#3  3,3,ordeal_3-2.gat,154,154
    ordeal_3-2.gat,177,193,0 warp goldroomwrp#4  3,3,ordeal_3-2.gat,154,154
  9. i wanted to request not all but almost all event npc basic event npc with different time i mean they will not be on the same time

     

    Example:

     

    Disguise event after 1 hr dice then disguise then poring event

     

    the item price will be 7711 

     

    thanks in advance :)

  10. can i ask some script for my npc +10 refiner donation that will upgrade any item not ( all ) just any item they like 

     

    don't include the accessories

     

    here's what i'm gonna use.

     

     

    10 pcs of 6101, 7711 and 7179 as payment.

     

    Thanks in advance !


    i need single items only thanks up ! 

×
×
  • Create New...