Jump to content

Bahmut

Members
  • Posts

    382
  • Joined

  • Last visited

Posts posted by Bahmut

  1. A small text when the error appears and what you have to do to reproduce it would definitively help. Take that in mind for next time.

    But the error is pretty straight forward. You are missing a sprite!

    Now questions because you seem to think we are wizards that can instantly know your server/client setup. We are not so:

    • Are you using custom items/mobs/etc.?
    • Is there an item/mob/class which cause this error on appearing in view range?
    • Does it work when using another character?
    • Does it work on other maps?
    • Have you already tried to patch your kRO Client (or other base client) to the latest version?
  2. First of all why are you using such an old revision? Not using the latest one can be wise because of bugs in the trunk but using too old revision can cause problems such as unfixed bugs with skills, npcs and so on. But anyway if this is your only error and you haven't modified the functions_kafras.txt then the file might just be crapped. Just redownload it from the SVN and replace it:

    https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/npc/kafras/

  3. Just change any unprefixed variable ( variable, character variable ) to a sharp-prefixed variable ( #variable, account variable ):

     
    mes "[ Reward Manager ]";
            if( #Daily_Reward>gettimetick(2) ){
            set .@Time, #Daily_Reward-gettimetick(2);
            set .@SecondLeft,( .@Time % 60 );
            set .@MinuteLeft,( .@Time / 60 % 60 );
            set .@HourLeft,( .@Time / ( 60 * 60 ) % 24 );
            set .@DayLeft,( .@Time / ( 24 * 60 * 60 ) );
            set .@TimeLeft$,(( .@DayLeft )?.@DayLeft+" Day ":"" ) +
    (( .@HourLeft )?.@HourLeft+" hours ":"" ) +
    (( .@MinuteLeft )?.@MinuteLeft+" minutes ":"" ) +
    (( .@SecondLeft )?.@SecondLeft+" seconds":"" );
        mes "I'm sorry, but you have already received the ^009900Daily Rewards^000000.";
        mes "Please comeback later.";
        mes "       ";
        mes "^ff0000Next Reward^000000 :";
        mes "^0000ff"+.@TimeLeft"";
            close;
            }
        mes "            ";
        mes "~ ^009900Daily Rewards Acquired^000000";
        mes "       ";
        mes "^ff0000Received Items^000000 :";
        getitem 7539,100;
        getitem 7227,100;
        mes "• 100x Poring Coin";
        mes "• 100x TCG Card";
        set #Daily_Reward,gettimetick(2)+43200;
        next;
        mes "[ Reward Manager ]";
        mes "Please talk to me again in the next ^ff000012 Hours^000000.";
        close;

    There you go: try it.

     

    That's what I have done.

  4. This should work

     

     
    mes "[ Reward Manager ]";
            if( #Daily_Reward>gettimetick(2) ){
            set .@Time, #Daily_Reward-gettimetick(2);
            set .@SecondLeft,( .@Time % 60 );
            set .@MinuteLeft,( .@Time / 60 % 60 );
            set .@HourLeft,( .@Time / ( 60 * 60 ) % 24 );
            set .@DayLeft,( .@Time / ( 24 * 60 * 60 ) );
            set .@TimeLeft$,(( .@DayLeft )?.@DayLeft+" Day ":"" ) +
    (( .@HourLeft )?.@HourLeft+" hours ":"" ) +
    (( .@MinuteLeft )?.@MinuteLeft+" minutes ":"" ) +
    (( .@SecondLeft )?.@SecondLeft+" seconds":"" );
        mes "I'm sorry, but you have already received the ^009900Daily Rewards^000000.";
        mes "Please comeback later.";
        mes "       ";
        mes "^ff0000Next Reward^000000 :";
        mes "^0000ff"+.@TimeLeft$+"";
            close;
            }
        mes "            ";
        mes "~ ^009900Daily Rewards Acquired^000000";
        mes "       ";
        mes "^ff0000Received Items^000000 :";
        getitem 7539,100;
        getitem 7227,100;
        mes "• 100x Poring Coin";
        mes "• 100x TCG Card";
        set #Daily_Reward,gettimetick(2)+43200;
        next;
        mes "[ Reward Manager ]";
        mes "Please talk to me again in the next ^ff000012 Hours^000000.";
        close;
  5. These are two separate scripts created for a Low Rate Server I used to run.

     

    Custom Kafra

    The first one is a Kafra which replaces all official one. This Kafra has no Teleport system but can be easily edited and configured.

    //===== rAthena Script ======================================= 
    //= Custom Kafra
    //===== By: ================================================== 
    //= Bahmut
    //= http://rathena.org/board/user/1604-bahmut/
    //===== Current Version: ===================================== 
    //= 1.0
    //===== Description: =========================================
    //= A Kafra function
    //===== Usage: ===============================================
    //= func_Saver - Args:
    //=   0 - Savepoint Map
    //=	  1 - Savepoint X
    //=	  2 - Savepoint Y
    //=	  3 - Cutin
    //=   4 - Kafra Type
    //=		 * 0 = Normal Kafra
    //=			 + Save
    //=			 + Open storage
    //=			 + Open guild storage
    //=			 + Auction House
    //=			 + Rent a Cart
    //=		 * 1 = Dungeon Kafra
    //=			 + Save
    //=			 + Open storage
    //=			 + Warp to Prontera
    //=
    //= Cutins:
    //=   |---NPC ID--|-----Cutin-----|
    //=   |	   112    |   kafra_06    |
    //=   |	   113    |   kafra_05    |
    //=   |	   114    |   kafra_04    |
    //=   |	   115    |   kafra_03    |
    //=   |	   116    |   kafra_02    |
    //=   |	   117    |   kafra_01    |
    //=   |	   118    |   kafra_03    |
    //=   |	   721    |   kafra_07    |	<- Orange
    //=   |	   791    |      -        |	<- Nifelheim
    //=   |	   860    |   kafra_08    |
    //=   |	   861    |   kafra_09    |
    //=   |-----------|---------------|
    //=
    //============================================================
    

     

     

    Custom Warper

    The second script is a Warper which is capable of warping players to all mayor cities for different prices depending on the distance to Prontera (can be changed). This Warper also contains the possibility to warp a player to a dungeon but only if the dungeon is "activated". In front of all dungeons is a sign. If the player clicks the sign the dungeon will be listed in the players dungeon warp list.

    //===== rAthena Script ======================================= 
    //= Warp Agent
    //===== By: ================================================== 
    //= Bahmut
    //= http://rathena.org/board/user/1604-bahmut/
    //===== Current Version: ===================================== 
    //= 1.0
    //===== Description: =========================================
    //= Warps you to:
    //=  - Your last warp location
    //=  - Towns
    //=  - Market
    //=  - Your Savepoint
    //=  - Dungeons
    //=	 + every Dungeon has its own sign
    //=  	 + sign has to be activated to allow dungeon warp
    //============================================================
    

     

    Download

    Kafra

    func_Kafra.txt

    Main function

    Positions
     
    Warper

    main_Warper.txt

    • Upvote 1
  6. OnPCLoginEvent:
    	//- 1 accounts per IP address during WoE
            set .@name$, strcharinfo(0);
    	if (query_sql("SELECT login.account_id FROM login LEFT JOIN `char` ON login.account_id=`char`.account_id WHERE login.last_ip=(SELECT last_ip FROM login WHERE account_id=" + getcharid(3) + ") AND `char`.online=1", .@account_id) > 1 && (agitcheck() == 1 || agitcheck2() == 1)) {
    		announce "Sorry, only 1 accounts per IP can be logged in at a time.",bc_self,0xFF4949;
    		sleep2 3000;
    		atcommand "@kick " + .@name$;
    		end;
    	}
    

     

    This script should work

×
×
  • Create New...