Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #1  
Old 11-13-2012, 05:57 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

Why not just remove the spells that cast those buffs if you don't want players to have them?
Reply With Quote
  #2  
Old 11-13-2012, 08:57 AM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

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);
and then split up the $timer name into parts so you can get the client in EVENT_TIMER like this:

Code:
if ( $timer =~ /^checkbuffs|/ ) {
    my ($timer, $name) = split(/\|/, $timer);
    my $client = $entity_list->GetClientByName($name);
    # do whatever with $client here
}
EDIT:
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...

Last edited by c0ncrete; 11-13-2012 at 09:45 AM.. Reason: corrected syntax
Reply With Quote
  #3  
Old 11-13-2012, 10:02 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

If you want to remove specific buffs and not just all, you can probably use one of the following:

Code:
   BuffFadeByEffect(effectid, skipslot= -1)
   BuffFadeBySlot(slot, iRecalcBonuses= true)
   BuffFadeBySpellID(spell_id)
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #4  
Old 11-13-2012, 12:38 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

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.
Reply With Quote
  #5  
Old 11-13-2012, 04:58 PM
Drakiyth's Avatar
Drakiyth
Dragon
 
Join Date: Apr 2012
Posts: 545
Default

Quote:
Originally Posted by lerxst2112 View Post
Why not just remove the spells that cast those buffs if you don't want players to have them?

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.
Reply With Quote
  #6  
Old 11-13-2012, 05:04 PM
Caryatis
Dragon
 
Join Date: May 2009
Location: Milky Way
Posts: 539
Default

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.
Reply With Quote
  #7  
Old 11-13-2012, 06:49 PM
Drakiyth's Avatar
Drakiyth
Dragon
 
Join Date: Apr 2012
Posts: 545
Default

Thank you Caryatis, I appreciate the response. I have a fix for it so this thread is pretty much done now.

Thank you guys.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:50 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3