public unsafe void CmdMob(TPlayObject Play, TGameCmd Cmd, string sMonName, int nCount, int nLevel, int nMonTpye) { int I; int nX = 0; int nY = 0; TBaseObject Monster; bool BoIsNGMon; if ((Play.m_btPermission < Cmd.nPermissionMin)) { Play.SysMsg(TMsgConst.g_sGameCommandPermissionTooLow, TMsgColor.c_Red, TMsgType.t_Hint); return; } if ((sMonName == "") || ((sMonName != "") && (sMonName[0] == '?'))) { if (M2Share.g_Config.boGMShowFailMsg) { Play.SysMsg(string.Format(TMsgConst.g_sGameCommandParamUnKnow, Cmd.sCmd, TMsgConst.g_sGameCommandMobHelpMsg), TMsgColor.c_Red, TMsgType.t_Hint); } return; } if (nCount <= 0) { nCount = 1; } if (!(nLevel >= 0 && nLevel <= 10)) { nLevel = 0; } BoIsNGMon = false; BoIsNGMon = nMonTpye != 0;//是否内功怪 nCount = HUtil32._MIN(64, nCount); Play.GetFrontPosition(ref nX, ref nY); for (I = 0; I < nCount; I++) { Monster = M2Share.UserEngine.RegenMonsterByName(Play.m_PEnvir.sMapName, nX, nY, sMonName); if (Monster != null) { Monster.m_boIsNGMonster = BoIsNGMon; Monster.m_btSlaveMakeLevel = (byte)nLevel; Monster.m_btSlaveExpLevel = (byte)nLevel; Monster.RecalcAbilitys(); Monster.RefNameColor(); } else { Play.SysMsg(TMsgConst.g_sGameCommandMobMsg, TMsgColor.c_Red, TMsgType.t_Hint); break; } } }
public TGameCommand() { //普通玩家游戏权限 Data = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "Data" }; PRVMSG = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "PrvMsg" }; ALLOWMSG = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "AllowMsg" }; LETSHOUT = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "AllowMsg" }; LETTRADE = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "LetTrade" }; LETGUILD = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "LetGuild" }; ENDGUILD = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "EndGuild" }; BANGUILDCHAT = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "BanGuildChat" }; AUTHALLY = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "AuthAlly" }; AUTH = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "联盟" }; AUTHCANCEL = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "取消联盟" }; // DIARY = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "Diary" }; USERMOVE = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "Move" }; SEARCHING = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "Searching" }; ALLOWGROUPCALL = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "AllowGroupRecall" }; GROUPRECALLL = new TGameCmd() { nPermissionMin = 0, nPermissionMax = 10, sCmd = "GroupRecall" }; ALLOWGUILDRECALL = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "AllowGuildRecall" }; GUILDRECALLL = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "GuildRecall" }; UNLOCKSTORAGE = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "UnLockStorage" }; UnLock = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "UnLock" }; __Lock = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "Lock" }; PASSWORDLOCK = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "PasswordLock" }; SETPASSWORD = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "SetPassword" }; CHGPASSWORD = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "ChgPassword" }; CLRPASSWORD = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "ClrPassword" }; UNPASSWORD = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "UnPassword" }; MEMBERFUNCTION = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "MemberFunc" }; MEMBERFUNCTIONEX = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "MemberFuncEx" }; DEAR = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "Dear" }; ALLOWDEARRCALL = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "AllowDearRecall" }; DEARRECALL = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "DearRecall" }; MASTER = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "Master" }; ALLOWMASTERRECALL = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "AllowMasterRecall" }; MASTERECALL = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "MasterRecall" }; ATTACKMODE = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "AttackMode" }; REST = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "Rest" }; TAKEONHORSE = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "骑马" }; TAKEOFHORSE = new TGameCmd { nPermissionMin = 0, nPermissionMax = 10, sCmd = "下马" }; //客服游戏权限 Move = new TGameCmd() { nPermissionMin = 3, nPermissionMax = 6, sCmd = "Move" }; POSITIONMOVE = new TGameCmd() { nPermissionMin = 3, nPermissionMax = 6, sCmd = "PositionMove" }; HUMANLOCAL = new TGameCmd() { nPermissionMin = 3, nPermissionMax = 10, sCmd = "HumanLocal" }; INFO = new TGameCmd() { nPermissionMin = 3, nPermissionMax = 10, sCmd = "Info" }; MOBLEVEL = new TGameCmd() { nPermissionMin = 3, nPermissionMax = 10, sCmd = "MobLevel" }; MOBCOUNT = new TGameCmd() { nPermissionMin = 3, nPermissionMax = 10, sCmd = "MobCount" }; HUMANCOUNT = new TGameCmd() { nPermissionMin = 3, nPermissionMax = 10, sCmd = "HumanCount" }; Map = new TGameCmd() { nPermissionMin = 3, nPermissionMax = 10, sCmd = "Map" }; //GM权限 KICK = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Kick" }; TING = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Ting" }; SUPERTING = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SuperTing" }; MAPMOVE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "MapMove" }; SHUTUP = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Shutup" }; RELEASESHUTUP = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReleaseShutup" }; SHUTUPLIST = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ShutupList" }; GAMEMASTER = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "GameMaster" }; OBSERVER = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Observer" }; SUEPRMAN = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Superman" }; Level = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Level" }; SABUKWALLGOLD = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SabukWallGold" }; RECALL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Recall" }; REGOTO = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReGoto" }; SHOWFLAG = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "showflag" }; BANGMMSG = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "BANGMMSG" }; MOB = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Mob" }; MOBNPC = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "MobNpc" }; DELNPC = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DelNpc" }; NPCSCRIPT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "NpcScript" }; RECALLMOB = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "RecallMob" }; LUCKYPOINT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "LuckyPoint" }; LOTTERYTICKET = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "LotteryTicket" }; RELOADGUILD = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadGuild" }; RELOADLINENOTICE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadLineNotice" }; RELOADABUSE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadAbuse" }; BACKSTEP = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Backstep" }; FREEPENALTY = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "FreePK" }; PKPOINT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "PKpoint" }; IncPkPoint = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "IncPkPoint" }; HUNGER = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Hunger" }; HAIR = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "hair" }; TRAINING = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Training" }; DELETESKILL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DeleteSkill" }; CHANGEJOB = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ChangeJob" }; CHANGEGENDER = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ChangeGender" }; Mission = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Mission" }; MobPlace = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "MobPlace" }; DELETEITEM = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DeleteItem" }; CLEARMISSION = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ClearMission" }; SETFLAG = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "setflag" }; RECONNECTION = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Reconnection" }; DISABLEFILTER = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DisableFilter" }; CHGUSERFULL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "CHGUSERFULL" }; CHGZENFASTSTEP = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "CHGZENFASTSTEP" }; CONTESTPOINT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ContestPoint" }; STARTCONTEST = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "StartContest" }; ENDCONTEST = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "EndContest" }; ANNOUNCEMENT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Announcement" }; CHANGEITEMNAME = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ChangeItemName" }; DISABLESENDMSG = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DisableSendMsg" }; ENABLESENDMSG = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "EnableSendMsg" }; DISABLESENDMSGLIST = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DisableSendMsgList" }; KILL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Kill" }; MAKE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "make" }; SMAKE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Supermake" }; BonusPoint = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "BonusPoint" }; DELBONUSPOINT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DelBonusPoint" }; RESTBONUSPOINT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "RestBonusPoint" }; FIREBURN = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "FireBurn" }; TESTFIRE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "TestFire" }; TESTSTATUS = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "TestStatus" }; DELGOLD = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DelGold" }; ADDGOLD = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "AddGold" }; DELGAMEGOLD = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DelGamePoint" }; ADDGAMEGOLD = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "AddGamePoint" }; GAMEGOLD = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "GameGold" }; GAMEPOINT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "GamePoint" }; CREDITPOINT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "CreditPoint" }; REFINEWEAPON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "RefineWeapon" }; RELOADADMIN = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadAdmin" }; ReLoadNpc = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadNpc" }; RELOADMANAGE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadManage" }; RELOADROBOTMANAGE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadRobotManage" }; RELOADROBOT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadRobot" }; RELOADMONITEMS = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadMonItems" }; RELOADITEMDB = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadItemDB" }; RELOADMAGICDB = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadMagicDB" }; RELOADMONSTERDB = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReloadMonsterDB" }; RELOADMINMAP = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReLoadMinMap" }; ReAlive = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReAlive" }; ADJUESTLEVEL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "AdjustLevel" }; ADJUESTEXP = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "AdjustExp" }; AddGuild = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "AddGuild" }; DELGUILD = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DelGuild" }; CHANGESABUKLORD = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ChangeSabukLord" }; FORCEDWALLCONQUESTWAR = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ForcedWallconquestWar" }; ADJUESTTESTLEVEL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "AdjustTestLevel" }; TRAININGSKILL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "TrainingSkill" }; RECALLMOBEX = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "RECALLMOBEX" }; //召唤宝宝 GIVEMINE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "GIVEMINE" }; //给指定纯度的矿石 MOVEMOBTO = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "MOVEMOBTO" }; //将指定坐标的怪物移动到新坐标 CLEARITEMMAP = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "CLEARITEMMAP" }; //清除地图物品 GAMEDIAMOND = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "GAMEDIAMOND" }; //调整金刚石 GAMEGIRD = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "GAMEGIRD" }; //调整金刚石 GAMEGLORY = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "GAMEGLORY" }; //调整荣誉 HEROLEVEL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "HEROLEVEL" }; //调整英雄等级 HEROLOYAL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "HEROLOYAL" }; //调整英雄的忠诚度 NGLEVEL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "NGLEVEL" }; //调整内功等级 SysMsg = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SysMsg" }; //千里传音 WHO = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Who" }; TOTAL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "Total" }; MAPINFO = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "MapInfo" }; CHANGEDEARNAME = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DearName" }; CHANGEMASTERNAME = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "MasterName" }; STARTQUEST = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "StartQuest" }; SETPERMISSION = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SetPermission" }; CLEARMON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ClearMon" }; RENEWLEVEL = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ReNewLevel" }; DENYIPLOGON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DenyIPLogon" }; DENYACCOUNTLOGON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DenyAccountLogon" }; DENYCHARNAMELOGON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DenyCharNameLogon" }; DELDENYIPLOGON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DelDenyIPLogon" }; DELDENYACCOUNTLOGON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DelDenyAccountLogon" }; DELDENYCHARNAMELOGON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "DelDenyCharNameLogon" }; SHOWDENYIPLOGON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ShowDenyIPLogon" }; SHOWDENYACCOUNTLOGON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ShowDenyAccountLogon" }; SHOWDENYCHARNAMELOGON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ShowDenyCharNameLogon" }; VIEWWHISPER = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ViewWhisper" }; SPIRIT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SPIRIT" }; SPIRITSTOP = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SPIRITSTOP" }; SetMapMode = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SetMapMode" }; SHOWMAPMODE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ShowMapMode" }; TESTSERVERCONFIG = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "TestServerConfig" }; TESTGETBAGITEM = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "TestGetBagItem" }; CLEARBAG = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ClearBag" }; SHOWUSEITEMINFO = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "ShowUseItemInfo" }; BINDUSEITEM = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "BindUseItem" }; MOBFIREBURN = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "MobFireBurn" }; TESTSPEEDMODE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "TestSpeedMode" }; REMTEMSG = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "RemoteMsg" }; COLORSAY = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "COLORSAY" }; SETCOLORSAY = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SETCOLORSAY" }; AllowReAlive = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "AllowReAlive" }; UserItem = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "USERITEM" }; SIGNMOVE = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SIGNMOVE" }; SHOWEFFECT = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SHOWEFFECT" }; //SEARCHMON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "SEARCHMON" }; CLEARCOPYITEM = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "CLEARCOPYITEM" }; //RANGECLEARCOPYITEM = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "RANGECLEARCOPYITEM" }; //UNBINDUSEITEM = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "UnBindUseItem" }; //RestHero = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "RestHero" }; LOCKLOGON = new TGameCmd() { nPermissionMin = 10, nPermissionMax = 10, sCmd = "LockLogin" }; }
unsafe public void ExecCmd(TPlayObject Play, TGameCmd Cmd, string sItemName, int nCount) { TUserItem *UserItem = null; TStdItem * StdItem; if ((Play.m_btPermission < Cmd.nPermissionMin)) { Play.SysMsg(TMsgConst.g_sGameCommandPermissionTooLow, TMsgColor.c_Red, TMsgType.t_Hint); return; } if ((sItemName == "")) { if (M2Share.g_Config.boGMShowFailMsg) { Play.SysMsg(string.Format(TMsgConst.g_sGameCommandParamUnKnow, Cmd.sCmd, TMsgConst.g_sGamecommandMakeHelpMsg), TMsgColor.c_Red, TMsgType.t_Hint); } return; } if ((nCount <= 0)) { nCount = 1; } if ((nCount > 10)) { nCount = 10; } if ((Play.m_btPermission < Cmd.nPermissionMax)) { if (!M2Share.CanMakeItem(sItemName)) { Play.SysMsg(TMsgConst.g_sGamecommandMakeItemNameOrPerMissionNot, TMsgColor.c_Red, TMsgType.t_Hint); return; } if (M2Share.g_CastleManager.InCastleWarArea(Play) != null) // 攻城区域,禁止使用此功能 { Play.SysMsg(TMsgConst.g_sGamecommandMakeInCastleWarRange, TMsgColor.c_Red, TMsgType.t_Hint); return; } if (!Play.InSafeZone()) { Play.SysMsg(TMsgConst.g_sGamecommandMakeInSafeZoneRange, TMsgColor.c_Red, TMsgType.t_Hint); return; } nCount = 1; } for (int I = 0; I < nCount; I++) { if (Play.m_ItemList.Count >= Grobal2.MAXBAGITEM) { return; } UserItem = (TUserItem *)Marshal.AllocHGlobal(sizeof(TUserItem)); if (M2Share.UserEngine.CopyToUserItemFromName(sItemName, UserItem)) { StdItem = M2Share.UserEngine.GetStdItem(UserItem->wIndex); if ((StdItem->Price >= 15000) && !M2Share.g_Config.boTestServer && (Play.m_btPermission < 5)) { Marshal.FreeHGlobal((IntPtr)UserItem); UserItem = null; } else { if (HUtil32.Random(M2Share.g_Config.nMakeRandomAddValue) == 0) { M2Share.UserEngine.RandomUpgradeItem(UserItem); } } if (Play.m_btPermission >= Cmd.nPermissionMax) { UserItem->MakeIndex = M2Share.GetItemNumberEx();// 制造的物品另行取得物品ID } Play.m_ItemList.Add((IntPtr)UserItem); Play.SendAddItem(UserItem); if ((Play.m_btPermission >= 6)) { M2Share.MainOutMessage("[制造物品] " + Play.m_sCharName + " " + sItemName + "(" + (UserItem->MakeIndex).ToString() + ")"); } if (StdItem->NeedIdentify == 1) { M2Share.AddGameDataLog("5" + "\09" + Play.m_sMapName + "\09" + (Play.m_nCurrX).ToString() + "\09" + (Play.m_nCurrY).ToString() + "\09" + Play.m_sCharName + "\09" + HUtil32.SBytePtrToString(StdItem->Name, StdItem->NameLen) + "\09" + (UserItem->MakeIndex).ToString() + "\09" + "(" + (HUtil32.LoWord(StdItem->DC)).ToString() + "/" + (HUtil32.HiWord(StdItem->DC)).ToString() + ")" + "(" + (HUtil32.LoWord(StdItem->MC)).ToString() + "/" + (HUtil32.HiWord(StdItem->MC)).ToString() + ")" + "(" + (HUtil32.LoWord(StdItem->SC)).ToString() + "/" + (HUtil32.HiWord(StdItem->SC)).ToString() + ")" + "(" + (HUtil32.LoWord(StdItem->AC)).ToString() + "/" + (HUtil32.HiWord(StdItem->AC)).ToString() + ")" + "(" + (HUtil32.LoWord(StdItem->MAC)) .ToString() + "/" + (HUtil32.HiWord(StdItem->MAC)).ToString() + ")" + (UserItem->btValue[0]).ToString() + "/" + (UserItem->btValue[1]).ToString() + "/" + (UserItem->btValue[2]).ToString() + "/" + (UserItem->btValue[3]).ToString() + "/" + (UserItem->btValue[4]).ToString() + "/" + (UserItem->btValue[5]).ToString() + "/" + (UserItem->btValue[6]).ToString() + "/" + (UserItem->btValue[7]).ToString() + "/" + (UserItem->btValue[8]).ToString() + "/" + (UserItem->btValue[14]).ToString() + "\09" + Play.m_sCharName); } } else { Marshal.FreeHGlobal((IntPtr)UserItem); UserItem = null; Play.SysMsg(string.Format(TMsgConst.g_sGamecommandMakeItemNameNotFound, sItemName), TMsgColor.c_Red, TMsgType.t_Hint); break; } } }