Quest to remove unwanted buffs.
I'm looking to create a quest that constantly removes unwanted buffs from players, but I have failed to come up with anything solid.
EDIT: if ($client && $client->FindBuff(xxxx) && $ulevel <= (xxxx)) $client->BuffFadeAll(); is the syntax I'm using but can't seem to find a place to constantly check it. (This works) Tried making this a player.pl in templates and can't get anything going. Tried sub EVENT_TARGET_CHANGE{ and a sub EVENT_TIMER so far but no luck. Thanks all. |
Why not just remove the spells that cast those buffs if you don't want players to have them?
|
EVENT_TIMER doesn't export the $client object, so your conditional never passes.
you can try to dynamically name the timer in player.pl like this: Code:
quest::settimer('checkbuffs|' . $client->GetName(), 10); Code:
if ( $timer =~ /^checkbuffs|/ ) { changed delimiter to pipe (|) instead of underscore (_), as some character names may have underscores to indicate spaces. also, i'm not sure if you're going to have access to the entity list in global_player.pl, so you might have to use it in each zone's player.pl instead. EDIT AGAIN: sheesh... i'm having all sorts of syntax issues this morning. i blame the cold weather... |
If you want to remove specific buffs and not just all, you can probably use one of the following:
Code:
BuffFadeByEffect(effectid, skipslot= -1) |
oops... i was wrong about the $client object not being exposed to EVENT_TIMER in player.pl... that would only apply to npc scripts.
i've also found that quests\templates\global_player.pl runs in addition to quests\<zone>\player.pl (global_player events fire off first if there are duplications). i was under the impression the global script only ran if the zone-specific script didn't exist. hooray for learning. |
Quote:
They are only undesired at specific levels and the easy fix would be if the Effect: Min Level would actually work on spell creation. (Anybody know how to get this to actually work with Null's spell editor or even a navicat column/sql change? I've decided to just make scripts for each buff; using the sub EVENT_SPELL_EFFECT_BUFF_TIC_CLIENT{ Checks for the level of the user and it works like a charm. |
Effect: Min Level is a focus effect which requires the spell being cast to be at least that level to be affected by the focus, not that target of a spell must be such a level.
|
Thank you Caryatis, I appreciate the response. I have a fix for it so this thread is pretty much done now.
Thank you guys. |
I have a mount with extra HP which has a level required to click / mount, but how would I force the player to get off the mount (no more buff) while doing a delevel quest?
|
I think that spell line uses this effect (from zone/spdat.h):
http://code.google.com/p/projecteqem...r/zone/spdat.h Code:
#define SE_SummonHorse 113 // implemented Code:
$client->BuffFadeByEffect(113); |
Thanks much! :)
|
Now I don't have to list every spell or other methods of getting creative.
The BuffFadeByEffect + list of ids on spdat.h was extremely useful. Thanks again Trevius! |
All times are GMT -4. The time now is 06:39 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.