Jump to content

JagLers

Members
  • Posts

    15
  • Joined

  • Last visited

Posts posted by JagLers

  1. I can't seem to make this work other than using sc_end SC_ALL;

    can someone help me correct this script? loadevent is in a different file (mapflag/loadevent.txt)

     

    -	script	debuffAGIT	-1,{
    OnPCLoadMapEvent:
           if (getmapflag(strcharinfo(3),mf_gvg))
        {
        sc_end EFST_MVPCARD_TAOGUNKA;
        sc_end EFST_MVPCARD_MISTRESS;
        sc_end EFST_MVPCARD_ORCHERO;
        sc_end EFST_MVPCARD_ORCLORD;
    	end;
        }
    }

     

  2. On 1/18/2020 at 8:34 AM, Balfear said:

    src/map/skill.cpp
    find and delete this text:
    if (skill_id == SL_SUPERNOVICE && dstsd && dstsd->die_counter && !(rnd()%100))

    Hi,

    Do i only delete the "red bold text" or the whole line? 

    deleting "&& !(rnd()%100)" didnt work on my side. Below is my current code on the said line

    		if (skill_id == SL_SUPERNOVICE && dstsd && dstsd->die_counter)
    		{	//Erase death count 1% of the casts
    			dstsd->die_counter = 0;
    			pc_setglobalreg(dstsd, add_str(PCDIECOUNTER_VAR), 0);
    			clif_specialeffect(bl, EF_ANGEL2, AREA);
    			//SC_SPIRIT invokes status_calc_pc for us.
    		}

     

  3. Hi,

    What could be the caused of this error when using @whobuy. Btw im using 2018-09-19aRagexe

    /*==========================================
    * @whobuy - List who is buying the item (amount, price, and location).
    * remake by VoidLess, original by zephyrus_cr
    * re-edit by deathscythe to work in rAthena
    *------------------------------------------*/
    ACMD_FUNC(whobuy)
    {
    	char item_name[100];
    	int item_id, j, count = 0, sat_num = 0;
    	bool flag = 0; // place dot on the minimap?
    	struct map_session_data* pl_sd;
    	struct s_mapiterator* iter;
    	unsigned int MinPrice = battle_config.vending_max_value, MaxPrice = 0;
    	struct item_data *item_data;
    
    	nullpo_retr(-1, sd);
    	memset(item_name, '\0', sizeof(item_name));
    
    	if (!message || !*message || sscanf(message, "%99[^\n]", item_name) < 1) {
    		clif_displaymessage(fd, "Input item name or ID (use: @whobuy <name or ID>).");
    		return -1;
    	}
    	if ((item_data = itemdb_searchname(item_name)) == NULL &&
    		(item_data = itemdb_exists(atoi(item_name))) == NULL)
    	{
    		clif_displaymessage(fd, msg_txt(sd, 19)); // Invalid item ID or name.
    		return -1;
    	}
    
    	item_id = item_data->nameid;
    
    	iter = mapit_getallusers();
    	for (pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter))
    	{
    		if (pl_sd->state.buyingstore) //check if player is autobuying
    		{
    			for (j = 0; j < pl_sd->buyingstore.slots; j) {
    				if (pl_sd->buyingstore.items[j].nameid == item_id) {
    					snprintf(atcmd_output, CHAT_SIZE_MAX, "Price %d | Amount %d | Buyer %s | Map %s[%d,%d]", pl_sd->buyingstore.items[j].price, pl_sd->buyingstore.items[j].amount, pl_sd->status.name, mapindex_id2name(pl_sd->mapindex), pl_sd->bl.x, pl_sd->bl.y);
    					if (pl_sd->buyingstore.items[j].price < MinPrice) MinPrice = pl_sd->buyingstore.items[j].price;
    					if (pl_sd->buyingstore.items[j].price > MaxPrice) MaxPrice = pl_sd->buyingstore.items[j].price;
    					clif_displaymessage(fd, atcmd_output);
    					count;
    					flag = 1;
    				}
    			}
    			if (flag && pl_sd->mapindex == sd->mapindex) {
    				clif_viewpoint(sd, 1, 1, pl_sd->bl.x, pl_sd->bl.y, sat_num, 0xFFFFFF);
    				flag = 0;
    			}
    		}
    	}
    	mapit_free(iter);
    
    	if (count > 0) {
    		snprintf(atcmd_output, CHAT_SIZE_MAX, "Found %d ea. Prices from %dz to %dz", count, MinPrice, MaxPrice);
    		clif_displaymessage(fd, atcmd_output);
    	}
    	else
    		clif_displaymessage(fd, "Nobody buying it now.");
    
    	return 0;
    }

     

    image.png

  4. //===== rAthena Script =======================================
    //= Euphy's Quest Shop
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.6c
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== 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.
    //= 1.6b Added 'disable_items' command.
    //= 1.6c Replaced function 'A_An' with "F_InsertArticle".
    //============================================================
    
    // Shop NPCs -- supplying no argument displays entire menu.
    //	callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}};
    //  ADD YOUR NPC HERE
    //============================================================
    prontera,164,203,6	script	Quest Shop#1	998,{ callfunc "qshop"; }
    // prontera,165,203,6	script	Quest Shop#2	998,{ callfunc "qshop",1,2; }	// call the shop 1 and 2 defined below
    // etc.. Add your Shop NPCs 'Quest Shop#XXX' here
    //============================================================
    
    
    // Script Core - DO NOT DUPLICATE THIS NPC !!!!!!!!!!!!!
    //============================================================
    -	script	quest_shop	-1,{
    function Add; function Chk; function Slot;
    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";
    
    
    //=====================================================================================
    // ------------------- ADD YOUR SHOPS NAME AND ITEMS SHOPS STARTING HERE --------------
    //=====================================================================================
    
    // -----------------------------------------------------------
    //  Shop IDs -- to add shops, copy dummy data at bottom of file.
    //	setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...};
    // -----------------------------------------------------------
    
    	setarray .Shops$[1],
    		"Headgears",	// Shop Named 1
    		"Weapons",		// Shop Named 2
    		"Other";		// Shop Named 3
    
    // -----------------------------------------------------------
    //  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>{,...});
    // -----------------------------------------------------------
    
    // Shop 1
    	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);
    
    // Shop 2
    	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);
    
    // Shop 3
    	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);
    
    // -----------------------------------------------------------
    
    //=====================================================================================
    // ------------------- YOUR SHOPS AND ITEMS SHOPS HAVE BEEN ADDED ---------------------
    //=====================================================================================
    
    	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 @shop_index, select(.menu$);
    	else if (.@size == 1) set @shop_index, @i[0];
    	else {
    		for(set .@j,0; .@j<.@size; set .@j,.@j+1)
    			set .@menu$, .@menu$+.Shops$[@i[.@j]]+":";
    		set @shop_index, @i[select(.@menu$)-1];
    	}
    	deletearray @i[0],getarraysize(@i);
    	if (.Shops$[@shop_index] == "") {
    		message strcharinfo(0),"An error has occurred.";
    		end;
    	}
    	dispbottom "Select one item at a time.";
    	callshop "qshop"+@shop_index,1;
    	npcshopattach "qshop"+@shop_index;
    	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_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0]));
    	set .@q[2],.@q[1]*.@q[3];
    	if (!.@q[2] || .@q[2] > 30000) {
    		message strcharinfo(0),"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:";
    	disable_items;
    	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] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT)))
    		set .@preview,1;
    	addtimer 1000, strnpcinfo(0)+"::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]) set Zeny, 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(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):callfunc("F_InsertArticle",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(0)+"_"+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	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	-1,909:-1
    -	shop	qshop2	-1,909:-1
    -	shop	qshop3	-1,909:-1
    -	shop	qshop4	-1,909:-1
    -	shop	qshop5	-1,909:-1

    Hi,

     

    How can I set Euphy's Quest to show Cash Points instead of Zeny Amount for items?

  5. Used this Script but there is no effect upon being equipped

    20307,C_Beginner_Cap,Costume Beginner Cap,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,1348,{ if (BaseLevel < 100) { bonus bHit,30-(3*(BaseLevel/10)); bonus bMaxHP,1000-(100*(BaseLevel/10)); bonus bMaxSP,200-(20*(BaseLevel/10)); bonus bVariableCastrate,-10+(BaseLevel/10); bonus bHealPower,150-(10*(BaseLevel/10)); bonus bHealPower2,10*(BaseLevel/10); bonus bAddItemHealRate,10*(BaseLevel/10); } },{},{}

    Screenshot Below:
    image.png.425abb4a98600df1969015f5d8499d39.png
     

  6. Eto po Script ko pero wala sya dagdag kahit nka equips

     

    20307,C_Beginner_Cap,Costume Beginner Cap,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,1348,{ if (BaseLevel < 100) { bonus bHit,30-(3*(BaseLevel/10)); bonus bMaxHP,1000-(100*(BaseLevel/10)); bonus bMaxSP,200-(20*(BaseLevel/10)); bonus bVariableCastrate,-10+(BaseLevel/10); bonus bHealPower,150-(10*(BaseLevel/10)); bonus bHealPower2,10*(BaseLevel/10); bonus bAddItemHealRate,10*(BaseLevel/10); } },{},{}

     

  7. Im trying to create a acript which will announce the number of player inside a pub on entry, but i cant seem to trigger the waiting room after adding "@set". Can someone help me with this?

     

    quiz_00,17,114,4	script	Waiting	726,{
    end;
    OnInit:
        waitingroom "Waiting Room",8,"Waiting2::OnStart",1;
        end;
    }
    
    -	script	Waiting2	-1,{
    	end;
    OnStart:
    	set .@join getwaitingroomstate(0,"Waiting");
        announce  .@join + " People Inside!",bc_blue|bc_all;
        end;
    
    }

     

×
×
  • Create New...