⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playerquest.cpp.svn-base

📁 ROSE的源代码。了解的自己研究,编译通过
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
                    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 + -