View Full Version : Xin được hướng dẫn chỉnh tọa độ xuất hiện của npc
các bạn cho mình hỏi nếu muốn chỉnh tọa độ xuất hiện của npc thì phải chỉnh ở đâu với.ví dụ như s1 kiến mình mún cho con kiến nó xuất hiện ở chính giữa luôn ấy.thank các bạn
quancoi000
02-11-12, 04:27 PM
các bạn cho mình hỏi nếu muốn chỉnh tọa độ xuất hiện của npc thì phải chỉnh ở đâu với.ví dụ như s1 kiến mình mún cho con kiến nó xuất hiện ở chính giữa luôn ấy.thank các bạn
chỉnh trong script. đoạn script add npc có đoạn kiểu như: (idnpc,x,y,z).
thì cái id là id npc, x và y là tọa độ của npc đó..nhưng vấn đề ở chỗ bạn muốn add npc kiểu như nào. ví dụ con chim ưng sa mạc trong pdha thì nó lại add kiểu khác đó! =))
chỉnh trong script. đoạn script add npc có đoạn kiểu như: (idnpc,x,y,z).
thì cái id là id npc, x và y là tọa độ của npc đó..nhưng vấn đề ở chỗ bạn muốn add npc kiểu như nào. ví dụ con chim ưng sa mạc trong pdha thì nó lại add kiểu khác đó! =))
add sao chỉ với :-?:-?:-?:-?:-?:-?
quancoi000
03-11-12, 06:07 PM
add sao chỉ với :-?:-?:-?:-?:-?:-?
chỉ cái nào? add npc thì chỉ như thế thôi! =))
chỉ cái nào? add npc thì chỉ như thế thôi! =))
tui bik add rồi nhưng sao cho nó như mấy con chim ưng
trungqbbn
06-11-12, 07:42 PM
các bạn cho mình hỏi nếu muốn chỉnh tọa độ xuất hiện của npc thì phải chỉnh ở đâu với.ví dụ như s1 kiến mình mún cho con kiến nó xuất hiện ở chính giữa luôn ấy.thank các bạn
Bạn vào Messions tìm đến Messions của ải kiến
using System;
using System.Collections.Generic;
using System.Text;
using Game.Logic.AI;
using Game.Logic.Phy.Object;
using Game.Logic;
namespace GameServerScript.AI.Messions
{
public class DCSM2001 : AMissionControl
{
private List<SimpleNpc> someNpc = new List<SimpleNpc>();
private int dieRedCount = 0;
private int[] npcIDs = { 2001, 2002 };
private int[] birthX = { 52, 115, 183, 253, 320, 1206, 1275, 1342, 1410, 1475 };
public override int CalculateScoreGrade(int score)
{
base.CalculateScoreGrade(score);
if (score > 1870)
{
return 3;
}
else if (score > 1825)
{
return 2;
}
else if (score > 1780)
{
return 1;
}
else
{
return 0;
}
}
public override void OnPrepareNewSession()
{
base.OnPrepareNewSession();
int[] resources = { npcIDs[0], npcIDs[1] };
int[] gameOverResources = { npcIDs[1], npcIDs[0], npcIDs[0], npcIDs[0] };
Game.LoadResources(resources);
Game.LoadNpcGameOverResources(gameOverResources);
Game.SetMap(1165);
}
//public override void OnPrepareStartGame()
//{
// base.OnPrepareStartGame();
//}
//public override void OnStartGame()
//{
// base.OnStartGame();
//}
public override void OnStartGame()
{
//base.OnPrepareNewGame();
base.OnStartGame();
//左边五只小怪
int index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 52, 206, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 100, 207, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 155, 208, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 210, 207, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 253, 207, 1));
//右边五只小怪
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 1275, 208, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 1325, 206, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 1360, 208, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 1410, 206, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 1475, 208, 1));
}
public override void OnNewTurnStarted()
{
base.OnNewTurnStarted();
if (Game.GetLivedLivings().Count == 0)
{
Game.PveGameDelay = 0;
}
if (Game.TurnIndex > 1 && Game.CurrentPlayer.Delay > Game.PveGameDelay)
{
if (Game.GetLivedLivings().Count < 10)
{
for (int i = 0; i < 10 - Game.GetLivedLivings().Count; i++)
{
if (someNpc.Count == Game.MissionInfo.TotalCount)
{
break;
}
else
{
int index = Game.Random.Next(0, birthX.Length);
int NpcX = birthX[index];
int direction = -1;
if (NpcX <= 320)
{
direction = 1;
}
index = Game.Random.Next(0, npcIDs.Length);
if (index == 1 && GetNpcCountByID(npcIDs[1]) < 10)
{
// someNpc.Add(Game.CreateNpc(redNpcID, 900 + (i + 1) * 100, 505, 1));
//Game.CreateNpc(npcIDs[1],
someNpc.Add(Game.CreateNpc(npcIDs[1], NpcX, 506, 1));
}
else
{
someNpc.Add(Game.CreateNpc(npcIDs[0], NpcX, 506, 1));
}
}
}
}
}
}
public override void OnBeginNewTurn()
{
base.OnBeginNewTurn();
}
public override bool CanGameOver()
{
bool result = true;
base.CanGameOver();
dieRedCount = 0;
foreach (SimpleNpc redNpc in someNpc)
{
if (redNpc.IsLiving)
{
result = false;
}
else
{
dieRedCount++;
}
}
if (result && dieRedCount == Game.MissionInfo.TotalCount)
{
Game.IsWin = true;
return true;
}
return false;
}
public override int UpdateUIData()
{
return Game.TotalKillCount;
}
//public override void OnPrepareGameOver()
//{
// base.OnPrepareGameOver();
//}
public override void OnGameOver()
{
base.OnGameOver();
if (Game.GetLivedLivings().Count == 0)
{
Game.IsWin = true;
}
else
{
Game.IsWin = false;
}
List<LoadingFileInfo> loadingFileInfos = new List<LoadingFileInfo>();
loadingFileInfos.Add(new LoadingFileInfo(2, "image/map/2/show2", ""));
Game.SendLoadResource(loadingFileInfos);
}
protected int GetNpcCountByID(int Id)
{
int Count = 0;
foreach (SimpleNpc npc in someNpc)
{
if (npc.NpcInfo.ID == Id)
Count++;
}
return Count;
}
}
}
Bạn chú ý đến những dòng chữ màu đỏ ví dụ
someNpc.Add(Game.CreateNpc(npcIDs[index], 52, 206, 1));
52 và 206, 52 là X 206 là Y thì ta thay tọa độ nằm chính giữa vào bạn nhé tương tự các dòng còn lại
Im.Nnoitra
06-11-12, 09:49 PM
Bạn vào Messions tìm đến Messions của ải kiến
using System;
using System.Collections.Generic;
using System.Text;
using Game.Logic.AI;
using Game.Logic.Phy.Object;
using Game.Logic;
namespace GameServerScript.AI.Messions
{
public class DCSM2001 : AMissionControl
{
private List<SimpleNpc> someNpc = new List<SimpleNpc>();
private int dieRedCount = 0;
private int[] npcIDs = { 2001, 2002 };
private int[] birthX = { 52, 115, 183, 253, 320, 1206, 1275, 1342, 1410, 1475 };
public override int CalculateScoreGrade(int score)
{
base.CalculateScoreGrade(score);
if (score > 1870)
{
return 3;
}
else if (score > 1825)
{
return 2;
}
else if (score > 1780)
{
return 1;
}
else
{
return 0;
}
}
public override void OnPrepareNewSession()
{
base.OnPrepareNewSession();
int[] resources = { npcIDs[0], npcIDs[1] };
int[] gameOverResources = { npcIDs[1], npcIDs[0], npcIDs[0], npcIDs[0] };
Game.LoadResources(resources);
Game.LoadNpcGameOverResources(gameOverResources);
Game.SetMap(1165);
}
//public override void OnPrepareStartGame()
//{
// base.OnPrepareStartGame();
//}
//public override void OnStartGame()
//{
// base.OnStartGame();
//}
public override void OnStartGame()
{
//base.OnPrepareNewGame();
base.OnStartGame();
//左边五只小怪
int index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 52, 206, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 100, 207, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 155, 208, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 210, 207, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 253, 207, 1));
//右边五只小怪
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 1275, 208, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 1325, 206, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 1360, 208, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 1410, 206, 1));
index = Game.Random.Next(0, npcIDs.Length);
someNpc.Add(Game.CreateNpc(npcIDs[index], 1475, 208, 1));
}
public override void OnNewTurnStarted()
{
base.OnNewTurnStarted();
if (Game.GetLivedLivings().Count == 0)
{
Game.PveGameDelay = 0;
}
if (Game.TurnIndex > 1 && Game.CurrentPlayer.Delay > Game.PveGameDelay)
{
if (Game.GetLivedLivings().Count < 10)
{
for (int i = 0; i < 10 - Game.GetLivedLivings().Count; i++)
{
if (someNpc.Count == Game.MissionInfo.TotalCount)
{
break;
}
else
{
int index = Game.Random.Next(0, birthX.Length);
int NpcX = birthX[index];
int direction = -1;
if (NpcX <= 320)
{
direction = 1;
}
index = Game.Random.Next(0, npcIDs.Length);
if (index == 1 && GetNpcCountByID(npcIDs[1]) < 10)
{
// someNpc.Add(Game.CreateNpc(redNpcID, 900 + (i + 1) * 100, 505, 1));
//Game.CreateNpc(npcIDs[1],
someNpc.Add(Game.CreateNpc(npcIDs[1], NpcX, 506, 1));
}
else
{
someNpc.Add(Game.CreateNpc(npcIDs[0], NpcX, 506, 1));
}
}
}
}
}
}
public override void OnBeginNewTurn()
{
base.OnBeginNewTurn();
}
public override bool CanGameOver()
{
bool result = true;
base.CanGameOver();
dieRedCount = 0;
foreach (SimpleNpc redNpc in someNpc)
{
if (redNpc.IsLiving)
{
result = false;
}
else
{
dieRedCount++;
}
}
if (result && dieRedCount == Game.MissionInfo.TotalCount)
{
Game.IsWin = true;
return true;
}
return false;
}
public override int UpdateUIData()
{
return Game.TotalKillCount;
}
//public override void OnPrepareGameOver()
//{
// base.OnPrepareGameOver();
//}
public override void OnGameOver()
{
base.OnGameOver();
if (Game.GetLivedLivings().Count == 0)
{
Game.IsWin = true;
}
else
{
Game.IsWin = false;
}
List<LoadingFileInfo> loadingFileInfos = new List<LoadingFileInfo>();
loadingFileInfos.Add(new LoadingFileInfo(2, "image/map/2/show2", ""));
Game.SendLoadResource(loadingFileInfos);
}
protected int GetNpcCountByID(int Id)
{
int Count = 0;
foreach (SimpleNpc npc in someNpc)
{
if (npc.NpcInfo.ID == Id)
Count++;
}
return Count;
}
}
}
Bạn chú ý đến những dòng chữ màu đỏ ví dụ
someNpc.Add(Game.CreateNpc(npcIDs[index], 52, 206, 1));
52 và 206, 52 là X 206 là Y thì ta thay tọa độ nằm chính giữa vào bạn nhé tương tự các dòng còn lại
nếu giờ bạn add con chim ưng vào thì đố bạn làm cho nó "bay" được đấy! =))
nếu giờ bạn add con chim ưng vào thì đố bạn làm cho nó "bay" được đấy! =))
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
trungqbbn
07-11-12, 12:09 PM
nếu giờ bạn add con chim ưng vào thì đố bạn làm cho nó "bay" được đấy! =))
Người ta hỏi làm kiến chuyển sang chim ưng là sao
Im.Nnoitra
07-11-12, 10:37 PM
Người ta hỏi làm kiến chuyển sang chim ưng là sao
nếu hỏi kiến thì người ta đã chẳng thèm hỏi, hỏi chim ưng với quỷ khăn hồng đó ;))
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.