Jump to content

pajodex

Members
  • Posts

    439
  • Joined

  • Last visited

  • Days Won

    26

Posts posted by pajodex

  1. don't use `sleep2`

     

    Quoted from doc/script_commands.txt

    sleep 10000; //pause the script for 10 seconds and ditch the RID (so no player is attached anymore)
    sleep2 5000; //pause the script for 5 seconds, and continue with the RID attached.

     

    I didn't test this but ohh well...

    prontera,148,195,5	script	GM Support Assistant	469,{
    	mes .n$;
    	if ( !.onlinegm ) {
    		mes "No available GMs at the moment";
    		close;
    	}
    	mes "No. of GMs Online :"+ .onlinegm;
    	mes " ";
    	mes "Would you like to contact them?";
    	next;
    	if(select("Yes","No")==2) close;
    	mes .n$;
    	if(gettimetick(2) < #HelpDelay) {
    		mes "You may only send a message every 5 minutes!";
            close;
    	}
    	atcommand "@request This player is in need of assistance.";
    	#HelpDelay = gettimetick(2) + 300;
    	mes "Game Masters has been notified.";
    	close;
    
    OnPCLoginEvent:
    	if ( getgmlevel() > 10 ) 
    		++.onlinegm; 
    	end;
    		
    OnPCLogoutEvent:
    	if ( getgmlevel() > 10 ) 
    		--.onlinegm; 
    	end;
    	
    OnInit:
    	.n$ = "[ ^FF55FFGM Support Assistant^000000; ]";
    L_Reload:
    	waitingroom "Number of online GMs: "+.onlinegm,0;
    	sleep 3000;
    	delwaitingroom;
    	waitingroom "Do you want to contact GMs?",0;
    	sleep 3000;
    	delwaitingroom;
    	waitingroom "If you need assistance, please click me.",0;
    	sleep 3000;
    	delwaitingroom;
    	goto L_Reload;
    	end;
    }

     

  2. Hi guys, 

    I've been out for quite a while, but now I'm starting to get back on track and finishing my projects being left in hiatus for few months.. For now, I want to showcase this script I made.

    Have a great day!

    ________________________________________________________________________________________________________________________________________________________________________________

    Simple ~ Fun ~ Competitive 

    Find Jakk's Cat Event ~
    
    Mechanics:
    1. Find Jakk's cat around Niflheim.
    2. You can lure it by using `Fresh Fish` towards Jakk.
    3. There is only 1 cat in the map, you will need fight for it.
    4. Who ever takes Jakk's cat to him wins the event.

    Video Preview:

     

    • Love 1
    • MVP 1
  3. 9 hours ago, caspa said:

    hi guys... sorry for being persistent but i really need the source w/o any form of error.. i'm willing to pay even atleast 10$+ just for somebody to put some time into it..
     

    
    	/*==========================================
     * Downgrades an Equipment Part by -1 . [Masao]
     *------------------------------------------*/
    BUILDIN_FUNC(downrefitem) {
        short i = -1, down = 1;
        int pos;
        TBL_PC *sd;
    	    sd = script_rid2sd(st);
        if( sd == NULL )
            return 0;
        pos = script_getnum(st,2);
        if (script_hasdata(st, 3))
            down = script_getnum(st, 3);
    	    if (pos > 0 && pos <= ARRAYLENGTH(equip))
            i = pc_checkequip(sd,equip[pos-1]);
        if (i >= 0) {
            unsigned int ep = sd->status.inventory[i].equip;
    	        //Logs items, got from (N)PC scripts [Lupus]
            log_pick_pc(sd, "N", sd->status.inventory[i].nameid, -1, &sd->status.inventory[i]);
    	        pc_unequipitem(sd,i,2); // status calc will happen in pc_equipitem() below
            sd->status.inventory[i].refine -= down;
            sd->status.inventory[i].refine = cap_value( sd->status.inventory[i].refine, 0, MAX_REFINE);
    	        clif_refine(sd->fd,2,i,sd->status.inventory[i].refine);
            clif_delitem(sd,i,1,3);
    	        //Logs items, got from (N)PC scripts [Lupus]
            log_pick_pc(sd, "N", sd->status.inventory[i].nameid, -1, &sd->status.inventory[i]);
    	        clif_additem(sd,i,1,0);
            pc_equipitem(sd,i,ep);
            clif_misceffect(&sd->bl,2);
            script_pushint(st, sd->status.inventory[i].refine);
            return 1;
        }
        ShowError("buildin_downrefitem: No item equipped at pos %d (CID=%d/AID=%d).\n", pos, sd->status.char_id, sd->status.account_id);
        script_pushint(st, -1);
        return 0;
    }
    



    here's the source code from 15peaces.... its for 3ceAm by the way and i know this is rathena but i don't know any forum i can go now for 3ceAm.... 

    everytime the downrefitem excutes from the script. this debug something always appear (refer on the picture)

    1234.PNG

    This is most likely caused by the NPC itself.. check script.. or post it here

  4. 48 minutes ago, roro6060 said:

    mes "[自動倒數器]";
    announce "The race will begin",bc_all,0xFF0000;
    end;

    make to 

    mes "[自動倒數器]";
    announce "The race will begin",bc_all,0xFF0000;
    initnpctimer; // initialize npc timer
    end; 

    and here

    48 minutes ago, roro6060 said:

    OnTimer35000:
    announce "0",15;
    end;

    to

    OnTimer35000:
    stopnpctimer; // stops the timer
    announce "0",15;
    end; 

     

  5. On 6/6/2018 at 12:15 PM, blazerza said:

    Nice Job dude I hope u will release it very soon please let's us know when you want to sell it ?

    Hi, it could be available any time soon.. as of now, my finger is badly hurt and needs time to recover.. i'll get back on this soon.. 

    Updated! Uploaded some videos! 

    UPDATE STATUS : COMPLETE

    PS : This system is 100% compatible with extended battleground

     

  6. 2 hours ago, sokarpupe said:

     

    Hello everyone, will you happen to have a scrip that requires a base level to deliver prizes that you can share with me?

    Im pretty sure it has been made recently in a post here.. maybe use search engine next time..

    https://rathena.org/board/topic/115772-race-to-99-per-class/

    or from @AnnieRuru

    https://rathena.org/board/topic/75015-asking-for-a-prize-npc/

    or from me:

    https://rathena.org/board/topic/115293-race-to-99-rewards/#comment-344269

    or you can simply scroll thru trunk/doc/script_commands.txt and you will find conditions and be able to make as simple as this..

    -	script	askdmasd	-1,{
    	if( BaseLevel != 99 ) { // When a player reaches Lv 99
    		mes "You need to be lvl 99 to claim rewards";
    		close;
    	}
    	if( getreward ) {
    		mes "You can only claim reward once per character";
    		close;
    	}
    	mes "Congrats! You've reached level 99";
    	getitem 501,10; // gets reward
    	getreward = 1; // Prevent abuse
    	close;
    }

     

  7. 1 hour ago, Yrok said:

    Still error ?Untitled.png.52a0bb71f47fbec5f3cd1bfb933dc249.png

    look goto line 69 or look for this :

    for (.@i = 0, .@i < getarraysize(.@rewardablejobs); .@i++) {
    	set $rewarded$[.@rewardablejobs[.@i]], "";
    }

    and change to :

    for (.@i = 0; .@i < getarraysize(.@rewardablejobs); .@i++) {
    	set $rewarded$[.@rewardablejobs[.@i]], "";
    }

    Typo error only.. just changed the comma "," to semi colon ";"

    • Upvote 1
    • Love 1
  8. 1 hour ago, Stolao said:

    Yes ofc it is, but pretty sure it's src not database ?

    Yup I found most of it in src.. also, adding clan seem to have to do with sql too.. that's why I put it in database xd

     

    52 minutes ago, Tyrfing said:

    What do you mean by custom clans?

    The ones found when you press `ctrl+g` and you can find them on prt_in something..

  9. On ‎5‎/‎15‎/‎2018 at 6:15 AM, Serina_RO said:

    Hello Everyone,

    Was looking for a script to have our players to enjoy a Raid boss event in a set time and place(probably need a NPC to take player to event map) .

    And after defeating at the Raid boss, the players who particulate in the raid boss map could only received special reward.(Alive or dead).

    Anyone could share or suggest me.

    Thank you.

    https://rathena.org/board/topic/114890-world-boss-by-sehrentos/?tab=comments#comment-342782

  10. 3 hours ago, AnnieRuru said:

    uhh ... honestly ... rathena can survive without the queue iterator script commands …

    Yup.. True.. But it would still be cool if rA also implements this system.
    As this system, if I am not mistaken, can reduce the usage of loop script commands for checking players, can be accessed by other npcs, and etc..
    And it would be easier for other scripters to understand how the script will work..

     

    3 hours ago, AnnieRuru said:

    I've used it before, so its not a MUST HAVE stuffs

    And this would also make sense.. But still the convenience it would contribute would be a great help.

     

    Well, this is just my selfish suggestion.. It is not really something important at all.. ?

  11. Hi,

    So, I hope I would be hear out.. browsing thru Hercules forum, I found this particular topic.. What interest me the most is the Queue Iterator Script commands.

    These are the commands from Hercules which can be used also here in rAthena. (Copied and pasted from that post)

    Spoiler

     

    Queue - Script Commands

    • *queue()
      • creates a new queue instance, returns created queue id
        
        set .@id,queue();
    • *queuesize(<queue_id>)
      • returns the amount of entries in queue instance of <queue_id>.
        
        set .@length,queuesize(.@queue_id);
    • *queueadd(<queue_id>,<var_id>)
      • adds <var_id> to queue of <queue_id>, returns 1 if <var_id> is already present in the queue, 0 otherwise.
        
        queueadd(.@queue_id,.@var_id);
    • *queueremove(<queue_id>,<var_id>)
      • removes <var_id> from queue of <queue_id>, returns 1 if <var_id> is not present in the queue, 0 otherwise.
        
        queueremove(.@queue_id,.@var_id);
    • *queueopt(<queue_id>,<optionType>,{Optional <option val>})
      • modifies <queue_id>'s <optionType>, when <option val> is not present, <optionType> is removed from <queue_id>, when present it modifies <queue_id>'s <optionType> with the new <option val> value.
        Currently 3 options are available, HQO_OnDeath (0), HQO_OnLogout (1), HQO_OnMapChange (2) (the constant names are not final).
        
        queueopt(.@queue_id,0,"MyNPC::MyOnQueueMemberDeathEventName");
        It allows you to hook npc events to be triggered by specific actions that may happen to a player in the queue (when the queue in question is used for account ids)
    • *queuedel(<queue_id>)
      • deletes <queue_id> returns 1 when <queue_id> is not found, 0 otherwise.
        
        queuedel(.@queue_id);
    • *queueiterator(<queue_id>)
      • creates a new queue iterator instance, a queue iterator is not a reference to a queue's actual members, it copies the queues members when initialized, this way you can loop through them even if you remove them from the queue
        
        set .@it,queueiterator(.@queue_id);
    • *qicheck(<queue_iterator_id>)
      • checks whether there is a next member in the iterator's queue, 1 when it does, 0 otherwise.
        
        qicheck(.@queue_iterator_id);
    • *qiget(<queue_iterator_id>)
      • obtains the next member in the iterator's queue, returns the next member's id or 0 when it doesnt exist.
        
        for( set .@elem,qiget(.@queue_iterator_id); qicheck(.@queue_iterator_id); set .@elem,qiget(.@queue_iterator_id) )
    • *qiclear(<queue_iterator_id>)
      • deletes a queue iterator from memory, returns 1 when it fails, 0 otherwise.
        
        qiclear(.@queue_iterator_id)
    • Sample Usage:
      
      /* say create a queue */set .@id,queue();queueadd(.@id,getcharid(3));/* ... add as many entries ... (no limit) */i


     

    My point is.. can this also be implemented in rAthena or something a-like? This would greatly help improve all scripts that will utilize queue system.. especially BGs.. This is just a suggestion.. Though it is possible to make a queue using arrays and stuff but it is more convenient when it has its own script command.

    Thanks!

    • Upvote 2
  12. pajodex's BG Queue System Version 2


    Quote

    //===== rAthena Script =======================================
    //= pajodex's Battleground Queue System v2.0
    //===============  by: =============================
    //= pajodex
    //===== Current Version: =====================================
    //= 2.0
    //===== Compatible With: =====================================
    //= rAthena Project (pajodex)
    //===== Description: =========================================
    /*
    Battleground Queue System v2.0
            
        Features:
            1. Randomly picks a battleground to run every Nth hour
            2. Randomly assigns players to teams
            3. @joinbg to join when event is starting
            4. @leavebg to leave the queue
            5. @reportafk command for idle players
            6. Optimized
            7. Ez config
            8. IP address check
            9. Gepard unique ID support

    */
    //=====******** Note ********=================================
    //= if you find bugs or problem, please do tell DM me at
    //= Discord (pajodex#1328) or rAthena (pajodex) 
    //= open for suggestions
    //= I can add more bg scripts here but with extra charge...
    //===== Additional Comments: =================================
    /*     
        1.0 - Initial release
        2.0 - Total script re-work
        2.1 - Gepard Unique ID Support
        2.2 - Fixed minor issues
              - Added Rune War
              - Added Cursed Knight


    */
    //=============================================================
    //----------------------------------------------------------------

    Config Table:

    Spoiler

        // ------------------------------
        // Start of Registration Settings
        // ------------------------------
        
        // Enable base/job level restriction?
        // ( 1 = on || 0 = off )
        .lvl_restrict = 1;
        
        // Minimum base level to join
        .min_blvl = 99;
        
        // Minimum job level to join
        .min_jlvl = 50;
        
        // Registration time ( in minutes )
        .reg_time = 1; 
        
        // Should IP check be enabled? ( 1 = yes || 0 = no )
        // Prevents players to register with same IP
        .ipcheck = 0;    
        
        // Minimum players to start
        // Note: -------------------------- 
        // if there are more than 6 players,
        // npc will still accept them until
        // registration time ends.
        // --------------------------------
        // default : 3 (3v3)
        .minplayer2start = 1;

        // Enable Gepart Unique ID? 
        // Only works for servers with Gepard!
        // 1 = on | 0 = off
        .gepard = 1;    

        // -----------------------------------------------
        // Custom BG Settings (Rune War)
        // -----------------------------------------------
        // Event duration in minutes..
        // default : 10 mins
        .duration = 2; 
        
        // Reward settings    
        .reward_item = 501; // Item ID
        .reward_winr = 10; // Win Reward Amount
        .reward_lose = 5; // Lose Reward Amount
            
        // -------------------------
        // End of Custom BG Settings
        // -------------------------
        
        // Lobby map
        .lobbymap$ = "prontera";
        
        // NPC names
        setarray .npcname$, 
            "Flavius_BG1", 
            "Tierra_BG1",
            "KvM01_BG";
            
        // Bg titles 
        setarray .bgtitle$,
            "Flavius",
            "Tierra",
            "KvM";
            
        // ----------------------------
        // End of Registration Settings
        // ----------------------------

    Read Me:

    Spoiler

    Follow these 4 simple steps on how to properly install the files: 
        1. Disable all your official battleground scripts in `scripts_athena.conf`
        2. Copy and paste the folder `bg_queue_system_v2` inside your `npc/custom/`
        3. Paste the ff in your `scripts_custom.conf`
        
        // BG Queue System v2
        npc: npc/custom/bg_queue_system_v2/bg_queue_system_v2.txt
        npc: npc/custom/bg_queue_system_v2/atreportkafk.txt
        npc: npc/custom/bg_queue_system_v2/bg_common.txt
        npc: npc/custom/bg_queue_system_v2/bg_tierra.txt
        npc: npc/custom/bg_queue_system_v2/bg_flavius.txt
        npc: npc/custom/bg_queue_system_v2/bg_kvm.txt
        
        NOTE: Everything should be loaded in that exact order.. or else you will get some errors.
        
        4. Enjoy.
        
        
    //= if you find bugs or problem, please do tell DM me at
    //= Discord (pajodex#1328) or rAthena (pajodex) 
    //= open for suggestions

    Note:

    Spoiler

    This bg queue system only includes the ff battlegrounds:

    1. Flavius
    2. Tierra
    3. KvM

    All are specially modified to run on my bg queue system

    THIS DOES NOT NEED ANY SOURCR MODIFICATIONS, its purely script-based

     

    Side-notes:

    Spoiler
    • So, I've decided to re-do my BG Queue System.. got these ideas from a friend of mine and suggested to implement these features.. and here it is..
    • For those who have already purchased my BG Queue System v1 and wants to get a copy of this.. I will have some words with you.. so, please do leave me a message (preferably on discord).

     

    Side-side-notes:

    Spoiler
    • I can also add more battlegrounds on the list.. just do leave me a message (preferably on discord).
    • For modifications / add-on features / or a-like.. just do leave me a message (preferably on discord).

     

    By downloading this file, you agree with my Terms of Service:

    • You are not allowed remove my signature from any of the included files.
    • You are not allowed sell, resell or in any form for money or rewards using my work.
    • You are not allowed claim my work as yours.

    • I have the rights to change all the terms above without prior notice. 


    • Submitter
    • Submitted
      05/11/2018
    • Category
    • Video
    • Content Author
      pajodex

     

  13. Rune War - Battleground


    Quote

    //===== rAthena Script =======================================
    //= Rune War - (from Ragnarok Event v2)
    //===============  by: =============================
    //= pajodex
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= rAthena Project (pajodex)
    //===== Description: =========================================
    /*
    Rune War (from Ragnarok Event v2)
            
        Battleground script that runs OnClockxxxx time on server.
    An npc will appear at prontera for registration. After some time
    RegistrationNPC will disappear. All registered players will
    be divided into 2 teams.

        Players have to eliminate the enemy to gain points. Team
    with the most points accumulated wins.

        A rune will be spawned at the center of the map. Runes similar
    to Dota 2.

        * disclaimer * this runs like the War Over Rune but it is
    my own version. Since this is free, i did not add any special
    features. 

     
        Enjoy!

    */
    //=====******** Note ********=================================
    //= if you find bugs or problem, please do tell DM me at
    //= Discord (pajodex#1328) or rAthena (pajodex) 
    //= open for suggestions
    //===== Additional Comments: =================================
    /*     
        1.0 - Initial release
    */
    //=============================================================

    Rune Config:

    	// =============
    	// Rune Settings
    	// =============
    	
    	// Rune names (in-order)
    	setarray .Rune$[1], 
    		"Invisibility", 
    		"Haste",
    		"Double Damage",
    		"Illusion",
    		"Regeneration";
    	
    	// NPC View ID if server in renewal mode
    	setarray .npc_view_re[1], 
    		2450, 
    		2696,
    		2697,
    		2702,
    		2703;
    	
    	// NPC View ID if server in pre-renewal mode	
    	setarray .npc_view_pre[1], 
    		1120, 
    		1096,
    		1582,
    		1388,
    		1031;
    		
    	// Rune effect duration (seconds)
    	.duration = 20; 
    	
    	// Respawn time of rune after being pick-ed up (minutes)
    	.respawn_time = 1; 

    Main Config:

    	// =============
    	// Game Settings
    	// =============
    	
    	// How many players to start?
    	// default = 4 (2v2)
    	.minplayers = 4;
    
    	// How long, in mins, for players to register_time
    	// default = 3 mins
    	.register_time = 3;
    	
    	// How many mins before rune is spawned
    	// default : 1 min
    	.runespawn = 1;
    	
    	// Event duration in minutes..
    	// default : 10 mins
    	.duration = 10; 
    	
    	// Reward settings
    	setarray .rwd[0],
    		501, 10,	// win team reward
    		501, 5;		// lose team reward

     

    Hi guys, This is originally my Ragnarok Event v2 which was supposed to be a paid script.. but... I changed my mind.. I renamed it to Rune War.. Enjoy! 


     

  14. Cursed Knight - Battleground


    Quote

    //===== rAthena Script =======================================
    //= Cursed Knight
    //===============  by: =============================
    //= pajodex
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= rAthena Project (pajodex)
    //===== Description: =========================================
    /*
    Cursed Knight
            
        My second BG release in rAthena. Here is how it works.
        
        Teams have to find the Cursed Knight located at the bottom
        end of the map. To earn points, they must come close to the
        cursed knight. 
        
        Every second near the cursed knight, player will earn points 
        for the team.. however, they will also be cursed, inflict 
        damage, and silenced near the Cursed Knight. 
        
        More players of a team near Cursed Knight will also earn more 
        points. They must find a strategy to keep enemy away from
        the cursed knight!

     
        Enjoy!

    */
    //=====******** Note ********=================================
    //= if you find bugs or problem, please do tell DM me at
    //= Discord (pajodex#1328) or rAthena (pajodex) 
    //= open for suggestions
    //===== Additional Comments: =================================
    /*     
        1.0 - Initial release
    */
    //=============================================================

    Here is the settings

    	// =============
    	// Game Settings
    	// =============
    	
    	// Minimum players per team to start
    	// default : 5 ( 5v5 )
    	.minplayer2start = 5;
    	
    	// Event duration in minutes..
    	// default : 5 mins
    	.duration = 5; 
    	
    	// Reward settings
    	setarray .rwd[0],
    		501, 10,	// win team reward
    		501, 5;		// lose team reward

     

    By downloading this file, you agree with my Terms of Service:

    • You are not allowed remove my signature from any of the included files.
    • You are not allowed sell, resell or in any form for money or rewards using my work.
    • You are not allowed claim my work as yours.

    • I have the rights to change all the terms above without prior notice. 

     


     

×
×
  • Create New...