PDA

View Full Version : Xin được hướng dẫn chỉnh tọa độ xuất hiện của npc



_Jack_
02-11-12, 09:13 AM
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 đó! =))

gamegn
02-11-12, 04:37 PM
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! =))

gamegn
03-11-12, 06:16 PM
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! =))

_Jack_
06-11-12, 10:20 PM
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 đó ;))