Jump to content

nuna

Members
  • Content Count

    136
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by nuna


  1. Does anyone has the script for the longest agit defender? wherein every second of defending the agit counts.

    Here's the criteria of what i'm looking for:

     

    - An npc in which shows the Top 10 Longest Agit Defender

     

    the npc will show somehow like this:

     

    [Top 10 Longest Agit Defender]
    
    Top 1: Ganja Guild : 10 minutes 14 seconds // top 1: <guild name> : <defending time>
    
    Top 2: Ganja2 Guild : 8 minutes 10 seconds // top 2: <guild name> : <defending time>
    
    //and so on. . . .
    
    //not a matter of points, but a matter of time on how long does the guild defend their castle

     

    - after clicking 'next' it will also show the Longest Agit Defender of the Day which resets after woe

     

    [ Longest Agit Defender of the Day ]
    
    September 24, 2015 - Kriemhild //<date of defend> - <defended castle name>
    
    - Ganja Guild - 10 minutes 12 seconds // //- <guild name> : <defending time>

     

     

    Credits to: https://rathena.org/board/topic/103232-request-longest-agit-defender-script/

     

    Message me asap and lets talk


  2. Hello everyone.

    Im having problem with this https://github.com/dastgir/HPM-Plugins/blob/master/NPC/security.txt

    whenever i tried the max failed attempt which is 3. The character will not be banned.

    Also the chatlog shown charname doesnt exist.

    Hope anyone can fix it and make it @kick instead of ban.

     

    already did change atcommand "@ban +"+.ban_hour+"h \""+strcharinfo(0)+"\""; //Ban the Player for 1 hour.

    with atcommand "@kick \""+strcharinfo(0)+"\""; //Ban the Player for 1 hour.

    but no luck.

    Thanks in advance!


  3. hello how can i add announce on specific item if get and make it have amount value?

    function	script	boxrandom	{
    	setarray .@reward,  607, 60,
    						612, 10,
    						611, 10,
    						608, 10,
    						678, 5,
    						675, 5;
    	set .@size, getarraysize( .@reward );
    	for( set .@i, 1; .@i < .@size; .@i += 2 ) {
    		.@percent[.@i] = .@total + .@reward[.@i];
    		.@total += .@reward[.@i];
    	}
    	.@r = rand( .@total +1 );
    	for( set .@i, 1; .@i < .@size; .@i += 2 )
    		if( .@percent[.@i] > .@r )
    			break;
    	getitem .@reward[ .@i-1 ], 1;
    	end;
    }

    how can i add also on what amount per item? example since 612 - id name and 10 is the chance. please help me to make it 612,1->amount,10->chance

    Example i want the id number 678 if get to be announce" char name got 1x Poison bottle "


  4.  

    You want the player to get only one item? Your percents make a total of 154% ...

     

    list of items,qty / Chance

    607,5         50%

    608,6         52%

    678,4         50%

    672,1         2%

     

     

    Try this:

    .@rnd = rand(154);
    
    if (.@rnd < 50) {
    	getitem(607, 5);
    } else if (.@rnd < 102) {
    	getitem(608, 6);
    } else if (.@rnd < 152) {
    	getitem(678, 4);
    } else {
    	getitem(672, 1);
    }
    

    Yes i only want player to get any 1 items of the list with chance sir thanks a lot


  5. here, I made this for you:

     

    <map>,<x>,<y>,<dir>	script	<name>	<sprite>,{
    
        mes("Hi there.");
        mes("Can I help you?");
        next();
    
        select("claim reward");
    
        mes("...");
        next();
    
        for (.@i = 0; .@i < .reward_len; .@i += 3) {
            if (rand(100) < .reward[.@i + 2]) {
                getitem(.reward[.@i], .reward[.@i + 1]);
                mesf("You obtained %i %s.", .reward[.@i + 1], getitemname(.reward[.@i]));
                .@reward = true; // got at least one reward
                next();
            }
        }
    
        if (.@reward != true) {
            mes("It seems you're out of luck.");
            next();
        }
    
        mes("Come back anytime!");
        close;
    
    OnInit:
        setarray(.reward[0],
            //ID,QTY,%
            607, 5, 50,
            608, 6, 52,
            678, 4, 50,
            672, 1,  2);
    
        .reward_len = getarraysize(.reward);
    }
    

     

    hope it helps

     

    UPDATE: added reward_len (sorry, forgot that)

     

     

    Hello sir thank you but how can i make it only 1 can get?


  6. Hello may i request for some script like

    for example

     

    npc to claim item but in random chance.

     

    list of items,qty / Chance

    607,5         50%

    608,6         52%

    678,4         50%

    672,1         2%

     

    something like that.

     

    Thank you in advance


  7. Not sure I understand what you're asking for.. You want the player to be teleported to their savepoint when they pay some amount of zeny?

     

    If so you would do the following:

    if (Zeny >= .@cost) {
        Zeny -= .@cost;
        warp("SavePoint", 0, 0);
    }
    

    With .@cost being the amount of zeny to substract

     

    no sir haha but thanks anyway. I want the player all player to be restricted in payon : Just example. lets make it moc_fild22 

    i want moc_fild22 to be unwarpable or if anyplayers tries to warp or go to moc_fild22 then they will automatically go back to their savepoints.


  8. query_sql "SELECT `char`.char_id,`char`.`name`,	global_acc_reg_num_db.`value` FROM global_reg_value LEFT JOIN `char` ON global_reg_value.char_id=`char`.char_id WHERE global_reg_value.str='brokeemp' ORDER BY CAST(`global_reg_value`.`value` AS UNSIGNED) DESC LIMIT 10", .@char_id, .@name$, .@count;
    

    i already tried to change it to char_reg_num_db but still its having error.

     

    im trying to remake a ladder with this script

    for( set .@x,0; .@x<=9; set .@x,.@x+1 )
        {
            mes "^0000FF"+(.@x+1)+".^000000 "+.@name$[.@x]+" - ^FF0000"+.@count[.@x]+"^000000 Point(s)";
        } // .@x starts at 0, but you want to start with '1st', so use (.@x+1)

     

    Thank you in advance!


  9. On phone and not having the script here, usually in raw very first line of the npc

    //===== Hercules Script ======================================
    //= Euphy's Quest Shop
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.6a
    //===== Description: =========================================
    //= A dynamic quest shop based on Lunar's, with easier config.
    //= Includes support for multiple shops & cashpoints.
    //= Item Preview script by ToastOfDoom.
    //===== Additional Comments: =================================
    //= 1.0 Initial script.
    //= 1.2 Added category support.
    //= 1.3 More options and fixes.
    //= 1.4 Added debug settings.
    //= 1.5 Replaced categories with shop IDs.
    //= 1.6 Added support for purchasing stackables.
    //= 1.6a Added support for previewing costumes and robes.
    //============================================================
    
    // Shop NPCs -- supplying no argument displays entire menu.
    //	callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}};
    //============================================================
    prontera,164,203,6	script	Quest Shop#1	4_M_MOCASS2,{ callfunc "qshop"; }
    
    
    // Script Core
    //============================================================
    -	script	quest_shop	FAKE_NPC,{
    function Add; function Chk; function Slot; function A_An;
    OnInit:
    	freeloop(1);
    
    // -----------------------------------------------------------
    //  Basic shop settings.
    // -----------------------------------------------------------
    
    	set .Announce,1;	// Announce quest completion? (1: yes / 0: no)
    	set .ShowSlot,1;	// Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
    	set .ShowID,0;  	// Show item IDs? (1: yes / 0: no)
    	set .ShowZeny,0;	// Show Zeny cost, if any? (1: yes / 0: no)
    	set .MaxStack,100;	// Max number of quest items purchased at one time.
    
    // -----------------------------------------------------------
    //  Points variable -- optional quest requirement.
    //	setarray .Points$[0],"<variable name>","<display name>";
    // -----------------------------------------------------------
    
    	setarray .Points$[0],"#CASHPOINTS","Cash Points";
    
    // -----------------------------------------------------------
    //  Shop IDs -- to add shops, copy dummy data at bottom of file.
    //	setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...};
    // -----------------------------------------------------------
    
    	setarray .Shops$[1],"Headgears","Weapons","Other";
    
    // -----------------------------------------------------------
    //  Quest items -- do NOT use a reward item more than once!
    //	Add(<shop ID>,<reward ID>,<reward amount>,
    //	    <Zeny cost>,<point cost>,
    //	    <required item ID>,<required item amount>{,...});
    // -----------------------------------------------------------
    
    	Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2);
    	Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600);
    	Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1);
    	Add(1,5045,1,0,0,2252,1,1054,450,943,1200);
    
    	Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10);
    	Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10);
    
    	Add(3,531,1,3,0,512,1,713,1);
    	Add(3,532,1,3,0,513,1,713,1);
    	Add(3,533,1,3,0,514,1,713,1);
    	Add(3,534,1,3,0,515,1,713,1);
    
    // -----------------------------------------------------------
    
    	freeloop(0);
    	set .menu$,"";
    	for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) {
    		set .menu$, .menu$+.Shops$[.@i]+":";
    		npcshopdelitem "qshop"+.@i,909;
    	}
    	end;
    
    OnMenu:
    	set .@size, getarraysize(@i);
    	if (!.@size) set .@i, select(.menu$);
    	else if (.@size == 1) set .@i, @i[0];
    	else {
    		for(set .@j,0; .@j<.@size; set .@j,.@j+1)
    			set .@menu$, .@menu$+.Shops$[@i[.@j]]+":";
    		set .@i, @i[select(.@menu$)-1];
    	}
    	deletearray @i[0],getarraysize(@i);
    	if (.Shops$[.@i] == "") {
    		message strcharinfo(PC_NAME),"An error has occurred.";
    		end;
    	}
    	dispbottom "Select one item at a time.";
    	callshop "qshop"+.@i,1;
    	npcshopattach "qshop"+.@i;
    	end;
    
    OnBuyItem:
    	// .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... }
    	setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]);
    	copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0]));
    	set .@q[2],.@q[1]*.@q[3];
    	if (!.@q[2] || .@q[2] > 30000) {
    		message strcharinfo(PC_NAME),"You can't purchase that many "+getitemname(.@q[0])+".";
    		end;
    	}
    	mes "[Quest Shop]";
    	mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000";
    	mes "Requirements:";
    	if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000";
    	if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000";
    	if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
    		mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000";
    	next;
    	setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11);
    	if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192)))
    		set .@preview,1;
    	addtimer 1000, strnpcinfo(NPC_NAME)+"::OnEnd";
    	while(1) {
    		switch(select(" ~ Purchase ^0055FF"+ getitemname(.@q[0]) +"^000000", ((.@preview && !@qe[7])?" ~ Preview...": ""), " ~ ^777777Cancel^000000")) {
    		case 1:
    			if (@qe[0]) {
    				mes "[Quest Shop]";
    				mes "You're missing one or more quest requirements.";
    				close;
    			}
    			if (!checkweight(.@q[0],.@q[2])) {
    				mes "[Quest Shop]";
    				mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
    				close;
    			}
    			if (.@q[4]) Zeny -= (.@q[4]*.@q[1]);
    			if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]);
    			if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
    				delitem .@q[.@i],.@q[.@i+1]*.@q[1];
    			getitem .@q[0],.@q[2];
    			if (.Announce) announce strcharinfo(PC_NAME)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0;
    			specialeffect2 EF_FLOWERLEAF;
    			close;
    		case 2:
    			setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1;
    			if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2];
    			else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2];
    			else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2];
    			else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2];
    			break;
    		case 3:
    			close;
    		}
    	}
    
    OnEnd:
    	if (@qe[7]) {
    		changelook LOOK_HEAD_BOTTOM, @qe[3];
    		changelook LOOK_HEAD_TOP, @qe[4];
    		changelook LOOK_HEAD_MID, @qe[5];
    		changelook LOOK_ROBE, @qe[6];
    	}
    	deletearray @qe[0],8;
    	end;
    
    function Add {
    	if (getitemname(getarg(1)) == "null") {
    		debugmes "Quest reward #"+getarg(1)+" invalid (skipped).";
    		return;
    	}
    	setarray .@j[0],getarg(2),getarg(3),getarg(4);
    	for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) {
    		if (getitemname(getarg(.@i)) == "null") {
    			debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped).";
    			return;
    		} else
    			setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1);
    	}
    	copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j);
    	npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
    	return;
    }
    
    function Chk {
    	if (getarg(0) < getarg(1)) {
    		set @qe[0],1;
    		return "^FF0000";
    	} else
    		return "^00FF00";
    }
    
    function Slot {
    	set .@s$,getitemname(getarg(0));
    	switch(.ShowSlot) {
    		case 1: if (!getitemslots(getarg(0))) return .@s$;
    		case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]";
    		default: return .@s$;
    	}
    }
    
    function A_An {
    	setarray .@A$[0],"a","e","i","o","u";
    	set .@B$, "_"+getarg(0);
    	for(set .@i,0; .@i<5; set .@i,.@i+1)
    		if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
    	return "a "+getarg(0);
    }
    }
    
    function	script	qshop	{
    	deletearray @i[0],getarraysize(@i);
    	for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
    		set @i[.@i],getarg(.@i);
    	doevent "quest_shop::OnMenu";
    	end;
    }
    
    
    // Dummy shop data -- copy as needed.
    //============================================================
    -	shop	qshop1	FAKE_NPC,909:-1
    -	shop	qshop2	FAKE_NPC,909:-1
    -	shop	qshop3	FAKE_NPC,909:-1
    -	shop	qshop4	FAKE_NPC,909:-1
    -	shop	qshop5	FAKE_NPC,909:-1
    

    Hello thank you please check the code now hehe


  10. This on herc is a pretty old version, isn't it fixed in the new ones? Maybe we should update it too.

    And as the others said, how are we supposed to provide support without knowing how to perform the exploit?

     

     

    Ok heres how you do it. First prepare your normal hat (You want to function like a costume) then go the the quest shop npc. Buy headgear and choose preview. After choosing preview, unequip your hat then choose cancel. (the normal hat display will remain in your character. )

     

    Another is uniquip your hat. Choose preview then after choosing preview. Equip your normal hat then choose cancel. even though you have equipped costume and normal hat,

     still your character display will not display any headgears at all.

     


  11. Hello everyone. the quest_shop.txt npc of euphys has a bug.

    Preview bug. 

    Players can make the normal item as a costume by using the preview option.

     

    Since i dont like it to be exploit. For the Scripter Hercules community. Please send me a message and i will let you know the steps on how to perform the minor bug.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.