منتدي اكواد

منتدي اكواد (https://code.vpscairo.com/index.php)
-   تطوير سيرفرات كونكر (https://code.vpscairo.com/forumdisplay.php?f=11)
-   -   FindGm (https://code.vpscairo.com/showthread.php?t=145)

محمد ياسر 2019-04-23 04:11 PM

FindGm
 


بسم اللة الرحمن الرحيم

بما ان المجال نايم ننزل حاجة تنعنش الناس فكرة FindGm

من سورس ماتركس فكرة سهلة و بسيطة و جميلة :D

حضرتك هتعمل كلاس ف اي مكان باسم FindGm

و تضيف فية ,

كود PHP:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Generic;
using Conquer_Online_Server.Game;
using Conquer_Online_Server.Database;
using Conquer_Online_Server.Network.GamePackets;
using System.Drawing;
using Conquer_Online_Server.Client;

namespace 
Conquer_Online_Server
{
    class 
FindGm
    
{

        static 
ushort Mapid = (ushort)Kernel.RandFromGivingNums(1036);
        static 
Map Map Kernel.Maps[Mapid];
        const 
int ITEMS 1000CPSMoney 1001;
        
//static int CurrentBoxes = 0;
        
public static Conquer_Online_Server.Interfaces.INpc npc;
        static 
ushort tempXtempY 0;
        
//static uint BaseId = 101002;
        
static List<PointVaildOnes = new List<Point>();
        
//public static bool OnGoing;

        
public static void Generate()
        {
            try
            {
                {
                    if (
Map != null)
                    {
                        if (
npc != null)
                        {
                            
Map.RemoveNpc(npc);
                        }
                    }
                    
Mapid = (ushort)Kernel.RandFromGivingNums(1036);
                    
Map Kernel.Maps[Mapid];
                
Caspr:
                    var 
cord Map.RandomCoordinates();
                    
tempX cord.Item1;
                    
tempY cord.Item2;
                    if (
Map.Floor[tempXtempYMapObjectType.Itemnull])
                    {
                        
npc = new Network.GamePackets.NpcSpawn();
                        
npc.UID Map.EntityUIDCounter.Next;
                        
npc.Mesh = (ushort)Kernel.RandFromGivingNums(29686);
                        
npc.Type Enums.NpcType.Talker;
                        
npc.MapID Map.ID;
                        
npc.tempX;
                        
npc.tempY;
                        
npc.Name "YouFindMe";
                        
Map.AddNpc(npc);
                        
//CurrentBoxes++;
                        
Kernel.SendWorldMessage(new Message("[Quest GM] Find GM in Map" + ((Enums.Maps)Mapid).ToString(), Color.RedMessage.Service));
                        
Console.WriteLine(npc.Name " has shown up in " + ((Enums.Maps)npc.MapID).ToString() + " (" npc.", " npc.")");
                    }
                    else goto 
Caspr;
                }
            }
            catch (
Exception e)
            {
                
Console.WriteLine(e.ToString());
            }

        }

        public static 
void Reward(GameClient client)
        {

            
int prize Kernel.RandFromGivingNums(ITEMSCPSMoney);
            
//#warning TREASURE BOX PRIZE
            
switch (prize)
            {
                default:
                case 
CPSMoney:
                    {
//Conan
                        
uint amount = (uint)Kernel.RandFromGivingNums(50000001000000090000007000000);
                        
client.Entity.ConquerPoints += amount;
                        
Kernel.SendWorldMessage(new Message(client.Entity.Name " got " amount " CPs while Find GM " + ((Enums.Maps)Mapid).ToString(), Color.WhiteMessage.Talk));
                        break;
                    }
                case 
ITEMS:
                    {
                       
// Database.ConquerItemBaseInformation temp;
                        
uint itemid = (uint)Kernel.RandFromGivingNums(72731772912230042473004249300424830058923005891);
                        
client.Inventory.Add(itemid01);
                        
//Database.ConquerItemInformation.BaseInformations.TryGetValue(itemid, out temp);
                        
Kernel.SendWorldMessage(new Message(client.Entity.Name " Got " ITEMS " while Find GM " + ((Enums.Maps)Mapid).ToString(), Color.WhiteMessage.BroadcastMessage));
                        break;
                    }
            }

            
//CurrentBoxes--;
            // client.Entity.ConquerPoints += 1000;
            // client.Entity.TreasuerPoints += 1;
        
}
    }


بعد كدة حضرتك هتخش ع كلاس Npc.Cs

و ف اخروا او تبحث عن
كود PHP:

if (client.ActiveNpc >= 101002 && client.Entity.MapID == 10002

عشان مش تتلغبط بس :D

و تضيف فوقة ,
كود PHP:

if (FindGm.npc != null)
                           if (
client.ActiveNpc == FindGm.npc.UID)
                           {
                                
client.SendScreen(new Network.GamePackets.Data(true) { UID client.ActiveNpcID Network.GamePackets.Data.RemoveEntity }, true);
                                
client.Map.RemoveNpc(client.Map.Npcs[client.ActiveNpc]);
                                
FindGm.Reward(client);
                            } 

و بعدين نخش ع World و ضيف
كود PHP:

#region FindGm
            
if (Now64.Minute == 25 && Now64.Second == 0)
            {
                
FindGm.Generate();
            }
            
#endregion 

تحت اي اوتو انفينت بقا :D

صورتين كدة ع الماشي :D

عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع
شرح الفكرة هي عبارة عن وقت محدد انتا بتحددوا اشكل دة هيطلع ف مكان ف الماركت

هتيجي رسالة للعيبة تقولهم انو طلع و اليلقية الاول هيتك علية ياخد هدية

اما ايتم تفتحوا يديك حاجة او سي بي :D

فكرة سهلة و جميلة



midoazoz 2019-11-25 12:55 PM

رد: FindGm
 
لما بتشتغل بتجيب ايرور في القونصول في
كود PHP:

var cord Map.RandomCoordinates(); 


Rider 2019-11-25 05:08 PM

رد: FindGm
 
اقتباس:

المشاركة الأصلية كتبت بواسطة midoazoz (المشاركة 23032)
لما بتشتغل بتجيب ايرور في القونصول في
كود PHP:

var cord Map.RandomCoordinates(); 


امسح دول
كود PHP:

var cord Map.RandomCoordinates();
                    
tempX cord.Item1;
                    
tempY cord.Item2

و حط دول
كود PHP:

tempX = (ushort)Kernel.Random.Next(0Map.Floor.Bounds.Width);
                    
tempY = (ushort)Kernel.Random.Next(0Map.Floor.Bounds.Height); 


Rider 2019-11-25 05:08 PM

رد: FindGm
 
ايوه بقا يا مولعها عاش


الساعة الآن 04:27 AM

مرحبا بكم في منتدي اكواد لتطوير الالعاب