Hadeszeus
-
Content Count
651 -
Joined
-
Last visited
-
Days Won
1
Posts posted by Hadeszeus
-
-
Hi Guys,
I have this script that gives an item to the Killer of the MVPS. The rewards is separate from PARTY KILLER and A SOLO KILLER.
Im trying to add a condition that check if the party members are in the same map of the KILLER when the MVP was killed.
If not in the same map of KILLER. No reward will be given.
The problem is I can't make it work and I need your help.
I added this before it gives the item to the party.
if ( strcharinfo(3) != .@mapc$ ) end;
- script MVPREWARD -1,{OnNPCKillEvent: if ( !getmonsterinfo( killedrid, MOB_MVPEXP ) ) end; if ( getcharid(1) ) { .@mapc$ = strcharinfo(3); getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { // what happens if someone in the party member is offline =/ .@partymemberaid[.@c] = $@partymemberaid[.@i]; .@c++; } } if ( strcharinfo(3) != .@mapc$ ) end; getitem 501, 5, .@partymemberaid[ rand( .@c ) ]; announce "Party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), 0; } else { getitem 501, 1; //Get Item if KILLER is not in a party. announce "Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), 0; } end;}
-
That does still work inside of a script, but counts mobs instead of giving items.
If you want all of your party members to get an item, you can try changing all
count++;
on the script to:
getitem <item ID>, amount;
And you're good to go.
Just notify me if that wasn't what you wanted.
Hi Jabote again thank you!
But I still have one problem. How can I check if the the KILLER OF THE MOBS CURRENT MAP is equal to PARTY MEMEBERS LOCATION?
FOR EXAMPLE
IF THE KILLER OF THE MOB IS IN ABBEY02 and other PARTY MEMBERS IS NOT EQUAL TO KILLER OF THE MOBS MAP.
THEY DONT GET THE ITEM.
MEANING THEY NEED TO BE IN THE SAME MAP OF THE KILLERID TO GET THE ITEM.
-
Yes, you can be creative ending it.
According to source:
/*========================================== * @unmute [Valaris] *------------------------------------------*/ACMD(unmute) { struct map_session_data *pl_sd = NULL; if (!message || !*message) { clif->message(fd, msg_txt(1234)); // Please enter a player name (usage: @unmute <char name>). return false; } if ( (pl_sd = map->nick2sd((char *)message)) == NULL ) { clif->message(fd, msg_txt(3)); // Character not found. return false; } if(!pl_sd->sc.data[SC_NOCHAT]) { clif->message(sd->fd,msg_txt(1235)); // Player is not muted. return false; } pl_sd->status.manner = 0; status_change_end(&pl_sd->bl, SC_NOCHAT, INVALID_TIMER); clif->message(sd->fd,msg_txt(1236)); // Player unmuted. return true;}
Since I suppose you already know your character is logged in and muted you can skip all the checks and go directly to what you want. Try this instead?
OnPCLogoutEvent: if (strcharinfo(3) == "guild_vs1" ) { Manner = 0; // sc_end SC_NOCHAT; // Edit, not needed as of the documentation says? } end;
EDIT: You've also got some nice advice on the scripting documentation regarding that on our scripting documentation :
'sc_end' will remove a specified status effect. If SC_All is used (-1), itwill do a complete removal of all statuses (although permanent ones willre-apply).You can see the full list of status effects caused by skills in'src/map/status.h' - they are currently not fully documented, but most ofthat should be rather obvious.Note: to use SC_NOCHAT you should alter MannerManner = -5; // Will mute a user for 5 minutesManner = 0; // Will unmute a userManner = 5; // Will unmute a user and prevent the next use of 'Manner'I've just commented out the SC_NOCHAT line. If that doesn't work just edit the script and try with that uncommented againP.S.: You sure you didn't get any warning or so from the console when trying to atcommand? O.oOMG Thank you for that very detailed explanation and fix. Thank you so much Jabote!
-
I can't make this work, should it work right?
OnPCLogoutEvent: if ( strcharinfo(3) == "guild_vs1" ) atcommand "@unmute "+strcharinfo(0); end;
Or any other way to unmute players on a specific map on logoutevent?
-
Is it possible to not use OnPCLoginEvent?
Instead use specific map load event to get the .player id?
-
Bakit hindi na rereduce ng Deviling card ang Gates of Hell diba force neutral ang GOH?
-
Yup ayon dito sa Wiki[Castle's Treasure Box] dapat every 12AM ang respawn ng Treasurebox.
Based sa script ng Hercules agit_main.
//= - Treasure Chest spawning.//= Chests will NOT be saved anymore in the event of crashes.//= Treasures will NOT spawn on a location that already has//= treasure chest spawned.
sure naman na naka set ito properly
tignan mo po kung tama din yung ginawa ng mga player mo
Ibigsabhin ba Sir pag nag restart or nag @reloadscript ako ng server hindi na sya mag sspawn or mawawala na for that day?
-
Oo investment din alam ko pero pang dagdag lang yun every 5 points 1 TB. Wala naman ako ginagalaw na setting pero sabi ng my hawak ng agit wlang lumalabas na TB sa hawak nilang castle.
-
Bakit ganun minsan may chest pero madalas walang treasure box na nag sspawn sa AGIT?
Ano ba ang nakaka apekto sa pag labas ng mga box? need ba investment or what?
Pag hindi ba napuntahan ng isaktong 12AM mawawala na ung box?
-
Latest Rev na ba gamit mo? Na fix na sya..
Nareport ko na to noong March 25, pero hindi ko pa na try kung ok na..
http://herc.ws/board/tracker/issue-8122-sc-groomy-sc-weakness-and-sc-ignorance/
Ayun salamat KYEME! .no1 try ko now.. medyo luma na ang data ko April siguro..
-
Tanong ko lang po kung talaga bang 100% chance ang skill na to? masyadong malakas eh..
-
I want to reduce the chance of Masq. Skill. Can someone guide me how to?
case SC_ENERVATION: case SC_GROOMY: case SC_IGNORANCE: case SC_LAZINESS: case SC_UNLUCKY: case SC_WEAKNESS: if( !(tsc && tsc->data[type]) ) { int joblvbonus = 0; int rate = 0; if (is_boss(bl)) break; joblvbonus = ( sd ? sd->status.job_level : 50 ); //First we set the success chance based on the caster's build which increases the chance. rate = 10 * skill_lv + rnd_value( sstatus->dex / 12, sstatus->dex / 4 ) + joblvbonus + status->get_lv(src) / 10; // We then reduce the success chance based on the target's build. rate -= rnd_value( tstatus->agi / 6, tstatus->agi / 3 ) - tstatus->luk / 10 - ( dstsd ? (dstsd->max_weight / 10 - dstsd->weight / 10 ) / 100 : 0 ) - status->get_lv(bl) / 10; //Finally we set the minimum success chance cap based on the caster's skill level and DEX. rate = cap_value( rate, skill_lv + sstatus->dex / 20, 100); clif->skill_nodamage(src,bl,skill_id,0,sc_start(src,bl,type,rate,skill_lv,skill->get_time(skill_id,skill_lv))); if ( tsc && tsc->data[SC__IGNORANCE] && skill_id == SC_IGNORANCE) { //If the target was successfully inflected with the Ignorance status, drain some of the targets SP. int sp = 100 * skill_lv; if( dstmd ) sp = dstmd->level * 2; if( status_zap(bl,0,sp) ) status->heal(src,0,sp/2,3);//What does flag 3 do? [Rytech] } if ( tsc && tsc->data[SC__UNLUCKY] && skill_id == SC_UNLUCKY) { //If the target was successfully inflected with the Unlucky status, give 1 of 3 random status's. switch(rnd()%3) {//Targets in the Unlucky status will be affected by one of the 3 random status's reguardless of resistance. case 0: status->change_start(src,bl,SC_POISON,10000,skill_lv,0,0,0,skill->get_time(skill_id,skill_lv),10); break; case 1: status->change_start(src,bl,SC_SILENCE,10000,skill_lv,0,0,0,skill->get_time(skill_id,skill_lv),10); break; case 2: status->change_start(src,bl,SC_BLIND,10000,skill_lv,0,0,0,skill->get_time(skill_id,skill_lv),10); } } } else if( sd ) clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0); break;
-
Can I request this script for Sropho Card?
-
What do you mean because of renewal stats?
How to reduced SACRIFICE damage if user is wearing Ghostring Card and Develing? Anyone pls?
-
-
[elements]
in Server
example...
Archer VS Neutral Monster
Arrow ---------> 100% damage
Fire Arrow ---------> 100% damage
Crystal Arrow ---------> 100% damage
Arrow of Wind ---------> 100% damage
Stone Arrow ---------> 100% damage
Poison Arrow ---------> 100% damage
Silver Arrow ---------> 100% damage
Immaterial Arrow ---------> 70% damage
Archer VS Ghost Monster(lv1)
Arrow ---------> 70% damage
Fire Arrow ---------> 100% damage
Crystal Arrow ---------> 100% damage
Arrow of Wind ---------> 100% damage
Stone Arrow ---------> 100% damage
Poison Arrow ---------> 100% damage
Silver Arrow ---------> 100% damage
Immaterial Arrow ---------> 125% damage
for more reference : http://ro.doddlercon.com/wiki/index.php?title=Renewal_Changes#Element_Table
Idol Malu salamat po
-
case PA_SACRIFICE: wd.damage = sstatus->max_hp* 8/100; wd.damage2 = 0;#ifdef RENEWAL wd.damage = battle->calc_elefix(src, target, skill_id, skill_lv, wd.damage, nk, n_ele, s_ele, s_ele_, false, wd.flag); // temporary [malufett]#endif break;
Above is the formula of SACRIFICE skill. My question is why SACRI damage doesn't affected by Ghostring card and Deviling Card? Should have a reduction when wearing GR and DEV.
-
- script custom_drop -1,{OnNPCKillEvent: if ( !getcharid(1) ) { if ( checkidle() > 10 ) // 10 seconds end; if ( rand(4000) < 25 ) // .@rand_gc_drop ... 25/4000 = 1/160 getitem 512,1; if ( rand(2000) < 5 ) // .@rand_sc_drop .... 5/2000 = 1/400 getitem 513,1; if ( rand(1000) < 1 ) // .@rand_gc_drop .... 1/1000 getitem 511,1; } else { .@map$ = strcharinfo(3); // added a map check getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid $@partymemberaid[.@i]; if ( strcharinfo(3) != .@map$ || checkidle() > 10 ) continue; if ( rand(4000) < 25 ) // .@rand_gc_drop ... 25/4000 = 1/160 getitem 512,1; if ( rand(2000) < 5 ) // .@rand_sc_drop .... 5/2000 = 1/400 getitem 513,1; if ( rand(1000) < 1 ) // .@rand_gc_drop .... 1/1000 getitem 511,1; } } } end;}
I have a quick question about this script.
If I'm not mistaken this line strcharinfo(3) != .@map$
checks if all members of the party are in the same map?
But it doesn't work like that. Can I request a line of code that checks if the party members are not in the same map they will not get anything from the mobs.
-
I tested all elemental arrows on neutral attack but the damage are all the same.
Also changing arrows with other element doesn't seem to work vs GHOST property, all attack missed.im in renewal server.
-
[elements]
in Server
simple lang sagot diyan kasi neutral vs all element except ghost...ay 100% modifier ibig sabihin walang pagbabago always 100% ang tira mo di hihina at di lalakas
Sir pwede paki linaw or kung sino pwede mag explain ng mas clear.
Ibig sabihin ba pag normal attack ng archer kahit anong element ng arrow ilgay wlang pag babago sa damage vs all elements?
Except ghost??.. Meaning po kahit anong PALIT nya ng arrow property basta neutral vs GHOST hindi tatama?
PERO pag SKILL GINAMIT WITH ARROW PROPERTY vs GHOST tatama ba?
Kasi kahit anong arrow ayaw tumama sa ghost eh..
Paki explain.. thanks!
-
I have implemented a rentitem feature for new players to try out certain cards. My problem is, If they compound the Rental Card to an equipment, the card becomes permanent to them. Is there anyway to edit the rentitem script command to make rented cards stay rented and not become permanent. and also if the rental card is compounded in a equipment when it expires is it possible to delete the rental card while compunded?
IS THIS PROBLEM NORMAL AND THERE'S NO QUICK FIX RIGHT NOW? PLEASE CONFIRM.
-
wondering whats the correct answer to this question?
-
this script doesn't support multiple npc nor duplicate npc
nvm, I can write this one too
http://upaste.me/a40210640b9cc4c5d
note that there are 2 npcs inside, so remember remove 1 of them
so you cannot duplicate it, but have to make multiple copies of it
because the npc variable can overwrite each other if using npc duplicate
Hi I just want to ask if this script really doesnt support multiple rewards?
-
OnNPCKillEvent: if ( killedrid == 1002 ) { if ( !getcharid(1) ) { // if no party count++; } else { getmapxy .@map1$, .@x1, .@y1, 0; // killer position getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid $@partymemberaid[.@i]; getmapxy .@map2$, .@x2, .@y2, 0; if ( .@map1$ == .@map2$ && distance(.@x1,.@y1,.@x2,.@y2) <= 30 ) // same map and the distance is within 30 cell range count++; } } } } end;
This script was originally written by Annieruru.
I wan't to make a script that OnNPCKillEvent the party will get an item shared to the party who's distance to the killer is within 30 cells.
How can I do this?
Advice on how to make a client patch with Kagero and Obaro Job
in Client-Side Requests
Posted
First of all I don't know if this post make sense since I really dunno how it works. I just notice it on my live server.
I'm using 2014 client with these 2 new jobs. The problem is the players who uses SMALL CLIENT files + 2012 RO Files. Their client CRASH since it doesn't support new jobs.
Can someone guide me what files should I need to add in my GRF to solve the issue of crashing with old RO? Or maybe you want to share yours.