Garr
Members-
Content Count
482 -
Joined
-
Last visited
-
Days Won
8
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by Garr
-
For that to work you need to edit the function itself. 1) Replace end with return; That way it'll change cloth color for a sec, and then change hair color for a sec. 2) If you need both at the same time you need to edit the function more, like this: function script ChangeStyle { changelook 7,getarg(0); changelook 6,getarg(2); dispbottom "Your cloth color has changed to "+getarg(0)+" and hair color to "+getarg(2); dispbottom "With a duration of a second, then your look will return to normal"; sleep2 1000; changelook 7,getarg(1); changelook 6,getarg(3); dispbottom "Your look has returned to normal."; end;} And, accordingly, change the call from item callfunc "ChangeStyle",554,getlook(7),264,getlook(6);
-
Paladin Buff Icon [ Auto Guard and Reflect Shield ]
Garr replied to Kuya Jeo's question in General Server Support
Just manually revert the changes that are at the end of the ticket. -
Paladin Buff Icon [ Auto Guard and Reflect Shield ]
Garr replied to Kuya Jeo's question in General Server Support
Poke It's not a bug. Well, apparently, showing them was against the off. -
Find 2@tower,355,138,0 duplicate(1FGate102tower) WARPNPCFGate102tower WARPNPC,2,2 Change to 2@tower,355,138,0 duplicate(1FGate102tower) 45FGate102tower WARPNPC,2,2 Think someone was messing with auto-replacing 45 to WARPNPC and replaced an extra one right there.
- 2 replies
-
- player stuck
- endless tower
-
(and 1 more)
Tagged with:
-
So if you'll use clif->soundeffect(sd,&sd->bl,"teste.wav",0); it should play "datawavteste.wav".
-
Or that ^ And it doesn't matter, both your getmapxy were getting character position, and since character can't really be 3 cells away from himself... Now one getmapxy gets char coords, other one gets NPC coords, wherever NPC may be.
-
- script Ore Mine::oremine 844,{ .@number = 1; getmapxy .@map1$, .@x1, .@y1, 0; getmapxy .@map2$, .@x2, .@y2, 1; set h_run$, strnpcinfo(0); //What' that for? if ( .@map1$ == .@map2$ && distance(.@x1,.@y1,.@x2,.@y2) <= 3 ) { if ( h_run$ == strnpcinfo(0) ) { // Are you scared NPC will change name for some reason? callfunc("StartMining",.@number); set h_run$, ""; } } else { mes "Far Away"; close; }} You were finding distance between character and himself, which is always less than 3 >.> Changed 2nd getmapxy to look for NPC coords, should work now.
-
We all had to start somewhere, so don't be so harsh with yourself. Welcome!
-
I'm sorry to break it to you, but if you'll use csnv's fix, it will only send packet to client showing minimized damage, yet the damage applied on server will be full... I think if you'll hit the attacker after you'll see what I mean. ETA: Yup, if you'll check it with monster that shows HP in () after name, you'll see what I mean. Easiest to test with quad tanee shoes stalker.
-
Just a question... why were you using ATTACKER'S HP then? You'd need to use target, and not src. Try this one: if(wd.damage && tsc && tsc->data[SC_SWORDREJECT] && (src->type!=BL_PC || ( ((TBL_PC *)src)->weapontype1 == W_DAGGER || ((TBL_PC *)src)->weapontype1 == W_1HSWORD || ((TBL_PC *)src)->status.weapon == W_2HSWORD )) && rnd()%100 < tsc->data[SC_SWORDREJECT]->val2 ) { ATK_RATER(50); wd.damage = min(status_get_max_hp(target),wd.damage); status_fix_damage(target,src,wd.damage,clif->damage(target,src,0,0,wd.damage,0,0,0)); clif->skill_nodamage(target,target,ST_REJECTSWORD,tsc->data[SC_SWORDREJECT]->val1,1); if( --(tsc->data[SC_SWORDREJECT]->val3) <= 0 ) status_change_end(target, SC_SWORDREJECT, INVALID_TIMER); }
-
Why change it? It should work as is. OnEquipScript: <" changebase roclass(eaclass()|EAJL_THIRD); ">OnUnequipScript: <" changebase Class; "> I'm not sure if it'll work with 1st job classes though, so you might want to restrict them on item.
-
Guessed so. Just for the future when you ask for script, please mention that you're using rAthena, as Hercules and rAthena have a bit different scripting (and that's the reason scripts that were given to you didn't work, they were relying on constants that are not present in rAthena).
-
Try this one: - script CoalMinesMapDeath -1,{ end;OnPCLoadMapEvent: if( strcharinfo(3) != "mjo_dun02" && strcharinfo(3) != "mjo_map03") end; if( getequipid(EQI_HEAD_MID) == 5005 ) end; sleep2 5000; atcommand "@die"; sleep2 500; warp "Save",0,0; end;}mjo_dun02 mapflag loadeventmjo_dun03 mapflag loadevent Are you using rAthena by chance?
-
In what way? And i guess it just goes under 100% damage without any extra effects to it. But if you want, I think taking this part of the code: int battle_calc_skillratio(int attack_type, struct block_list *src, struct block_list *target, uint16 skill_id, uint16 skill_lv, int skillratio, int flag){...} and adding this inside: case BF_WEAPON: switch( skill_id ) { case ITM_TOMAHAWK: skillratio (+-=) x; (Add a needed skillratio here, for example half the attack would make it skillratio -= 50) break; case SM_BASH: case MS_BASH: skillratio += 30 * skill_lv; break; Untested, but might work.
-
Hmm. Are you not afraid that if the character teleports (and, let's face it, people teleport a lot on mjo_dun02) it will start yet another copy of this script on him, so you'll effectively run well over 1 cheking script on the player? It'd need some kind of extra layer of protection so that people who have this check running already would be excluded from triggering it once more...
-
- script CoalMinesMapDeath -1,{ end;OnPCLoadMapEvent: if( strcharinfo(PC_MAP) != "mjo_dun02" && strcharinfo(PC_MAP) != "mjo_map03") end; if( getequipid(EQI_HEAD_MID) == 5005 ) end; sleep2 5000; atcommand "@die"; sleep2 500; warp "Save",0,0; end;}mjo_dun02 mapflag loadeventmjo_dun03 mapflag loadevent Not tested, but should work, I think. Note: this check will run on every warping in map, be it via warp or just using fly wing.
-
By looking at the file, it removes the duplicate you name/on which duplicateremove() is called, or removes all duplicates if the NPC named/called from is the source NPC. From the example above, if you'll PM "DupTest", it will remove all duplicates, if you'll PM "Duplicated", only that one duplicate will be removed. Thank you for release!
- 19 replies
-
- duplicate command
- duplicate script
- (and 3 more)
-
Maybe it would be better to make NPC trigger on PM?
-
Because the one you pointed to are not limited in time, but only effectively work in equippable items. In usable items might generate a speed increase with unidentified(and probably very short) longevity, as they would be erased on next stat recalculation (per example, after some status starts/ends, or equipping something).
-
Remove transporter endless tower critter
Garr replied to Break San's question in General Server Support
Did you by chance remove the noteleport mapflag from it? I believe it prevents teleporting of both players and monsters. -
How to add name of Player who using Mixed Cooking to its produced food
Garr replied to Zirius's question in General Server Support
conf/battle/items.conf // Do produced items have the maker's name on them? (Note 3)// 0x01: Produced Weapons// 0x02: Produced Potions// 0x04: Produced Arrows// 0x08: Produced Holy Water/Ancilla// 0x10: Produced Deadly Potions// 0x80: Other produced items.produce_item_name_input: 0x03 I believe 0x80 is the one you need. -
Is there tables in your SQL base named `item_db2_re` and `mob_db2_re`? If not, you should at least create them, and it should fix the error. They need to have the same structure as `item_db_re` and `mob_db_re` respectively (aka just copy those 2 tables structure into new tables).
-
I think I saw this one before, and it was due to unknown commands like "GetCastleData", since herc is case sensitive (should be lower case "getcastledata"). But it should mention that in the console if I'm right.
-
Make sure that you don't have a "Unique Name" set on those npcs, since if there is one you should refer to them by their unique name, not their display name. (Unique Name is the name which goes after :: in NPC name field at the start of NPC).
-
morocc,150,107,3 script NekoNeko 906,{ mes "Hi~ "; emotion 30; mes "You can choose you Girl friend here !"; mes "1 Girl Friend for 10M Zeny"; mes "If you choose all only 80M Zeny"; next; switch(select("I want Friend ! ","I don't want Friend")) { case 1: mes "Please choose you Girl Friend Btw if you choose all we will give you special price"; next; switch(select( "Moon Light Flower:Loli Ruri:Nymph:Succubus:Whitesmith:Sniper:Assassin Cross:Champion:Professor:Stalker:Biochemist:Gypsy:Paladin:Paladin (Peco):Select All:Cancel")) { default: if( Zeny < 10000000 ) { mes "Sorry, Your money is not enough ! Please come again next time ! "; emotion 35; close; } atcommand "@summon " + .mobarray[@menu-1] + " 60"; Zeny -= 10000000; break; case 15: if( Zeny < 80000000 ) { mes "Sorry, Your money is not enough ! Please come again next time ! "; emotion 35; close; } Zeny -= 80000000; for(.@i = 0; .@i < getarraysize(.mobarray); .@i++) atcommand "@summon " + .mobarray[@menu-1] + " 60"; break; case 16: mes "As you wish!"; close; } specialeffect 30; specialeffect 295; specialeffect 461; specialeffect 410; specialeffect2 459; specialeffect2 408; mes "Thank you very much"; emotion 30; close; case 2: mes "As you wish!"; close; } close;OnInit: setarray .mobarray[0],1150,1505,1564,1370,5020,5021,5022,5024,5025,5026,5027,5013,5028,5029; waitingroom "Girl Friend",0; end;} I've edited it a bit to remove gotos and set, or you might be getting deprecation warnings in Hercules. Otherwise just replace atcommand strcharinfo(0)+"@summon with atcommand "@summon That should do the trick.