Jump to content

celeron0134

Members
  • Posts

    194
  • Joined

  • Last visited

Posts posted by celeron0134

  1. On 7/28/2022 at 3:20 AM, Dolphin86 said:

    i actually have something similar to that and its currently running on my server, but without that fancy graphic.

    can you kindly share your script? thankyou in advance

  2. //Mining Script//
    	
    prontera,156,177,3	script	Mining Ore	1288,{
    
    set .@Auto,1;
    set .@minecast,12;
    if(@mining != 0) goto Dspottaken;
    if(.mining != 0) goto Dstillmining;
    if(countitem(28116) < 1) goto Dnopickaxe;
    if (isequipped(15179)) {	set .@minecast,.@minecast - 2; }
    
    Mine:
    progressbar "ffffff",.@minecast;
    if (rand(1,1000) <= 1){
    setarray .@SRare[0],985,984,7620,7619;
    set .@SRareCatch, .@SRare[rand(getarraysize(.@SRare))];
    getitem .@SRareCatch,1; //Reward
    specialeffect2 EF_TEMP_OK;
    mapannounce strcharinfo(3),strcharinfo(0)+" has caught a "+getitemname(.@SRareCatch)+"!",bc_map,"0xff77ff";
    if(.@Auto==1){
    goto Mine;}else{
    set .mining,0;
    set @mining,0;
    end;}
    }
    
    
    Dspottaken:
    mes "Someone's already mining here";
    close;
    
    Dstillmining:
    mes "Relax , You Are still mining";
    close;
    
    Dnopickaxe:
    mes "I'll be needing a ^008800Pickaxe^000000 for this..";
    close;

    hello  i need a mining script that uses progress bar , but the problems are when you try to move while casting ,  the .@mining and .mining don't go 0 , it stays 1 and i cant talk to the NPC anymore

     

     

     

     

  3. On 9/29/2021 at 12:27 AM, Wazaby said:

    DCMA claims have been made for various reason.

    Gravity does not care if you use blockcain or any other technology. As long as there's a copyright infringement, they can take you down.
    Servers have been taken down on the grounds that they used gravity resources.
    rAthena is an opensouce emulator which was built from scratch. It does not fall under this category. But the client files are gravity owned and the server administrators may use them at their own risk.

    oh okay.. so it's either gravity approves using thier client files or you build the whole client from scratch.. 

     

  4. Hi .. i am sorry if i am in the wrong section to ask..

    But can we use rathena server on Blockchain?

    Is there a possibility that i can be sued by gravity or other companies assossiated with the Official Ragnarok?

    like using Zeny as coins , or using equipments as NFTs .. 

  5. set .OverWrite,0;	// Allows overwriting the already existing option enchantment ( 0 to disable )
     -> It still overwrites the first RandOption
    
    set .OverWrite,1;	// Allows overwriting the already existing option enchantment ( 0 to disable )
     -> It Only Overwrites the first RandOption (Ex if you have 4 options) only the 1st one is being overwritten
    
    set .FailRate,0;	// Sets fail chance
    	-> Still Breaks the Equipment idk why
    
    set .MaxIndex,3;	// Maximum option slots ( default is 0 to 4 )
    	-> Ex. if i add the 1st Option and i have 2 free slots.. there's a time that it will overwrite the 1st option 
    
    Add a Continue or Save Option,, so if you didnt like the option you can discard it
    
    thanks

     

  6. 
    /* item_db.conf
    
    {
    	Id: 1010
    	AegisName: "Phracon"
    	Name: "Phracon"
    	Buy: 200
    	Weight: 200
    	BuyingStore: true
    	Type: 11
    	Script: <" callfunc( "F_RefineSystem",1010,1,0,10,1000 ); ">
    },
    {
    	Id: 1011
    	AegisName: "Emveretarcon"
    	Name: "Emveretarcon"
    	Buy: 1000
    	Weight: 200
    	BuyingStore: true
    	Type: 11
    	Script: <" callfunc( "F_RefineSystem",1011,2,0,10,2500 ); ">
    },
    
    {
    	Id: 984
    	AegisName: "Oridecon"
    	Name: "Oridecon"
    	Buy: 1100
    	Weight: 200
    	BuyingStore: true
    	Type: 11
    	Script: <" callfunc( "F_RefineSystem",984,3,0,10,20000 ); ">
    },
    {
    	Id: 985
    	AegisName: "Elunium"
    	Name: "Elunium"
    	Buy: 1100
    	Weight: 200
    	BuyingStore: true
    	Type: 11
    	Script: <" callfunc( "F_RefineSystem",985,0,0,10,20000 ); ">
    },
    
    */
    
    
    // Usage: (ItemType, must set to 11)
    // callfunc( "F_RefineSystem",1010,1,0,10,1000 ); // Phracon
    // callfunc( "F_RefineSystem",1011,2,0,10,2500 ); // Emveretarcon
    // callfunc( "F_RefineSystem",984,3,0,10,20000 ); // Oridecon
    // callfunc( "F_RefineSystem",985,0,0,10,20000 ); // Elunium
    
    function	script	F_RefineSystem	{
    	.@ore_itemid = getarg( 0,0 );
    	.@level = getarg( 1,0 );
    	.@min_refine = getarg( 2,0 );
    	.@max_refine = getarg( 3,( MAX_REFINE-1 ) );
    	.@zeny = getarg( 4,0 );
    	
    	if ( .@ore_itemid && .@level < 5 ) {
    		for ( .@i = EQI_HEAD_TOP; .@i <= EQI_ACC_R; .@i++ ) {
    			.@fail = 0;
    			
    			.@itemid = getequipid( .@i );
    			if ( .@itemid == -1 ) 
    				.@fail++;
    				
    			.@refine = getequiprefinerycnt( .@i );
    			.@slot = getitemslots( .@itemid );
    			.@itemid_type = getiteminfo( .@itemid,2 );
    			
    			if ( .@itemid_type == IT_ARMOR && .@level > 0 ) 
    				.@fail++;
    			if ( .@itemid_type == IT_WEAPON && ( .@level == 0 || getequipweaponlv( .@i ) > .@level ) )
    				.@fail++;
    				
    			if ( !.@fail )
    				if ( .@refine >= .@min_refine && .@refine <= .@max_refine )
    					.@menu$ = .@menu$ + ( .@refine ? "+"+.@refine+" ":"" ) + getitemname( .@itemid )+" ["+.@slot+"]";
    			.@menu$ = .@menu$ + ":";
    		}
    		.@i = select( .@menu$ );
    		if ( Zeny >= .@zeny ) {
    			Zeny -= .@zeny;
    			delitem .@ore_itemid,1;
    			if ( rand( 100 ) < getequippercentrefinery( .@i ) ) {
    				successrefitem .@i;
    				specialeffect2 EF_REFINEOK;
    			}
    			else {
    				failedrefitem .@i;
    				specialeffect2 EF_REFINEFAIL;
    			}
    		}
    		close;
    	}
    	
    	return;
    }

    so when an equipment is already +10 and you accidentally clicked the +10 .. it will break the +10 equipment how to solve this thanks

  7. prontera,244,55,4	script	Freebies	718,{
    if( !#Freebies ){
    set #Freebies,1;
    mes "Welcome to MyServerNameHere, Here are your start items!";
    mes "You only get this once for each account!";
    getitembound 31957,2,1;
    end;
    }else{
    mes "You have claimed the Reward already.";
    end;
    
    OnInit:
    waitingroom "Freebies",0;
    end;
    }
    }

    hello kindly help me adding class check and level check on this NPC

    	set .@maxbase, 99;
    	set .@maxjob, 50;
    	setarray .@rewardablejobs[0], Job_Knight, Job_Alchemist, Job_Assassin, Job_Bard, Job_Blacksmith, Job_Crusader, Job_Dancer, Job_Hunter, Job_Monk, Job_Priest, Job_Rogue, Job_Sage, Job_Wizard;

     

  8. When a character reached 99/50 talk to this NPC with a pub saying level 99 rewarder

    1. Trans Characters can't talk to this NPC ( only 2ndJobs no extended jobs except for super novice )

    2. Per Job Class ( so that all class are usable in game , ) example if(knight = lvl 99) getitem 501,1 & 502,1.. if(monk = lvl 99 getitem 503,1 & 504,1)

    it will be different rewards for each class who reached 99

    3. there is no limit but you can't repeat if you already claimed your rewards.. tho if you make another 99 again on your account.. you can still claim the rewards

    4. Announce to the whole server if you claimed the Reward,, also announce to the Whole Server if someone reaches 99

    thanks 

     

  9. On 2/3/2021 at 10:41 PM, botka4aet said:

    add script

    Something like this

    
    if getmapxy(map,tx,ty) !=0 close;
    If x0<tx<x1 and y0<ty<y1 - potion effect
    else getitem id,1; - return used item

     

    example please.. 

    try with these ..

    red potion,501,,,,,,,,,,,,,,,,,,,,,,{ calfunc "potion" },{},{}
    
    
    -	function	potion,{

     

  10.  is it possible .. for example.. you own kriemhld.. 

    you'll get stats or skills ..

    
    setarray .guildmaps,prtg_cas01,prtg_cas02,prtg_cas03,prtg_cas04,prtg_cas05,
    if(strcharinfo(2) = owner of 1 of the castles on .guildmaps)
    	bonus hprate 10%
    	skill AL_HEAL,10
    close;
    
    if the your guild was captured by another guild..
    	removes guild effects on you..
    close;
    
    yeah something like this

     

  11. On 1/31/2021 at 9:50 AM, Poring King said:

    Then just simple add some 

     

    
        // Check if there is someone talking to NPC
    	if (.Talk >1){
            end;// End if you don't want to show dialog just disable player to talk
        }
    	if (.@n == 1)
    	mes "["+ strnpcinfo(0) +"]";
    	set .Talk,(.Talk+1);
    	mes "Congrats you are now in front of me";
    	close;
    	}else{
    		npctalk "Too many people in front of me, only one person will be teleported in next 10 minute.";
    	end;
    
    OnInit:
    		set .Talk,0;
    		end;

     

    the problem here is when you're on the Specified Cell,, and not talking on the NPC .. other players can still talk to the NPC

     

      something like this .. 
    	if ((.@n == 1) && (strcharinfo(0) != .@n))
    	mes "someone is on front of me";
    	mes "and i am waiting for him/her to talk to me";
    	mes "wait till the player leave the cell";
    	end;

     

    also.. if i use

    
    
    switch(select("Let's Talk:Leave")) {
    	case 1:
    		mes"congrats we talked";
    		end;
    }
    	close;
    }

    and clicked the cancel button on the window.. instead of the switch(Leave)

    .talk will always be 1 .. meaning it will always be .talk >1

    	if (.Talk >1){
            end;// End if you don't want to show dialog just disable player to talk
        }

     

    is this impossible?? hmm.. i tried

     

    if ((.@n == strcharinfo(o)) 
    if ((.@n == BL_PC) 
    if ((.@n == getcharid(0)) 
    

    still failed

  12. @Litro Endemic tried the 3rd script.. the problem is you can still talk to the NPC when you are not in the cell.. but it shows a pattern on which you can talk to the NPC.. a Plus (symbol) Cells from the allowable Cell.. meaning if you are on the left, right, up and down from the point where the Allowable Cell is located.. 

     

    capture(4).png

     

    @Litro Endemic

    quiz_02,246,374,4	script	Auto Warper	112,{
    
    	.@n = getareausers("quiz_02", 246, 372, 246, 372);
    
    	if (.@n < 1) {
    	mes "["+ strnpcinfo(0) +"]";
    	mes "Please stand in front of me to be warped";
    	close;
    }
    
    	if (.@n == 1)
    	mes "["+ strnpcinfo(0) +"]";
    	mes "Congrats you are now in front of me";
    	close;
    	}else{
    		npctalk "Too many people in front of me, only one person will be teleported in next 10 minute.";
    	end;
    
    }

     

    Now the 1st script works - the only problem if im on the specified cell .. other players outside the cell can now talk to the NPC

  13. 3 hours ago, alexander03 said:

    thank u sir for reply, i jut confuse of this numbers 

    
    ",100,3000,"SU_TUNAPARTY" // that means 10percent chance right ? is there any way to remove the chance so it will work as what item info said?
    
    
    specialeffect2 EF_ENHANCE // and where did u get this EF_ENHANCE sir how do can i define specialeffect??
    
    sorry for lazy question sir but i want to know more :) thnk u sir very much
    

     

    https://github.com/rathena/rathena/blob/master/doc/effect_list.txt  ( effect list)

    go to your item_db.txt ( i do search it here ctrl + F then find " EF_ " 

  14. 1 hour ago, alexander03 said:

    can i ask 1 more sir? how about this how to script this ??? last 1 sir

    If its refine level is 10 or above, Perfect Dodge +100 for 3 sec when using [Tuna Party].

    try 

    1201,Knife,Knife,5,50,,400,17,,1,3,0x3E9F7EEF,7,2,2,1,1,1,1,{ if(getrefine()>=9){ autobonus3 "{ bonus bFlee2,100; }",100,3000,"SU_TUNAPARTY","{ specialeffect2 EF_ENHANCE; }"; },{},{}

     

  15. On 1/28/2021 at 8:40 PM, botka4aet said:
    
    quiz_02,238,379,5	script	Healer NPC	811{
    
    IF (getmapxy (" quiz_02 ", 237,378) != 0) {
    
    mes "-You too far from NPC and can't talk-"; close;
    
    }
    
    .cell = getareausers(" quiz_02 ", 237,378, 237,378);
    
    if(.cell > 1) {
    	mes "wait a second, there's two of you standing on front of me";
    close2;
    	warp ( "quiz_02", 246,376 )
    	}
    else{
    	specialeffect2 EF_HEAL2;
    	percentheal 100,100;
    close2;
    sleep2 60000;
     IF (getmapxy (" quiz_02 ", 237,378) = 0) {
    warp quiz_02 246,376;
    }
    
    }
    end;
    
    }

    thanks ill try this.. but suddenly my map server crashes idk what happened.. i tried to disable all the NPCs on the custom.conf and still map server crashes

    @botka4aet im getting errors..  simple errors at first like unmatched ")" , needs ; or ,   but at the end  

    [warning] script: buildin_getmapxy mapname is not a variable .. unexpected type of argument.. kindly fix the script thanks

    @botka4aet any update to this?? script not working

  16. 2 hours ago, Poring King said:

    My bad . If im gonna do this i will use ontouch not tested but i hope you will get the idea if its not working if im gonna test this i can fix this on a decent code 

     

    
    prontera,x,y,3	script	Healer	99,1,1{
    
    OnTouch:
    	if (.Talk == 1 ){
    		mes "Sorry someone already using my service";
    		end;
    	}
    	set .Talk,(.Talk +1);
    	set #started, 1;
    	initnpctimer;
    	end;
    
    
    OnTimer60000:// Add points Every Minute	
    				if (checkvending() >= 1 ) {
    					dispbottom "Healing Time stopped because you were vending. Talk to me if you wish to start again.";
    					set #started, 0;
    					stopnpctimer;
    					end;
    				}
    				if (checkchatting() == 1 ){
    					dispbottom "Healing Time stopped because you were not talking. Talk to me if you wish to start again.";
    					set #started, 0;
    					stopnpctimer;
    					end;
    				}
    				if (checkidle()>=.idlelimit){
    					dispbottom "Healing Time stopped because you were idle. Talk to me if you wish to start again.";
    					set #started, 0;
    					stopnpctimer;
    					end;
    				}
                    dispbottom "Your healing time has been started!";
                    specialeffect2 EF_HEAL2;
                    percentheal 100,100;
    				end;
    
    OnInit:
    	stopnpctimer;
    	set .Talk,1;
    	end;
    }

     

    the Ontouch: function still lets you use the NPC even you are far away from the NPC..  also on Ontouch you can be any 1 cell around the NPC.. it should be on a specific cell ... is there a script command for check cell? check cell users? and function for a specific cell? 

  17. On 1/28/2021 at 12:36 PM, Poring King said:

    Use areawarp to create a specific cell 

    Guide

    
    *areawarp "<from map name>",<x1>,<y1>,<x2>,<y2>,"<to map name>",<x3>,<y3>{,<x4>,<y4>};
    
    This command is similar to 'warp', however, it will not refer to the invoking
    character, but instead, all characters within a specified area, defined by the
    x1/y1-x2/y2 square, will be warped. Nobody outside the area will be affected,
    including the activating character, if they are outside the area.
    
    	areawarp "place",10,10,120,120,"place2",150,150;
    
    Everyone that is in the area between X 10 Y 10 and X 120 Y 120, in a square
    shape, on the map called "place", will be affected, and warped to "place2" X 150
    Y 150
    
    	areawarp "place",10,10,120,120,"place2",0,0;
    
    By using ,0,0; as the destination coordinates it will take all the characters in
    the affected area to a random set of co-ordinates on "place2".
    
    	areawarp "place",10,10,120,120,"place2",150,150,200,200;
    
    By using the optional x4 and y4 parameters, the destination coordinates will be a
    random place within the defined x3/y3-x4/y4 square.
    
    Like 'warp', areawarp will also explicitly warp characters randomly into the
    current map if you give the 'to map name' as "Random".


     

    Areawarp will warp all players .. what i need is for example.. Healer NPC --- to be able to use heal you need to be in front of the Healer NPC which is "that" specified Cell so when you go to that Specified Cell you can use the Healer NPC.. another thing is when another player is already on the Specified cell and you want to use the Healer NPC.. you have to wait X minutes "OR" wait for the Specified Cell to be empty

     

    this is the example code i tried to explain

    quiz_02,238,379,5	script	Healer NPC	811{
    
    if(checkcelluser(.cell) = 1 ) {
    	mes "Wait for 1 min , i am healing someone";
    	close;
    
    if(checkcelluser(.cell) = 2) {
    	mes "wait a second, there's two of you standing on front of me";
    	warp the last player who tries to enter the specified cell ( quiz_02 246,376 )
    	
    if(checkcelluser(.cell) = 0 ) {
    	mes "Hello there i will be able to heal you";
    	mes "but please do come in front of me";
    	close;
    
    if(checkcelluser(.cell) = 1 & it is strcharinfo(0) or the invoking character
    		specialeffect2 EF_HEAL2;
    		percentheal 100,100;
    
    OnTimer60000: (Anti AFK)
    	if checkcelluser(.cell) = the character who is currently using the cell
    	mes " alright you have used your time";
    	mes " i will be warping you "; 
    	warp quiz_02 246,376;
    
    OnTimer2500: (updates the cell every 2.5 secs for cellcount)
    	update checkcelluser(.cell)
    	if cellcount(.cell) == 1 {end}
    	if cellcount(.cell) == 2 {goto the 2nd if(<condition>)
            
    
    Oninit:
    	set .cell,quiz_02,238,379;
    	
    end;
    }

     

  18. Hii good day.. is there a way for example the NPC is located at quiz_02 238 379.. and this NPC will only work if you are only on this cell - quiz_02 237 378 .. if you are outside of the cell you can still click the NPC but it will just say that you need to be in front of me,,  and count players on the cell.. only 1 player at a time can be on the cell with a time limit of 10mins after 10 mins warp to quiz_02 246 376

     

    NPClocation - quiz_02 238 379

    CellworkAllow - quiz_02 237 378

    Checkcellusers - 1 per cell.. if 2 warp player on quiz_02 246 376

    if not on CellworkAllow - mes"you need to be in front of me";

    if you are on CellworkAllow && if checkcellusers = 1 mes"i am talking to someone right now try again later";

    Celltimelimit - 10minutes - On10mins

    On10mins - mes"ok enough talk i will be warping you now" - warp quiz_02 246 376

    end; =D

     

     

  19. 5 hours ago, Radian said:

    Based on what im seeing there's no item reward given only the title (1029) which will directly activate once you claim it on the achievement window.

    yeah but i can't collect it at first.. so i was confused.. found out that i need to update my system/achievement_list.lub

  20. 5 hours ago, Radian said:

    Are you trying to call a function on a player picking loots and will automatically equipped?

    thx for the reply.. but no.. im trying to make a script for enchantment

    anyways i did figure it out.. using cases.. thanks a lot tho for giving attention to my question

     

×
×
  • Create New...