📄 playerquest.cpp.svn-base
字号:
LogQuest("Adding itemquest %lu to quest, script level=%i, v3=%u",questid,itemquest_script,myquest->thisquest->value3);
switch (myquest->thisquest->value3)
{
case 100:
{
//useful for spero quest (2000)
//Same for pomics quest (224)
//11 monsters killed=1 page...
myquest->items[i]++;
if (myquest->items[i]==11)
{
myquest->items[2]++;
}
}
break;
case 101:
{
//For pomics quest (224)
myquest->items[i]++;
if (myquest->items[i]==11)
{
//we deactivate 224 and activate 225
LogQuest("You should have the Red Paper, Special Pomics");
myquest->active = false;
ActiveQuest--;
CQuest* thisquestlc = GServer->GetQuestByID(225);
if(thisquestlc!=0)
{
if( ActiveQuest < 10 )
{
QUESTS* myquestlc = new QUESTS;
assert(myquestlc);
myquestlc->questid = thisquestlc->questid;
myquestlc->thisquest = thisquestlc;
myquestlc->active = true;
for(int i=0;i<5;i++)
myquestlc->items[i] = 0;
myquestlc->items[0] = 1;
MyQuest.push_back( myquestlc );
ActiveQuest++;
}
}
}
}
break;
case 102:
{
//For RoseMaryDoll quest
myquest->items[i]++;
if (myquest->items[i]==5)
{
myquest->items[1]++;
}
}
break;
case 103:
{
//For Sellion's memorantum (813)
myquest->items[i]++;
if (myquest->thisquest->id==813&&myquest->items[0]==7)
{
//we deactivate 813 and activate 814
LogQuest("You should have received the memorantum");
myquest->active = false;
ActiveQuest--;
CQuest* thisquestlc = GServer->GetQuestByID(814);
if(thisquestlc!=0)
{
if( ActiveQuest < 10 )
{
QUESTS* myquestlc = new QUESTS;
assert(myquestlc);
myquestlc->questid = thisquestlc->questid;
myquestlc->thisquest = thisquestlc;
myquestlc->active = true;
for(int i=0;i<5;i++)
myquestlc->items[i] = 0;
myquestlc->items[0] = 1;
MyQuest.push_back( myquestlc );
ActiveQuest++;
}
}
}
}
break;
case 104:
{
//standard issue for hunting pratices
myquest->items[0]++;
//Patch for the soldier 20 quest "Living as a True Soldier"
if (myquest->thisquest->id==857&&i!=0)
{
switch (i)
{
case 1:
{
//Long Sword
char bufferquest[200];
sprintf ( bufferquest, "You received an Long Sword !");
GServer->pakGMItemQuest(this,5,8,1,0,100,0,0,bufferquest);
}
break;
case 2:
{
//Scimitar
char bufferquest[200];
sprintf ( bufferquest, "You received a Scimitar !");
GServer->pakGMItemQuest(this,164,8,1,0,100,0,0,bufferquest);
}
break;
default:
{
//Battle Axe
char bufferquest[200];
sprintf ( bufferquest, "You received a Battle Axe !");
GServer->pakGMItemQuest(this,133,8,1,0,100,0,0,bufferquest);
}
break;
}
myquest->active=false;
ActiveQuest--;
}
//Patch for the quest "Toddy stole the jewels"
if (myquest->thisquest->id==956&&i!=0)
{
switch (i)
{
case 1:
{
//orc bow
char bufferquest[200];
sprintf ( bufferquest, "You received an Orc Bow !");
GServer->pakGMItemQuest(this,204,8,1,0,100,0,0,bufferquest);
}
break;
case 2:
{
//katar
char bufferquest[200];
sprintf ( bufferquest, "You received a Katar !");
GServer->pakGMItemQuest(this,403,8,1,0,100,0,0,bufferquest);
}
break;
default:
{
//money
CharInfo->Zulies+=5000;
BEGINPACKET( pak, 0x71e );
ADDQWORD ( pak, CharInfo->Zulies );
ADDBYTE ( pak, 0x00 );
client->SendPacket( &pak );
}
break;
}
myquest->active=false;
ActiveQuest--;
}
}
break;
case 105:
{
//for first job dealer.
myquest->items[i]=5;
}
break;
case 3:
{
if (myquest->thisquest->id==2010)
{
//for the vaccine spero quest, -- this time...
myquest->items[i]--;
}
else
{
myquest->items[i]++;
}
}
break;
case 106:
{
//Patch for solitary Orias
if (myquest->items[0]<5)
{
myquest->items[0]++;
}
else
{
if (myquest->items[1]<5)
{
myquest->items[1]++;
}
else
{
myquest->items[2]++;
}
}
}
break;
case 107:
{
//Patch for Solitary Orias (reward)
switch (i)
{
case 0:
{
//Animal Rod
char bufferquest[200];
sprintf ( bufferquest, "You received Animal Rod !");
GServer->pakGMItemQuest(this,303,8,1,0,100,26,0,bufferquest);
}
break;
case 1:
{
//Sorcerer's wand
char bufferquest[200];
sprintf ( bufferquest, "You received Sorcerer's Wand !");
GServer->pakGMItemQuest(this,333,8,1,0,100,26,0,bufferquest);
}
break;
default:
{
//money
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -