本文整理汇总了C++中P_ITEM::getCurrentNameC方法的典型用法代码示例。如果您正苦于以下问题:C++ P_ITEM::getCurrentNameC方法的具体用法?C++ P_ITEM::getCurrentNameC怎么用?C++ P_ITEM::getCurrentNameC使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类P_ITEM
的用法示例。
在下文中一共展示了P_ITEM::getCurrentNameC方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ItemDroppedOnGuard
static bool ItemDroppedOnGuard(NXWCLIENT ps, PKGx08 *pp, P_ITEM pi)
{
if (ps == NULL)
return false;
VALIDATEPIR(pi, false);
char temp[TEMP_STR_SIZE]; //xan -> this overrides the global temp var
NXWSOCKET s=ps->toInt();
P_CHAR pc = ps->currChar();
VALIDATEPCR(pc,false);
P_CHAR pc_t=pointers::findCharBySerial(pp->Tserial); //the guard
VALIDATEPCR(pc_t,false);
// Search for the key word "the head of"
if( strstr( pi->getCurrentNameC(), "the head of" ) ) //!!! Wrong! it must check the ItemID, not the name :(
{
// This is a head of someone, see if the owner has a bounty on them
P_CHAR own=pointers::findCharBySerial(pi->getOwnerSerial32());
VALIDATEPCR(own,false);
if( own->questBountyReward > 0 )
{
// Give the person the bounty assuming that they are not the
// same person as the reward is for
if( pc->getSerial32() != own->getSerial32() )
{
// give them the gold for bringing the villan to justice
addgold( s, own->questBountyReward );
pc->playSFX( goldsfx( own->questBountyReward ) );
// Now thank them for their hard work
sprintf( temp, TRANSLATE("Excellent work! You have brought us the head of %s. Here is your reward of %d gold coins."),
own->getCurrentNameC(), own->questBountyReward );
pc_t->talk( s, temp, 0);
// Delete the Bounty from the bulletin board
BountyDelete(own );
// xan : increment fame & karma :)
pc->modifyFame( ServerScp::g_nBountyFameGain );
pc->IncreaseKarma(ServerScp::g_nBountyKarmaGain);
}
else
pc_t->talk( s, TRANSLATE("You can not claim that prize scoundrel. You are lucky I don't strike you down where you stand!"),0);
// Delete the item
pi->Delete();
}
}
return true;
}
示例2: Item_ToolWearOut
/*!
\brief apply wear out to item, delete if necessary
\author Ripper, rewritten by Luxor
\return bool
\param s socket of player who wear out the item
\param pi pointer to item to wear out
\todo become a method of cItem
*/
static bool Item_ToolWearOut(NXWSOCKET s, P_ITEM pi)
{
VALIDATEPIR(pi, false);
if ( s < 0 || s >= now )
return false;
P_CHAR pc = pointers::findCharBySerial(currchar[s]);
VALIDATEPCR(pc, false);
if( chance(5) ) { // has item been destroyed ??
pi->hp--;
if ( pi->hp <= 0 ) {
pc->sysmsg("Your %s has been destroyed", pi->getCurrentNameC());
pi->Delete();
return true;
}
}
return false;
}
示例3: doubleclick
//.........这里部分代码省略.........
pi->type = ITYPE_POLYMORPH;
return;
case ITYPE_ARMY_ENLIST:
enlist(s, pi->morex);
pi->Delete();
return;
case ITYPE_TELEPORT:
pc->MoveTo( pi->morex,pi->morey,pi->morez );
pc->teleport();
return;
case ITYPE_DRINK:
switch (rand()%2)
{
case 0: pc->playSFX(0x0031); break;
case 1: pc->playSFX(0x0030); break;
}
pi->ReduceAmount(1);
pc->sysmsg( TRANSLATE("Gulp !"));
return;
case ITYPE_GUILDSTONE:
if ( pi->getId() == 0x14F0 || pi->getId() == 0x1869 ) // Check for Deed/Teleporter + Guild Type
{
pc->fx1 = DEREF_P_ITEM(pi);
Guilds->StonePlacement(s);
return;
}
else if (pi->getId() == 0x0ED5) // Check for Guildstone + Guild Type
{
pc->fx1 = DEREF_P_ITEM(pi);
Guilds->Menu(s, 1);
return;
}
else
WarnOut("Unhandled guild item type named: %s with ID of: %X\n", pi->getCurrentNameC(), pi->getId());
return;
case ITYPE_PLAYER_VENDOR_DEED: // PlayerVendors deed
{
P_CHAR vendor = npcs::AddNPCxyz(-1, 2117, charpos.x, charpos.y, charpos.z);
if ( !ISVALIDPC(vendor) )
{
WarnOut("npc-script couldnt find vendor !\n");
return;
}
los = 0;
vendor->npcaitype = NPCAI_PLAYERVENDOR;
vendor->MakeInvulnerable();
vendor->unHide();
vendor->stealth=INVALID;
vendor->dir = pc->dir;
vendor->npcWander = WANDER_NOMOVE;
vendor->SetInnocent();
vendor->setOwnerSerial32( pc->getSerial32() );
vendor->tamed = false;
pi->Delete();
vendor->teleport();
char temp[TEMP_STR_SIZE]; //xan -> this overrides the global temp var
sprintf( temp, TRANSLATE("Hello sir! My name is %s and i will be working for you."), vendor->getCurrentNameC());
vendor->talk(s, temp, 0);
return;
}
case ITYPE_TREASURE_MAP:
Skills::Decipher(pi, s);
return;
示例4: pack_item
//.........这里部分代码省略.........
if( pCont->type==ITYPE_TRASH)
{
pItem->Delete();
ps->sysmsg(TRANSLATE("As you let go of the item it disappears."));
return;
}
// - Spell Book
if (pCont->type==ITYPE_SPELLBOOK)
{
if (!pItem->IsSpellScroll72())
{
ps->sysmsg(TRANSLATE("You can only place spell scrolls in a spellbook!"));
Sndbounce5(s);
if (ps->isDragging())
{
ps->resetDragging();
item_bounce3(pItem);
}
if (pCont->getId() >= 0x4000)
senditem(s, pCont);
return;
}
pack= pc->getBackpack();
if(ISVALIDPI(pack))
{
if ((!(pCont->getContSerial()==pc->getSerial32())) &&
(!(pCont->getContSerial()==pack->getSerial32())) && (!(pc->CanSnoop())))
{
ps->sysmsg(TRANSLATE("You cannot place spells in other peoples spellbooks."));
item_bounce6(ps,pItem);
return;
}
if( strncmp(pItem->getCurrentNameC(), "#", 1) )
pItem->getName(temp2);
else
strcpy(temp2,pItem->getCurrentNameC());
NxwItemWrapper sii;
sii.fillItemsInContainer( pCont, false );
for( sii.rewind(); !sii.isEmpty(); sii++ ) {
P_ITEM pi_ci=sii.getItem();
if (ISVALIDPI(pi_ci))
{
if( strncmp(pi_ci->getCurrentNameC(), "#", 1) )
pi_ci->getName(temp);
else
strcpy(temp,pi_ci->getCurrentNameC());
if(!(strcmp(temp,temp2)) || !(strcmp(temp,"All-Spell Scroll")))
{
ps->sysmsg(TRANSLATE("You already have that spell!"));
item_bounce6(ps,pItem);
return;
}
}
// Juliunus, to prevent ppl from wasting scrolls.
if (pItem->amount > 1)
{
ps->sysmsg(TRANSLATE("You can't put more than one scroll at a time in your book."));
item_bounce6(ps,pItem);
return;
}