Jump to content

Lil Troll

Members
  • Posts

    276
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Lil Troll

  1. Smexy update will be finished soon:

    Mailing of Code enabled.
    Referral system:
    -GM can set pool count of referral.
    -GM can set prize for every refered new player. 
    -Cannot refer player with same IP/Account.
    -Changes @claim menu:
     - Refered by friend, Claim Codes
    Easy Deletion of all code.
    Random Auto Generate of code now support 5-15 chars.
    Added Referral Ladder.
    
  2. Yes any armor can be enhanted,if ever what u mean includes headgears i think if it will be to imbalance.. As long as its an armor (cloth, valk armor, diablos armor. Etc,)then yes u can slot am orb with it.

    But if its possible then its ok.... Maybe troll will just put an option to disable the other feature.. That might be great.

    Yeah, I will put equip slot restrictions. I think i should add option where enabling accessories enchantment too. Later ima continue doing the script.

     

    Bump updates. here are the configurations, it has ingame npc built in configuration check.

    OnInit: 									
    // ============== SLOT CONFIGURATIONS =====================================
    	setarray .z,0,	// 0 = 3-Slot Enchant / 1 = 1-Slot Enchant Only
    	            0,	// 0 Enabled Slot Overriding / 1 = Disabled
    	            0;	// 1 = Enable to enchant on first slot / 0 = Disable(Soon to be added!)
    // ============== EQUIPMENT RESTRICTIONS TOGGLE ===========================	
    	      setarray .w,1,	// 1 = Enable Shield Enchanting / 0 Disable
    		 	  1,	// 1 = Enable Weapon Enchanting / 0 Disable
    		  	  1,    // 1 = Enable Mid/Lower Head Enchanting / 0 Disable
    		 	  1,	// 1 = Enable Accessory Enchanting / 0 Disable
    		          1;	// 1 = Enable Armor,Garment,Shoes Enchanting / 0 Disable
    	setarray .b[1],2307,2308,2309,2310;   // Black List of Equipments here:
    // =============== ENCHANTING MODE =========================================
    	set .ma,0;	// 1 = When Fail Armor Break / 0 = Nothing Happens
    	set .m,3;	// Mode: 
    			//0 Normal Enchanting 	// Random
    			//1 Donator Mode	// VIP
    			//2 Special Enchanting	// Specific
    			//3 Normal + Special
    // =============== ZENY COST PER SLOT ======================================
    	setarray .zc,0,		// 1 = Enable Zeny Cost in Enchanting / 0 Disable
    		     1000000,	// 1st Slot Cost
    	             2000000,	// 2nd Slot Cost
    		     3000000,	// 3rd Slot Cost
    		     5000000,	// Special Enchanting 1st Slot
    	             10000000,	// 2nd Slot Cost
    	             150000000;	// 3rd Slot Cost
    // =============== SUCCESS CHANCE PER SLOT =================================
    	setarray .x,70,		// 1st Slot Chance
    	            40,		// 2nd Slot Chance
    	            10,		// 3rd Slot Chance
    	            50,		// Special Enchanting 1st Slot Chance
    	            30,		// 2nd Slot Chance
    	            10;		// 3rd Slot Chance
    // ========= INPUT REQUIRED ID AND ITS AMOUNT ==============================
    // ------------------ NORMAL ENCHANTMENT SETUP -----------------------------
    	setarray .r$,"Enchant Type 1",	// Enchant Type 1 Name
    		     "Enchant Type 2",	// Enchant Type 2 Name
    		     "Enchant Type 3";	// Enchant Type 3 Name
    	setarray .rn,4700,4720,		// Enchant Orbs Type1 (From 4700-4720)
    		     4721,4732,		// Enchant Orbs Type2 (From 4721-4732)
    		     4733,4746;     	// Enchant Orbs Type3 (From 4733-4746)
    // ------------------ REQUIREMENTS SETUP -----------------------------------
    	set .r,0;  // 1 = Requirement is the same as Enchantment Requirement(Not yet done)	
    	setarray .ra[1],501,502,503,504,505;	// Requirements ItemID: 		
    	setarray .rb[1],  1,  1,  1,  1,  1;	// Requirements Amount:	
    // ------------------ PROGRESS BAR SETUP -----------------------------------
    	setarray .rc,1,		// 1 = Enable Progress Bar in Enchanting / 0 Disable
    	             5;		// Enchanting Progress Bar Cast Length in Seconds(5 Recommended)
    

    Now going to start doing the script again, atlast work is done.

     

    Now these are progress:

    Base npc and core is done plus normal enchanting. 

     

    To do:

    Special + Donator Enchanting as per request by karazu.

     

    Please do suggest what features would you like to add in the script while its easy to change the core script.

     

    Am not really good at scripting but am capable of doing things via hard coding(trial and error). :)

  3. Sorry late reply, didnt see your reply earlier doing some other stuff. Anyways is it ok if we add new query for this poll of yours? Instead of using `ragnarok`.`login`? Because login might get messy. Actually cant open your script am receiving "OP Division by zero error" i think because we do have different svn version, anyways try to put this on your script, i think even not trying it should work fine.

     

    I used two things for IP checking, the pool_count, the condition was:

    if (getcharip(strcharinfo(0))==.@lip$ && .@poll==1)

    Search: 

    P_Vote:
    	if ($PQ$[@vote] == "") goto L_Begin;
    	
    	set $PA[@vote],$PA[@vote]+1;
    	set #pollid,$pollid;
    	next;
    	mes "[Poll]";
    	mes "Thank you for your vote!";
    	next;
    	goto L_Begin;
    

    Replace with:

            if ($PQ$[@vote] == "") goto L_Begin;
    	
    	set .@lip$,getcharip(strcharinfo(0));
    	query_sql "SELECT `last_ip`,`poll` FROM `ragnarok`.`poll_system` WHERE `last_ip` = '" + escape_sql(.@lip$) + "'",.@lip$,.@poll;
    	if(getgmlevel()<50) {	// You can remove this if you wanted, it will prevent all non-gm char from re-voting using the same ip.
    		if (getcharip(strcharinfo(0))==.@lip$ && .@poll==1) 
    		mes "Prohibiting voting at same `IP`"; 
    		set #pollid,$pollid; 
    		close;
    	}	// Also it will not restrict any gm from revoting when using other IP's. You can also remove this condition if you wanted.	
    	
    	set $PA[@vote],$PA[@vote]+1;
    	set #pollid,$pollid;
    	set .@poll_count,1;
    	query_sql ("INSERT INTO `ragnarok`.`poll_system` (`last_ip`,`poll`) VALUES ('"+escape_sql(.@lip$)+"','"+escape_sql(.@poll_count)+"')");
    	next;
    	mes "[Poll]";
    	mes "Thank you for your vote!";
    	next;
    	goto L_Begin;
    

    And in the end of the line, after:

    L_Cancel:
    	mes "[Poll]";
    	mes "Adios!!!";
    	close;
    

    Add this line:(Dont replace the above line)

    OnInit:
    	query_sql "CREATE TABLE IF NOT EXISTS `ragnarok`.`poll_system` ( `last_ip` BINARY(9) NOT NULL, `poll` INT(1) NOT NULL DEFAULT '0')ENGINE = MYISAM";
    end;

    Tell me if its not working, alright? :)

  4. playerzxy:
    	mes "["+strnpcinfo(1)+"]";
    	mes "First pick slot you want to be enchanted";
    	set .@m,select("Proceed:Cancel");
    	if(.@m==2) close;	
    	if(.@m==1) {
    	if(.w==0)setarray .@p$[1], "Headgear","Armor","Invalid","Invalid","Garment","Footgear";
    	if(.w==1)setarray .@p$[1], "Headgear","Armor","Weapon","Invalid","Garment","Footgear";
    	if(.w==2)setarray .@p$[1], "Headgear","Armor","Invalid","Shield","Garment","Footgear";
    	if(.w==3)setarray .@p$[1], "Headgear","Armor","Weapon","Shield","Garment","Footgear";
    	set .@m$,"";
    	deletearray .@r;
    	set .@j, 1;
    	for( set .@i,1; .@i <= getarraysize(.@p$); set .@i,.@i+1) {
    		if(.w==2 || .w==3){
    			if ((.@i == 3) && (getiteminfo(getequipid(3),5) == 32) && (getequipisequiped(.@i))) { 
    				set .@m$, .@m$ + .@p$[.@i] + "-" + "[" + getequipname(.@i) + "]";
    				set .@r[.@j], .@i;
    				set .@j, .@j + 1;
    				set .@m$, .@m$ + ":";
    			}
    		}
    		if(getequipisequiped(.@i) && (.@i != 4) && (.@i != 3)) {
    			set .@m$, .@m$ + .@p$[.@i] + "-" + "[" + getequipname(.@i) + "]";
    			set .@r[.@j], .@i;
    				set .@j, .@j + 1;
    			set .@m$, .@m$ + ":";
    		}
    		if ((.@i == 1 || .@i == 3) && (getiteminfo(getequipid(4),5) == 2) && (getequipisequiped(.@i))) { 
    			set .@m$, .@m$ + .@p$[.@i] + "-" + "[" + getequipname(.@i) + "]";
    			set .@r[.@j], .@i;
    			set .@j, .@j + 1;
    			set .@m$, .@m$ + ":";
    			}	
    
    function	ee 	{ return ""+getequipisequiped(getarg(0))+""; }
    function	dd	{ return ""+getitemname(getarg(0))+""; }	
    function	cc	{ return ""+getequiprefinerycnt(getarg(0))+""; }
    function	bb	{ return ""+getequipid(getarg(0))+""; }
    function	aa	{ if(getequipname(getarg(0,0))=="") return "- Empty -";
    			return ""+getequipname(getarg(0))+""; }
    OnInit: 
    	set .w,0;							// 0=Disable Weap/Shield, 1=Enable Weap, 2=Enable Shield, 3=Enable Shield/Weapon.
    	set .m,0;							// Mode: 0 Donator Type Enchanter, 1 Donator+Normal Enchanter
    	set .z,0;							// 0 Enable 3slot enchanting / 1, 1 slot enchanting only.
    	set .v,0;							// Slot overiding, 0 Enabled, 1 Disabled.
    	set .zc,1000000,2000000,3000000;		// Zeny cost per slot.
    	setarray .x,70,40,10;				// 1st slot, 2nd slot, 3rd slot chance.
    	setarray .a,1,2,3,4,5,6,7,8,9,10; 		// Equip Position.
    	setarray .b,2307,2308,2309,2310;		// Blacklist of equips.
    	setarray .ee,501,502,503,504,505;		// Requirements ItemID. 
    	setarray .ea,  1,  1,  1,  1,  1;		// Requirements Amount.
    	setarray .ei,4007,4720;				// Enchant Type 1. Start to End DB, for example 501 to 510.
    	setarray .eo,4721,4732;				// Enchant Type 2.
    	setarray .eu,4733,4746;				// Enchant Type 3.
    

    @icariz im using this one, almost finish this script, doing this stuff after work only i just needed more time. :)

  5. This will be a very good practice to hone my scripting abilites(lvl = 1, Sir patskie, euphy, emistry, capu, liondhart, skorm etc.etc. >= 90++++) . I will make a very customizable enchanter.. Give me time on this ok? :)

  6. It took too long, I do some other stuffs first. I only put marks where you will put condition or dialogues to your npc. I also added 4 new quest npc before you can go to karinaquest. Heres your script, tell me if you need help.

     

    The edited lines:

    // EDIT MAP AND THE LINE NEW NPC QUEST #1
    valkyrie,48,86,4	script	Karinaq1	856,{
    	if(jmk_jmk == 2) {
    		mes "ok, blahblah i need!";
    		next;
    		if(countitem(add ID)){ // condition fulfilled
    			mes "Insert message here";
    			set jmk_jmk,3;
    			close;
    		}
    		if(countitem(add ID)){ // condition not fulfilled
    			mes "Insert messager here";
    			close;
    		}
    	}					
    	else
    	mes "I have no business with you";	// Quest or finished or not yet talk to dialogue
    	close;
    }
    // EDIT MAP AND THE LINE NEW NPC QUEST #2
    valkyrie,48,86,4	script	Karinaq2	856,{
    	if(jmk_jmk == 4) {
    		mes "ok, blahblah i need!";
    		next;
    		if(countitem(add ID)){ // condition fulfilled
    			mes "Insert message here";
    			set jmk_jmk,5;
    			close;
    		}						
    		if(countitem(add ID)){ // condition not fulfilled
    			mes "Insert messager here";
    			close;
    		}
    	}
    	else
    	mes "I have no business with you";	// Quest or finished or not yet talk to dialogue 
    	close;
    }
    // EDIT MAP AND THE LINE NEW NPC QUEST #3
    valkyrie,48,86,4	script	Karinaq3	856,{
    	if(jmk_jmk == 6) {
    		mes "ok, blahblah i need!";
    		next;
    		if(countitem(add ID)){ // condition fulfilled
    			mes "Insert message here";
    			set jmk_jmk,7;
    			close;
    		}
    		if(countitem(add ID)){ // condition not fulfilled
    			mes "Insert messager here";
    			close;
    		}
    	}
    	else
    	mes "I have no business with you";	// Quest or finished or not yet talk to dialogue 
    	close;
    }
    // EDIT MAP AND THE LINE NEW NPC QUEST #4
    valkyrie,48,86,4	script	Karinaq4	856,{
    	if(jmk_jmk == 8) {
    		mes "ok, blahblah i need!";
    		next;
    		if(countitem(add ID)){ // condition fulfilled
    			mes "Insert message here";
    			set jmk_jmk,9;
    			close;
    		}
    		if(countitem(add ID)){ // condition not fulfilled
    			mes "Insert messager here";
    			close;
    		}
    	}
    	else					
    	mes "I have no business with you";	// Quest or finished or not yet talk to dialogue 
    	close;
    }
    //-------------------- EDIT LINE ABOVE
    
    valkyrie,48,86,4	script	Karina	856,{
    mes "[ Karina ]";
    mes "Hello there child, I am Karina.";
    next;
    if(bry_bry >= 1) goto L_kalbo;
    if(countitem(2524) < 1 || countitem(2421) < 1 || countitem(2357) < 1 || countitem(2115) < 1) goto Karina;
    mes "[ Karina ]";
    mes "Good you have the Valkyrie Set if you must know I am the crafter of the Sleipnir.";
    next;
    if(jmk_jmk < 1) goto Karina;
    if(jmk_jmk == 1) goto KarinaQ1;	// DONT CHANGE THIS VARIABLES ITS CHAINED
    if(jmk_jmk == 2) goto KarinaQ2;
    if(jmk_jmk == 3) goto KarinaQ3;
    if(jmk_jmk == 4) goto KarinaQ4;
    if(jmk_jmk == 5) goto KarinaQ5;
    if(jmk_jmk == 6) goto KarinaQ6;    // DONT CHANGE THIS VARIABLES ITS CHAINED
    if(jmk_jmk == 7) goto KarinaQ7;
    if(jmk_jmk == 8) goto KarinaQ8;
    if(jmk_jmk == 9) goto KarinaQ9;	// 1st NPC 2/3 2nd NPC 4/5 3rd NPC 6/7 4th NPC 8/9 = Varible settings. 
    //-------------------------------- EDIT LINE BELOW
    KarinaQ1:
    	mes "Ok, I will give you additional quest now go find this 4 NPC";
    	mes "Edit qdialogues and quest here";
    	next;
    	mes "first go here!"				// First npc quest
    	set jmk_jmk,2;
    	close;
    	
    KarinaQ2:	
    	mes "Go to 2nd npc now!";			// FIRST NPC check QUEST
    	close;
    
    KarinaQ3:
    	mes "well done now go to 2nd npc";		// 1st NPC done, go to 2nd npc
    	next;
    	mes "hes located at.";
    	set jmk_jmk,4;
    	
    KarinaQ4:
    	mes "did you talk to 2nd npc?;		// 2nd NPC check
    	close;
    	
    KarinaQ5:
    	mes "You did great!";				// 2nd NPC DONE
    	next;
    	mes "now go to 3rd npc hes located at";
    	set jmk_jmk,6;
    	
    KarinaQ6:
    	mes "did you talk to 2nd npc?;		// 3nd NPC check
    	close;
    
    KarinaQ7:
    	mes "You did great!";				// 3rd NPC DONE
    	next;
    	mes "now go to 4th npc hes located at";
    	set jmk_jmk,8;
    	
    KarinaQ8:
    	mes "did you talk to 4th npc?;		// 4th NPC check
    	close;	
    	
    KarinaQ9:
    	mes "You did great!";				// 4th NPC DONE
    	next;
    	close2;
    	goto Karinaquest;	// then it will bring you to karina main quest  					
    //-------------------------------- EDIT LINE ABOVE	
    

    The script:

    valkyrie.txt

     

  7. Sorry I haven`t time to finish the script yesterday because it was way too long, gonna fix your script(Did you ever notice that it uses too much global variables? If you wanted me to re-write the whole script I will but give me time, I see lots of Filipino Langues in the script, LOL some of them are funny!) Anyways, now i do continue trying to finish the script. :D Give me time for this. :D

  8. http://rathena.org/board/topic/87286-spooky-npc-refine-event/

    Done! Did some improvement to the npc, did some restriction so that its not abusable and make it only appear and disappear at certain time of you like(So it wont be abused), You can set timer to the npc, i did also add some flavor to the script, sorry i didnt quite make it post yesterday i do have some important arrangements. If you have questions suggestions or what dont be bother to pm me. :)

  9. From topic: http://rathena.org/board/topic/87248-spooky-machine/#entry221966

    Credits to: Core1

    Features:

    /////////////////////////////////////////////////////////////////////////
    //    SPOOKY NPC                                                       //
    //    LIL TROLL//COLDFIRE                                              //
    /////////////////////////////////////////////////////////////////////////
    //    RATHENA SCRIPT                                                   //
    //---------------------------------------------------------------------//
    //    Version 1.1                                                      //
    //    Features:	( REFINE EVENT )				       //
    //    - When a piece of setted item/equip is break he will get prize.  //
    //    - The players can also claim their reward if they wanted their   //
    //      item to be saved and exchange to prize but the prize pool      //
    //      will be demoted to lower refine break prize.                   //
    //    - The piece of equip can be set to a certain chance rate of      //
    //      success or derefine each try.                                  //
    //    - In every min/hour of configuration that is set to the npc      //
    //      it will unhide/hide.                                           //
    //    - Set your own prize, rates, etc., its very easy to configure.   //
    //    - The script uses atcommand "refine" so that random chance       //
    //      can be setted manually, i did not use the                      //
    //      "getequippercentrefinery" because its much easier on this.     //
    //    - Autodelete atcommand garbage of players!                     //
    /////////////////////////////////////////////////////////////////////////
    

    The configurations:

    set .sname$,"[ Spooky Something? ]"; // You can change the name inside the bars.
                  // Dont remove the comas and columns.
    (MUST BE CUSTOM ITEM BOUND FOR BEST RESULT!)
    setarray .s[0],2102, // Change this to what ever item the npc will refine.
                    501,            // +1 Prize when the equip break.        
                    502,            // +2 Prize when the equip break.
                    503,            // +3 Prize when the equip break.
                    504,            // +4 Prize when the equip break.
                    505,            // +5 Prize when the equip break.
                    506,            // +6 Prize when the equip break.
                    507,            // +7 Prize when the equip break.
                    508,            // +8 Prize when the equip break.
                    509,            // +9 Prize when the equip break.
                     510;           // +10 Prize after successful refining of the equip.
    setarray .t[0], 1,              // Amount of item that will refine by the NPC.
                    1,              // +1 Prize amount when the equip break.    
                    1,              // +2 Prize amount when the equip break.
                    1,              // +3 Prize amount when the equip break.
                    1,              // +4 Prize amount when the equip break.
                    1,              // +5 Prize amount when the equip break.
                    1,              // +6 Prize amount when the equip break.
                    1,              // +7 Prize amount when the equip break.
                    1,              // +8 Prize amount when the equip break.
                    1,              // +9 Prize amount when the equip break.
                    1;              // +10 Prize amount after successful refining of the equip.
    setarray .c[0], 80,             // +1 Chance to refine in %.
                    75,             // +2 Chance to refine in %.
                    70,             // +3 Chance to refine in %.
                    65,             // +4 Chance to refine in %.
                    60,             // +5 Chance to refine in %.    
                    55,             // +6 Chance to refine in %.
                    50,             // +7 Chance to refine in %.
                    35,             // +8 Chance to refine in %.
                    20,             // +9 Chance to refine in %.
                    5;              // +10 Chance to refine in %.
    setarray .d[0], 35,             // +1 Fail minus refine %.
                    40,             // +2 Fail minus refine %.
                    45,             // +3 Fail minus refine %.
                    50,             // +4 Fail minus refine %.
                    55,             // +5 Fail minus refine %.    
                    60,             // +6 Fail minus refine %.
                    65,             // +7 Fail minus refine %.
                    70,             // +8 Fail minus refine %.
                    75,             // +9 Fail minus refine %.
                    80;             // +10 Fail minus refine %.
    set .p,3;             // Slot of desired equip that will be to used, see below for detail.
    setarray .gmaid[0],2000000,     // ADD GM ACCOUNT ID HERE.
                       2000002;      // Auto delete @atcommand of players.

     

    [spoiler=Changelogs:]v.1: Initial Release
    v.1.1: Automatically Delete @command logs of non gm char. :)

    [spoiler=Todo:]Finding way how to specifically delete the @command function used in the script of the players. :)

     

    Feel free to suggest, also if you found bugs and error please do report it to me. Have fun using the script!

     

    V.1 Deleted

    V.1.1 spooky_npc.txt

    • Upvote 1
×
×
  • Create New...