Log in

View Full Version : Faction and invisibility


provocating
11-03-2012, 07:50 AM
Regarding a quest in sseru, in particular the a_file_cabinet.pl does a separate check need to be done in an 'or' statement to detect invisibility or does faction change when invisible ? I have a player that is trying to complete this quest and he is invisible.

sub EVENT_ITEM {
if ($faction<=5) { # you must be indiff, or invisible
# 29855 : Replacement Records
if (plugin::check_handin(\%itemcount,29855=>1)) {
quest::summonitem(29856); # 29856 Original Records
quest::emote("slams shut after you take the original records out.");
# the chest spawns Guard Hargrar
$guardhargrar = quest::spawn2(159687,0,0,$x,$y,$z,$h);
$attack = $entity_list->GetMobID($guardhargrar);
$gogetem = $attack->CastToNPC();
$gogetem->AddToHateList($client, 1);
}
plugin::return_items(\%itemcount); # return unused items
} else { # not at least indiff, he will say this
quest::say("I will do nothing to aid beings like you.");
}
}

#End of File, Zone:sseru NPC:159420 -- A_File_Cabinet

ChaosSlayerZ
11-03-2012, 01:00 PM
I am not sure how this works on Emu, but on LIVE it worked like this:

let say You wanted to give quest item to npc with whom you didn't have at least Indifferent faction.

You would invis and place quest item into npc trade slot
At this point your invis is effectively HALF-BROKEN (npc still cons indifferent and won't agro if its KOS, but your quest turn in is effectively ruined)
You would then need another player cast invis on you again, and only then complete the trade with npc.

If it works the same way on Equ (which I don't know if it does), then its impossible to do this alone - you must have a 2nd player casting invis on you in mid trade.

provocating
11-03-2012, 01:51 PM
I bet that is what is happening and he is not realizing it.

Kennebec
11-03-2012, 04:44 PM
I verified that Invis does not drop during the hand in and cannot cast invis (your spell would not take hold).

provocating
11-03-2012, 05:19 PM
I am going to temporarily remove the faction check but maybe there is a quest plugin for if a player has invis ? If so I can just do an "and" statement in the "if" block.

lerxst2112
11-03-2012, 06:22 PM
http://www.eqemulator.net/wiki/wikka.php?wakka=QuestObjects

See Mob::IsInvisible(other= 0)

Also:


void Client::Handle_OP_TradeRequest(const EQApplicationPacket *app)
{
if (app->size != sizeof(TradeRequest_Struct)) {
LogFile->write(EQEMuLog::Error, "Wrong size: OP_TradeRequest, size=%i, expected %i", app->size, sizeof(TradeRequest_Struct));
return;
}
// Client requesting a trade session from an npc/client
// Trade session not started until OP_TradeRequestAck is sent

BreakInvis();


This seems to set the invisibility flag on the client to false without removing the buff that made them invisible. Other methods of removing invisibility, like a melee attack fade the buff immediately. Not sure if that's a bug or not.

provocating
11-04-2012, 12:39 PM
Sometime this week, when I get a break I will work on this quest and check the functionality.

Furniture
07-23-2013, 09:15 PM
still broken btw