Jump to content

minijoe

Members
  • Posts

    16
  • Joined

  • Last visited

Posts posted by minijoe

  1. I did this on my previous project as well. It's not yet supported but I did a work-around to make it work like a card.

     

    What I did was I made 2 seperate items, one is the "card" which has the original effect, then the other one which is the "pretend card" which is actually a consumable item that inserts your "card" into the shadow equip that your player is wearing using getitem2 command. (in my case it's shadow weapon)

     

    Here's my "card":

    31101,sphere001,Sphere,6,20,,10,,,,,,,,,,,,,{ skill 8,10; },{},{}
    

    Here's my "pretend card":

    32101,sphere001x,Sphere,11,10,,0,,,,0,0xFFFFFFFF,63,2,,,,,,{ set powsphere,1; callfunc "powersphere"; },{},{}
    

    I set them both to have the same sprite, display name and description so players would think it's just one item.

    (unless they user @iteminfo, then the cover will be blown~)

     

    Here's the simple function I made:

    function	script	powersphere	{
    mes "^ff0000===========!WARNING!===========^000000";
    mes "Attatching a Power Sphere in an Aura is an irreversible process. It cannot be undone in any way. Do you want to proceed?";
    mes "^ff0000===============================^000000";
    switch(select("Cancel:Proceed")) {
    
    	case 1:
    	close;
    	
    	case 2:
    	close2;
    	if(getequipid(EQI_SHADOW_WEAPON) == -1) {
    		dispbottom "FAILED! You're not equipping any Aura!"; end; }
    	if(getequipcardid(EQI_SHADOW_WEAPON,0) > 0) {
    		dispbottom "FAILED! Your Aura is already enchanted!"; end; }
    	if(countitem(getequipid(EQI_SHADOW_WEAPON)) > 1) {
    		dispbottom "FAILED! You have more than 1 of the same Aura in your inventory! Please store the other ones first!"; end; }
    	specialeffect2 58;
    	progressbar "green",2;
    	set powaura,getequipid(EQI_SHADOW_WEAPON);
    	unequip EQI_SHADOW_WEAPON; //unequips your shadow weapon
    	delitem 32100+powsphere,1; //deletes the "pretend card"
    	delitem powaura,1; //deletes your shadow weapon
    	getitem2 powaura,1,1,0,0,31100+powsphere,0,0,0; //generates the same shadow weapon but with the "card" already in it
    	end;
    	
    } }
    

    Well I know it's not much but I hope you get the idea :D

     

    This is really a good idea, I also had  similar ideas, just made an NPC, let the card to enchant adding equipment, like costume enchants.
     
    but there are so many cards, than I still want to modify the source code to make it worked like the general cards.
     
    If I can't change it, I will try your idea, thank you:)
  2. hello!

     

    I made a shadow card

    55050,New_item,Weapon Shadow card,6,20,,10,,,,,,,,131072,,,,,{ bonus bMaxSP,10; },{},{}
    

    and a shadow equipment with slots

    24012,Promotional_Weapon_Shadow,Weapon Shadow,12,10,,0,,,,2,0xFFFFFFFF,63,2,131072,,1,,,{ bonus bDex,1; },{},{}
    

    but when i double click on the card in the game, it does not work.

     

    How to make the shadow card work as the general cards?

     

    thank you:)

  3. Hi!

     

    How to increase the PVP and GVG's maximum aspd in "battle config"?

     

    I add "pvp_max_aspd" and "gvg_max_aspd" to "player.conf".

     

    and "battle.h":

    	int pvp_max_aspd;
    	int gvg_max_aspd;
    

    and "battle.c":

    	{ "pvp_max_aspd",                           &battle_config.pvp_max_aspd,                        190,    100,    199,            },
    	{ "gvg_max_aspd",                           &battle_config.gvg_max_aspd,                        190,    100,    199,            },
    

    Then how to modify in "pc.c" or other places?

    short pc_maxaspd(struct map_session_data *sd) {
    	nullpo_ret(sd);
    
    	return (( sd->class_&JOBL_THIRD) ? battle_config.max_third_aspd : (
    			((sd->class_&MAPID_UPPERMASK) == MAPID_KAGEROUOBORO || (sd->class_&MAPID_UPPERMASK) == MAPID_REBELLION) ? battle_config.max_extended_aspd :
    			battle_config.max_aspd ));
    }
    
  4. prontera,88,105,0	script	#Start99	139,5,5,{
    
    OnTouch:
    	//Limit the movement of the players.
    	initnpctimer;
    	mapannounce "prontera","hello!",bc_map,"0x00ffff";
    	end;
    OnTimer3000:
    	mapannounce "prontera","hello!",bc_map,"0x00ffff";
    	end;
    OnTimer6000:
    	mapannounce "prontera","hello!",bc_map,"0x00ffff";
    	end;
    OnTimer9000:
    	stopnpctimer;
    	mapannounce "prontera","hello!",bc_map,"0x00ffff";
    	//Take off the limited of the players.
    	end;
    }
    

    How to limit the movement of the player ?

     

    The Players trigger the mapannounce when they entry to some area,the system let  Players can not move or use skills until the end of the mapannounce,just like the Players are speaking to the NPC.

     

     

  5. item db:
     

    5988,New_Item,Old Resting Swan,4,20,,0,,12,,0,0x00080000,56,0,256,,100,1,635,{ bonus2 bSubRace,RC_DemiHuman,5+5*(getrefine()>=7)+2*(getrefine()>=9); skill "BA_MUSICALLESSON",getskilllv("DC_DANCINGLESSON"); bonus2 bSkillAtk,"WM_REVERBERATION",10+30*(getrefine()>=7)+20*(getrefine()>=9); bonus bAllStats,getrefine(); if ((getrefine()>=7) && ((getskilllv("DC_FORTUNEKISS")>=1) && (getiteminfo(getequipid(EQI_HAND_R),11)==13 || getiteminfo(getequipid(EQI_HAND_R),11)==14))) { skill "BA_POEMBRAGI",getskilllv("DC_FORTUNEKISS"); } if (getrefine()>=9) { bonus4 bAutoSpellOnSkill,"WM_GLOOMYDAY","NPC_WIDESTONE",4,1000; } if (getrefine()>=10) { autobonus "{ bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",100; }",5,5000,BF_WEAPON; } bonus bUnbreakableHelm,1; },{},{}
    

     
    map-server:
     

    [Error]:
    script error on db/re/item_db.txt line 4034
        parse_callfunc: not enough arguments, expected ','
    * 4034 : { bonus2 bSubRace,RC_DemiHuman,5+5*(getrefine()>=7)+2*(getrefine()>=9);
     skill "BA_MUSICALLESSON",getskilllv("DC_DANCINGLESSON"); bonus2 bSkillAtk,"WM_R
    EVERBERATION",10+30*(getrefine()>=7)+20*(getrefine()>=9); bonus bAllStats,getref
    ine(); if ((getrefine()>=7) && ((getskilllv("DC_FORTUNEKISS")>=1) && (getiteminf
    o(getequipid(EQI_HAND_R),11)==13 || getiteminfo(getequipid(EQI_HAND_R),11)==14))
    ) { skill "BA_POEMBRAGI",getskilllv("DC_FORTUNEKISS"); } if (getrefine()>=9) { b
    onus4 bAutoSpellOnSkill,"WM_GLOOMYDAY","NPC_WIDESTONE",4,1000; } if (getrefine()
    >=10) { autobonus "{ bonus2 bSkillAtk,"'W'M_SEVERE_RAINSTORM",100; }",5,5000,BF_
    WEAPON; } bonus bUnbreakableHelm,1; }
    

     
    Then the server report not enough argument. However, I have check all the parameters. I can't find anything missing.

    So who can help me with this problem. Thank you very much:)

×
×
  • Create New...