Jump to content

mastersancheszue

Members
  • Posts

    13
  • Joined

  • Last visited

Posts posted by mastersancheszue

  1. Example. i gave player a bound item LKH + 4 kiels. if they tried to decard the kiel . the card remover will detect it's bound item and impossible to removed the card on bound item.

    On 1/5/2019 at 2:33 PM, n0tttt said:
    		setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW;
    		for( set .@i,1; .@i <= 10; set .@i,.@i+1 ) {
    			if( getequipisequiped(.@indices[.@i]) )
    				set .@menu$, .@menu$ + F_getpositionname(.@indices[.@i]) + " - [ " + getequipname(.@indices[.@i]) + " ]";
    				set .@menu$, .@menu$ + ":";
    			}
    			set .@part, .@indices[ select(.@menu$) ];
    			if(!getequipisequiped(.@part)) {
    				mes "[ ^04B4AEIsaac^000000 ]";
    				mes "Young one... Your not wearing anything there that I can remove cards from.";
    				end;
    			}
    			set .@cardcount,getequipcardcnt(.@part);
    			if(.@cardcount == 0) {
    				mes "[ ^04B4AEIsaac^000000 ]";
    				mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid.";
    				end;
    			}
    			if (!checkweight(1202,(.@cardcount+1))) { 
    				mes "^3355FFJust a minute!";
    				mes "I can't offer any of my";
    				mes "services to you because";
    				mes "you're carrying too much";
    				mes "stuff. Put your extra items in";
    				mes "Kafra Storage and come again~";
    				end;
    			}
    			countbound;
    			.@size = getarraysize(@bound_items);
    			.@item = getquipid(.@part);
    			for(.@i = 0;.@i< .@size;.@i++) {
    				if(@bound_items[.@i] == .@item) {
    					mes "This item is bounded.";
    					close;
    				}
    			}

    i tried to use but error .@item part

     

    Can someone help me to how to make about CARD REMOVER.
    if player try to removed card on any bound item card remover will say "UNABLE TO DECARD BOUND ITEM"
    This code node not working anymore
     

    if( countbound() ) {
         for( .@a = 0; .@a < getarraysize( @bound_items ); .@a++ ) {
    	if( @bound_items[.@a] == getequipid(.@part) ) {
    		mes "[Wise Old Woman]";
                    mes "Young one... Sorry. I can't remove cards from bounded items.";
                    close;
  2. On 9/4/2015 at 4:03 AM, Lord Ganja said:

    AFAIK cards shouldn't be rented or bounded.

     

    Not working negative 

     

        mes "Good day, young one. I have the power to remove cards that you have compounded onto your equipment. Does this idea please you?";
        next;
        switch(select("Yes, it does.:What do you charge?:No thanks.")) {
        case 1:
            mes "[Wise Old Woman]";
            mes "Very well. Which item shall I examine for you?";
            next;
    
            setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW;
            for( set .@i,1; .@i <= 10; set .@i,.@i+1 ) {
                if( getequipisequiped(.@indices[.@i]) )
                    set .@menu$, .@menu$ + F_getpositionname(.@indices[.@i]) + "-[" + getequipname(.@indices[.@i]) + "]";
                set .@menu$, .@menu$ + ":";
            }
            set .@part, .@indices[ select(.@menu$) ];
            if( countbound() ) {
                 for( .@a = 0; .@a < getarraysize( @bound_items ); .@a++ ) {
            if( @bound_items[.@a] == getequipid(.@part) ) {
                mes "[Wise Old Woman]";
                        mes "Young one... Sorry. I can't remove cards from bounded items.";
                                close;
                        }
                     }
            }



    Someone Help me with this? i dont want player can removed card's on bounded items

  3. //===== Hercules Script ======================================
    //= Card Removal NPC
    //===== By: ==================================================
    //= TyrNemesis^
    //===== Current Version: =====================================
    //= 1.2a
    //===== Description: =========================================
    //= Removes cards from equipped items.
    //===== Additional Comments: =================================
    //= 1.0 First version. [TyrNemesis^]
    //= 1.2 Optimized and fixed getequipname menu. [Kisuka]
    //= 1.2a Added 'disable_items' command. [Euphy]
    //============================================================
    
    prt_in,28,73,4    script    Wise Old Woman#eAcustom    1_F_ORIENT_04,{
    
        set .zenycost,200000; // Set base cost in zeny of the card remover services
        set .percardcost,25000; // set cost per card of the card remover services
        set .faildestroy,1; // Should the card remover have a chance of failure that destroys items? 1 = Yes, 0 = No.
    
        disable_items;
        mes "[Wise Old Woman]";
        mes "Good day, young one. I have the power to remove cards that you have compounded onto your equipment. Does this idea please you?";
        next;
        switch(select("Yes, it does.", "What do you charge?", "No thanks.")) {
        case 1:
            mes "[Wise Old Woman]";
            mes "Very well. Which item shall I examine for you?";
            next;
    
            setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
            set .@menu$,"";
            for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
            {
                if( getequipisequiped(.@i) )
                set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";
    
                set .@menu$, .@menu$ + ":";
            }
            set .@part,select(.@menu$);
            if(!getequipisequiped(.@part)) {
                mes "[Wise Old Woman]";
                mes "Young one... Your not wearing anything there that I can remove cards from.";
                close;
            }
            if(getequipcardcnt(.@part) == 0) {
                mes "[Wise Old Woman]";
                mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid.";
                close;
            }
            set .@cardcount,getequipcardcnt(.@part);
    
            if (!checkweight(Knife_,(.@cardcount+1))) {
                mes "^3355FFJust a minute!";
                mes "I can't offer any of my";
                mes "services to you because";
                mes "you're carrying too much";
                mes "stuff. Put your extra items in";
                mes "Kafra Storage and come again~";
                close;
            }
            mes "[Wise Old Woman]";
            mes "This item has " + .@cardcount + " cards compounded on it. To perform my magic, I will need " + (.zenycost+(.@cardcount * .percardcost)) + " zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
            next;
            if(select("Very well. Do it.", "Nevermind.") == 2) {
                mes "[Wise Old Woman]";
                mes "Very well. Return at once if you seek my services.";
                close;
            }
            if((Zeny < (.zenycost+(.@cardcount * .percardcost))) || (countitem(Star_Crumb) < 1) || (countitem(Yellow_Gemstone) < 1)) {
                mes "[Wise Old Woman]";
                mes "You do not have all the items I require to work my magic, child. Come again when you do.";
                close;
            }
            mes "[Wise Old Woman]";
            mes "Before I begin, I must warn you--I may fail. If I do, I may destroy the cards, the item, or both. I do not give refunds. That being said, which is more important to you: The cards, or the item?";
            next;
            switch(select("I changed my mind about this.", "The item.", "The cards.")) {
            case 1:
                mes "[Wise Old Woman]";
                mes "Very well. Return at once if you seek my services.";
                close;
            case 2:
                set .@failtype,1;
                break;
            case 3:
                set .@failtype,2;
            }
            mes "[Wise Old Woman]";
            mes "Very well. I shall begin.";
            Zeny -= (.zenycost+(.@cardcount * .percardcost));
            delitem 1000,1;
            delitem 715,1;
    
            // Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt
            // First value = Total failure chance (item and cards destroyed)
            // Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe)
            // Third value = Harmless failure chance (all that's lost is your investment)
    
            set .@failchance,rand(100);
            if (.faildestroy==1) {
                if(.@failchance < 2) {
                    next;
                    failedremovecards .@part,0;
                    mes "[Wise Old Woman]";
                    mes "The process was a total failure. I am afraid the item and the cards were destroyed.";
                    close;
                }
    
                if(.@failchance <  {
                    if (.@failtype == 1) {
                        next;
                        failedremovecards .@part,1;
                        mes "[Wise Old Woman]";
                        mes "While I have managed to remove the cards from the item, they were destroyed in the process. The item, however, is okay.";
                        close;
                    }
    
                    if (.@failtype == 2) {
                        next;
                        failedremovecards .@part,2;
                        mes "[Wise Old Woman]";
                        mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process.";
                        close;
                    }
                }
            }
    
            if(.@failchance < 10) {
                next;
                failedremovecards .@part,3;
                mes "[Wise Old Woman]";
                mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay.";
                close;
            }
            next;
            successremovecards .@part;
            mes "[Wise Old Woman]";
            mes "The process was a success. Here are your cards and your item. Farewell.";
            close;
        case 2:
            mes "[Wise Old Woman]";
            mes "I charge a flat fee of "+.zenycost+" zeny, plus "+.percardcost+" zeny for each card I remove from the item. In addition, I need a star crumb and a yellow gemstone to work my magic.";
            close;
        case 3:
            mes "[Wise Old Woman]";
            mes "Very well. Return at once if you seek my services.";
            close;
        }
    }

     

  4. On 5/29/2019 at 2:12 PM, Bringer said:
    #ifndef RENEWAL
    	case NJ_ISSEN:
    		status_change_end(src, SC_NEN, INVALID_TIMER);
    		status_change_end(src, SC_HIDING, INVALID_TIMER);
    #endif
    		// fall through
    	case MO_EXTREMITYFIST:
    		{
    			//short x, y, i = 2; // Move 2 cells for Issen(from target)
    			struct block_list *mbl = bl;
    			short dir = 0;
    			
    			skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
    			
    			if( skill_id == MO_EXTREMITYFIST )
    			{
    				mbl = src;
    				status_set_sp(src, 0, 0);
    				status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER);
    				status_change_end(src, SC_BLADESTOP, INVALID_TIMER);
    #ifdef RENEWAL
    				sc_start(src,src,SC_EXTREMITYFIST2,100,skill_lv,skill_get_time(skill_id,skill_lv));
    #endif
    			}else
    				status_set_hp(src,
    #ifdef RENEWAL
    				max(status_get_max_hp(src)/100, 1)
    #else
    				1
    #endif
    				, 0);
    		}
    		//Client expects you to move to target regardless of distance
    		{				
    			struct unit_data *ud = unit_bl2ud(src);
    			short dx,dy;
    			int i,speed;
    			i = skill_id == MO_EXTREMITYFIST?1:2; //Move 2 cells for Issen, 1 for Asura
    			dx = bl->x - src->x;
    			dy = bl->y - src->y;
    			if (dx < 0) dx-=i;
    			else if (dx > 0) dx+=i;
    			if (dy < 0) dy-=i;
    			else if (dy > 0) dy+=i;
    			if (!dx && !dy) dy++;
    			if (map_getcell(src->m, src->x+dx, src->y+dy, CELL_CHKNOPASS))
    			{
    				dx = bl->x;
    				dy = bl->y;
    			} else {
    				dx = src->x + dx;
    				dy = src->y + dy;
    			}
    
    			if(unit_walktoxy(src, dx, dy, 2) && ud) {
    				//Increase can't walk delay to not alter your walk path
    				ud->canmove_tick = tick;
    				speed = status_get_speed(src);
    				for (i = 0; i < ud->walkpath.path_len; i ++)
    				{
    					if(ud->walkpath.path[i]&1)
    						ud->canmove_tick+=7*speed/5;
    					else
    						ud->canmove_tick+=speed;
    				}
    			}
    		}
    		break;

    but there will be problem this code has auto knockback

    Sample Vid: 

    PS : i can Spam my asura like on your sample video but on my server have 1 sec cooldown on my asura

     

    Hello @Bringer what did you config to again that kind of asura? only Skill.c / Skill_db?

  5. On 11/25/2022 at 4:10 PM, Bringer said:

    Create table

     

    CREATE TABLE IF NOT EXISTS `e_fabre_punch_rank` (

    `cid` INT(11) UNSIGNED NOT NULL DEFAULT '0',

    `name` NVARCHAR(30) NOT NULL DEFAULT '',

    `point` INT(11) SIGNED NOT NULL DEFAULT '0',

    `rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',

    PRIMARY KEY (`cid`)

    ) ENGINE=MyISAM;

    Hello sir. im not familliar with this what should i put on it. can i have example of it sorry for being dumb

     

×
×
  • Create New...