Jump to content

ahloi007

Members
  • Posts

    78
  • Joined

Posts posted by ahloi007

  1. On 8/3/2021 at 3:37 AM, cook1e said:
    prontera,155,173,5	script	Healer	123,{
    .@Price = 1000; // Zeny Cost
    
    mes "[Healer]";
    mes "Hello " + strcharinfo(0) + ".";
    mes "What you want?";
    next;
    	switch(select("Free Healer:Paid Healer"))
    	{
    		case 1:
    			mes "[Healer]";
    			mes "You only will get Heal.";
    				switch(select("Yes, please.:No, thanks."))
    				{
    					case 1:
    							specialeffect2 EF_HEAL2;
    							percentheal 100,100;
    							close;
    					case 2:
    							mes "As you wish.";
    							close;
    				}
    		case 2:
    			mes "[Healer]";
    			mes "Paid Healer will give you Heal + Buffs.";
    				switch(select("Yes, please.:No, thanks."))
    				{
    					case 1:
    						if (Zeny < .@Price) end;
    							specialeffect2 EF_HEAL2;
    							percentheal 100,100;
    							specialeffect2 EF_INCAGILITY;
    							sc_start SC_INCREASEAGI,240000,10;
    							specialeffect2 EF_BLESSING;
    							sc_start SC_BLESSING,240000,10;
    							Zeny -= .@Price;
    							close;
    					case 2:
    							mes "As you wish.";
    							close;
    				}
    		}
    }

     

    Thanks for your reply! I will try it when I reach home! Very appreciated ☺️

    Thanks for the script!

  2. On 6/28/2021 at 12:35 PM, Start_ said:

    rAthena using YAML format for item_db right now.

    Please edit on item_xxx.yml files.

    @Start_Okay, any simple guide for me to convert current db txt to yaml?

    Because Im just a learner even though I joined rAthena in a very long time ?

     

    On 6/28/2021 at 1:21 PM, hannicaldummy said:

    If is an old revision without the yaml format maybe is in your shop script, for example: Gold - 969:100000 <ITEM_TD>:<PRICE>

    @hannicaldummy If I'm not mistaken, I didnt edit any shop script.

  3. Hi rAthena!

    Good Day.

    I'm facing a problem due to the item selling price to npc not same as I set.

    This items were chosen from my item_db.txt (example)

    968,Voucher_Of_Orcish_Hero,Heroic Emblem,3,3000,,10,,,,,,,,,,,,,{},{},{}
    969,Gold,Gold,3,200000,,0,,,,,,,,,,,,,{},{},{}

    but output in game was like this

    error.png.484b6e422aa0c8fe56a3f5cb94cab160.png

     

    is this normal?

     

    Please move me to the correct section If I post it wrong at here.

  4. On 4/12/2021 at 12:08 PM, Poring King said:

    Check your files if there is a moc_para01.bmp maybe it store on different place .

    I checked my data.grf and rdata.grf as well.
    moc_para01.bmp not found or maybe it has another name?

    @Poring King

  5. On 6/18/2021 at 10:50 AM, Start_ said:

    It could be

    -Wrong file position or it's located on data folder

    -Wrong file edited

    -Check grf order on DATA.INI

     

    Try change many file and see how it goes.

    I have check all the file many time as possible, but I couldn't found any problem on it because I have searched at rathena and followed the way to edit the skill describe table >>> skilldesctable.txt <<< Hmmm....

    On 6/19/2021 at 10:49 AM, JinYuichi said:

    put the file you edited in the first grf in your data.ini list example
    1=first.grf <--- here you are going to put the file you edited to be read by the client 
    2=second.grf

    Yes, I did with the correct way. But nothing change in game.. any idea?

  6. Hi rAthena, good day!

    I'm facing a problem as below:

    GD_EXTENSION#
    Guild Extension
    Max Level: 10
    Skill Form: ^6666CCPassive ^000000
    Description: ^777777Increase the maximum capacity of guildsmen by +1 per SkillLV. ^000000
    [Level 1]:^777777 +1 people ^000000
    [Level 2]:^777777 +1 people ^000000
    [Level 3]:^777777 +1 people ^000000
    [Level 4]:^777777 +1 people ^000000
    [Level 5]:^777777 +1 people ^000000
    [Level 6]:^777777 +1 people ^000000
    [Level 7]:^777777 +1 people ^000000
    [Level 8]:^777777 +1 people ^000000
    [Level 9]:^777777 +1 people ^000000
    [Level 10]:^777777 +1 people ^000000
    #

    I have edited the skill description and uploaded to the server grf. When I login to the game and check for the updates, the skill description doesn't make any change.

    rathenahelp.jpg.cc77a8bc093c729ccfbeac85cfa4dd57.jpg

    Please let me know what steps I have missed out or the way I made it was wrong. 

    Thank you very much for your time to look at this post. If you know how to solve this kind of problem please teach me to do so.

    P/S: Please move to the correct section if I post it wrongly here.

  7. On 7/25/2020 at 1:24 PM, Poring King said:

    First solution for this kind of error is to update your kRO so your data and rdata will keep upto date. If you still having that kind of error let me know . 

    You can update your KRO just download the KRO and KRO RE

     

    @Poring King Hi, I have update the kRO & kRO RE but I still can't get the map moc_para01.bmp, any idea?

  8. 3 hours ago, Royr said:

    Please try this:
     

    
    // Scripted by : Royr
    // Description : Simple Cash Converter
    // Topic: https://rathena.org/board/topic/127558-facing-problem-with-the-coin-to-cash-exchanger-npc/
    prontera.gat, 150, 150, 4	script	Cash Converter	4_M_01,{
    
    	mes .@name$ = "[ ^FF0000Cash Point Converter^000000 ]";
    	mes "Welcome! Player "+strcharinfo(0)+".";
    	mes "Total Balance: ^FF0000"+F_InsertComma(#CASHPOINTS)+"^000000 Cash Points";
    	dispbottom "You have Total Balance of: ^FF0000"+F_InsertComma(#CASHPOINTS)+"^000000 Cash Points";
    	next;
    	switch( select( implode(.menu_options$, ":") ) ) {
    	case 1:
    		mes .@name$;
    		mes "^0000FF"+.ItemName$+"^000000 will ^ff0000NOT TO BE REFUND^000000 after converted to ^FF0000Cash Points^000000.";
    		mes "How many Gold Coin do you want to exchange?";
    		mes " ";
    		mes "^ff0000Note^000000: "+.qty+" x ^0000FF"+.ItemName$+"^000000 equivalent to 200 ^FF0000Cash Points^000000.";
    		next;
    		input .@amount;
    		if( .@amount < 40 || .@amount > countitem(.itemID) ) {
    			mes .@name$;
    			mes "That's an Invalid amount.";
    			mes "Please try again.";
    			close;
    		}
    		mes .@name$;
    		mes "Are you sure you want to exchange "+.@amount+" x ^0000FF"+.ItemName$+"^000000 to 200 ^FF0000Cash Points^000000?";
    		next;
    		if( select(" - Yes: - No") == 2 ) close;
    			mes .@name$;
    			mes "You have successfully exchanged "+ .ItemName$ +" to Cash Points.";
    			mes "You have your new balance "+ F_InsertComma(#CASHPOINTS) +" ^FF0000Cash Points^000000.";
    			delitem .itemID, .@amount;
    			#CASHPOINTS = #CASHPOINTS + ( .@amount * 5 );
    			dispbottom "Your new balance is now : "+ F_InsertComma(#CASHPOINTS) +" Cash Points";
    			close;
    	case 2:
    		mes .@name$;
    		mes "Alrighth then! You can come back anytime.";
    		close;
    	}
    
    OnInit:
    	.itemID = 7517;
    	.qty = 40;
    	.ItemName$ = getitemname(.itemID) +"";
    
    	setarray .menu_options$[0],
    	"- Exchange ^0000FF"+.ItemName$+"^000000 to ^FF0000Cash Points^000000",
    	"- Cancel";
    	end;
    }

     

    Cash_Converter.txt 1.9 kB · 0 downloads

    Thanks for your reply @Royr

    this is great!! I like it !

    Very appreciated!!

    Can I know is it possible to make it 30 Gold Coins = 200 Cash Points?

    I found out the script format was like 40 Gold Coins x 5 cash points = 200 cash point, am I right?

    Just wonder can it be like:

    delitem .itemID, .@amount 30;
    #CASHPOINTS = #CASHPOINTS + ( .@amount 200 );

    Im trying to learn with the script, hope you don't mind what I am asking. xD

     

    And I also found out there was an error on the new balance shown in the npc.

    You can find out in the picture chatlog shown new balance was 1500 cash points. but the new balance in npc was shown out with 1300 cash points.

    Untitled.jpg.c2c52257ca1b2acf325656f30e8e609d.jpg

  9. prontera,150,150,4	script	Converter	83,{
    	.@name$ ="[^FF0000Cash Point Converter^000000]";
    
    	mes .@name$;
    	mes "Welcome, "+strcharinfo(0)+"!";
    	mes "You currently have ^ff0000"+#CASHPOINTS+"^000000 Cash Points";
    	next;
    
    	mes .@name$;
    	mes "How can I help you?";
    	menu "Exchange Gold Coin to Cash Point", L_GTC, "Cancel", L_Cancel;
    
    L_GTC:
    	next;
    	mes .@name$;
    	mes "Gold Coin will ^ff0000NOT TO BE REFUND^000000 after converted to Cash Points.";
    	mes "Please keep that in your mind";
    	next;
    	mes .@name$;
    	mes "How many Gold Coin do you want to exchange?";
    	mes "^ff0000Note^000000: 30 Gold Coin currently 200 Cash Point";
    
    	input .@count;
    	if (.@count == 0) close;
    	if (countitem(7517) < .@count*30) goto L_Noitem;
    	delitem 7517,.@count*30;
    	set #CASHPOINTS, #CASHPOINTS + ( .@count*200 );
    
    	close;
    
    
    L_Noitem:
    
    	next;
    	mes .@name$;
    	mes "Sorry you dont have enough of Gold Coin";
    	close;
    
    L_Cancel:
    	mes .@name$;
    	mes "No problem, Come back again";
    	close;
    
    	end;
    
    }

    Hi rAthena, this is the NPC script that I refer from some where else(I forgot the scripter name***)

    I try to make it like 30 Gold coins to 200 Cash points, but at the end it doesn't function well.

    No cash obtain, even I have 30 Gold Coins for the exchange.

    Anyone could guide me the way to solve this problem?

    Addon:

    How to show out the amount of cash points gained from and npc in the chat log?

    Untitled.jpg.8c09a96e642b13fed1fe95d1ddc20b67.jpg

    Thank you, and sorry for my bad english!

  10. Hi rAthena, happy day

    I would like to request a floating rate script or maybe can call as it Boost rate script.

    After searching all floating rate script at the rathena non of it meet my needs.

    I do also try to edit the script but yeah ! I failed !

    So what I want in the script:

    1. Boost rate auto start on Saturday & Sunday 9am and 9pm, auto off on 11am and 11pm

    (I know there is OnSat0900 and OnSun2100 but there is no OffSat1100 and OffSun2300, So what I have tried was just On but cant Off)

    2. Fix Rate boost up to :

    -Base exp : 60x ( up to 75x )

    -Job exp : 60x ( up to 75x )

    -Normal drop : 20x ( up to 30x )

    -Normal Card drop : 20x ( up to 30x )

    -Boss Drop : 20x ( up to 30x )

    -Boss Card Drop : 2.5x ( up to 3.5x )

    -MVP Drop : 10x ( up to 20x )

    -MVP Card Drop : 10x ( up to 3.5x )

    3. Announcement made 10min before Boost rate start/End and announcement when Boost rate start/end.

    4. Shown out the Boost rate on the chat log something like this.

    =================

    Current Rate: 75x 75x 30x

    =================

    4. Easy setup ( because Im new to this, just know some basic scripting )

     

    Once again, thanks for your time to read my post.

    Very appreciated if someone could help me on this!

     

     

     

  11. Quote

    In file included from atcommand.cpp:10623:0:
    ../custom/atcommand.inc: In function 'int atcommand_storeit(int, map_session_data*, const char*, const char*)':
    ../custom/atcommand.inc:48:18: error: 'struct mmo_charstatus' has no member named 'inventory'
       if (sd->status.inventory.amount) {
                      ^
    ../custom/atcommand.inc:49:18: error: 'struct mmo_charstatus' has no member named 'inventory'
        if(sd->status.inventory.equip == 0)
                      ^
    ../custom/atcommand.inc:50:43: error: 'struct mmo_charstatus' has no member named 'inve ntory'
         storage_storageadd(sd,  i, sd->status.inventory.amount);

    Where should I have change on it?

    Please guide me

     

    Hi rathena!

    I was adding @Akinari "@storeit"  to my server. But I got error when I was recompile it. Anyone could help me on that?? I'm still learning on it.

    Quote

    /*==========================================
     * @storeit
     * Put everything not equipped into storage.
     *------------------------------------------*/
    ACMD_FUNC(storeit) {

        int i;
        nullpo_retr(-1, sd);

        if (sd->npc_id)
        {
            clif_displaymessage(fd, "You cannot be talking to an NPC and use this command.");
            return -1;
        }

        if (sd->state.storage_flag != 1)
          {    //Open storage.
            switch (storage_storageopen(sd)) {
            case 2: //Try again
                clif_displaymessage(fd, "Run this command again..");
                return 0;
            case 1: //Failure
                clif_displaymessage(fd, "You can't open the storage currently.");
                return -1;
            }
        }
        for (i = 0; i < MAX_INVENTORY; i++) {
            if (sd->status.inventory.amount) {
                if(sd->status.inventory.equip == 0)
                    storage_storageadd(sd,  i, sd->status.inventory.amount);
            }
        }
        storage_storageclose(sd);

        clif_displaymessage(fd, "It is done");
        return 0;
    }

    this is the commands I added to src/custom/atcommand.inc

    Quote

    ACMD_DEF(storeit),

    And this is where I added to src/custom/atcommand_def.inc

     

    After I recompile my server:

    error.thumb.png.d23e3843a64355dc9dbbf9d87f8c0ea7.png

    Anyone could guide me on this?

    Im sorry if I posted on the wrong section , Please move me to the right one. Thanks!!!

  12. Good Day rAthena!

    May I request a npc called Card trader?

    I have search at the Browser but all not suit my needs.

    Function:

    -5 cards from normal mobs as (Input) and rewards 1 Old Card Album as (Output). Mini-boss/mvp cards are excluded

     

    Main reason I need this is to help player recycle those unused cards.

    Sorry about that I cant write myself a expert npc script, but still in learning!

    Can you make me the script, I can add on the card I need.

    Waiting for your reply!

    Thank you very much!

     

    Sorry for my bad english!

  13. 18 hours ago, kodkodkub said:
    
    mes "are you sure you want to copy "+ .skill$[.@menu * 3] +"?";
    	mes "you'll need to pay ^ff000015,000 Zeny^000000 and relogin again";
    	next;
    	if ( select ( "Yes", "No" ) == 2 ) close;
    	if ( Zeny < 15000 ) {
    	mes "You dont have enough zeny";
    	mes "Please come back later";
        close; }
    	Set Zeny, Zeny - 15000;
    	.@text$ = atoi( .skill$[.@menu * 3 +2] ) > 1 ? "-" + .skill$[.@menu * 3 +2] : "" ;

    sleepy rn but you can try this

    Thanks! it is working! ^-^

  14. Hi rAthena!

    Can guide me the way to add on zeny require in Plagiarism Npc?

    Example: if you wanna copy a skill, you have to pay 15,000 zeny for the process to skill copy. If no zeny, please come back again with enough of Zeny.

    I'm new to this and still learning on it.

    I'm using this script that found on rathena : -

    prontera,208,227,4	script	Plagiarism NPC	779,{
    	mes "select which skill you want to be copy, your existing one will be overwrite";
    	next;
    	set .@menu, select(.menu$) -1;
    	if ( getskilllv(.skill$[.@menu * 3 +1]) ) {
    		mes "you already copied that skill";
    		close;
    	}
    	mes "are you sure you want to copy "+ .skill$[.@menu * 3] +"?";
    	mes "you'll need to pay ^ff000015,000 Zeny^000000 and relogin again";
    	next;
    	if ( select ( "Yes", "No" ) == 2 ) close;
    	.@text$ = atoi( .skill$[.@menu * 3 +2] ) > 1 ? "-" + .skill$[.@menu * 3 +2] : "" ;
    	mes "choose a level (1" + .@text$ + ")";
    	if ( input( .@input, 1, ( atoi( .skill$[.@menu * 3 +2] ) > 1 ? atoi( .skill$[.@menu * 3 +2] ) : 1 )) != 0 ) {
    		mes "wrong level";
    		close;
    	}
    	set CLONE_SKILL, atoi( .skill$[.@menu * 3 +1] );
    	set CLONE_SKILL_LV, .@input;
    	atcommand "@kick "+ strcharinfo(0);
    	end;
    
    OnInit:
        setarray .skill$,
        "Fire Bolt", 19, 10,
        "Cold Bolt", 14, 10,
        "Lightning Bolt", 20, 10,
    	"Jupitel Thunder", 84, 10,
    	"Lord Of Vermillion", 85, 10,
    	"Storm Gust", 89, 10,
    	"Meteor Storm", 83, 10,
    	"Spear of Ice", 537, 10,
    	"Raging Fire Dragon", 536, 5,
    	"Triple Attack", 263 ,10;
        set .@skillsize, getarraysize(.skill$);
        for ( set .@i,0; .@i < .@skillsize; set .@i, .@i +3 )
            set .menu$, .menu$ + .skill$[.@i] +":";
        end;
    }

    Waiting for your reply. ?

  15. 26 minutes ago, latios said:

    @ahloi007 The first issue is saying that "j" hasn't been defined on line 2705 in file pc.cpp. You'll want to look around the code there and try to figure out why the definition (e.g. "int j;") is missing. For example, in this part of the diff there is an "int j;" at the top, but isn't there for some reason in your code.

    
    @@ -2627,7 +2638,7 @@ void pc_exeautobonus(struct map_session_data *sd, std::vector<s_autobonus> *bonu
     		int j;
     		unsigned int equip_pos_idx = 0;
     		//Create a list of all equipped positions to see if all items needed for the autobonus are still present [Playtester]
    -		for(j = 0; j < EQI_MAX; j++) {
    +		for(j = 0; j < EQI_MAX_BONUS; j++) {
     			if(sd->equip_index[j] >= 0)
     				equip_pos_idx |= sd->inventory.u.items_inventory[sd->equip_index[j]].equip;
     		}

    The second issue is saying that the constant "EQI_MAX_BONUS" isn't found anywhere in the pc.cpp or pc.hpp files. In the diff, there is a section which indicates it should be added to pc.hpp. You'll want to check if it's there and if it is, figure out why it might not be found in pc.cpp. Here is the part of the diff where it gets added:

    
    diff --git a/src/map/pc.hpp b/src/map/pc.hpp
    index b52784b..23d1a85 100644
    --- a/src/map/pc.hpp
    +++ b/src/map/pc.hpp
    @@ -84,7 +84,8 @@ enum equip_index {
     	EQI_SHADOW_SHOES,
     	EQI_SHADOW_ACC_R,
     	EQI_SHADOW_ACC_L,
    -	EQI_MAX
    +	EQI_MAX,
    +	EQI_MAX_BONUS = 10
     };

     

    Okay thanks ! its working!

×
×
  • Create New...