Jump to content

Чем занимаеться наша администрация


maks110

Recommended Posts

Создаю эту тему специально для тех нытиков, которые постоянно пишут сообщения типо: "когда будет 548?" или "где 12 обнова?"

Тут я предоставлю рабочий скрипт для инста - Яма Сарона, что бы наглядно показать все то, что нужно проделать гм'ам скорее всего с нуля, да бы с этого вышел хоть какой-то толк

ТЫК-

1. diff --git a/src/server/scripts/Northrend/

FrozenHalls/PitOfSaron/

instance_pit_of_saron.cpp b/src/server/

scripts/Northrend/FrozenHalls/PitOfSaron/

instance_pit_of_saron.cpp

2. --- a/src/server/scripts/Northrend/

FrozenHalls/PitOfSaron/

instance_pit_of_saron.cpp

3. +++ b/src/server/scripts/Northrend/

FrozenHalls/PitOfSaron/

instance_pit_of_saron.cpp

4. @@ -41,12 +41,15 @@

5. _jainaOrSylvanas1GUID = 0;

6. _jainaOrSylvanas2GUID = 0;

7. _teamInInstance = 0;

8. + _tyrannusEventStart =

NOT_STARTED;

9. }

10.

11. void OnPlayerEnter(Player*

player)

12. {

13. if (!_teamInInstance)

14. _teamInInstance =

player->GetTeam();

15. + if(GetData

(DATA_TYRANNUS_START) != DONE)

16. + SetData

(DATA_TYRANNUS_START, IN_PROGRESS);

17. }

18.

19. void OnCreatureCreate(Creature*

creature)

20. @@ -198,6 +201,8 @@

21. {

22. case

DATA_TEAM_IN_INSTANCE:

23. return

_teamInInstance;

24. + case

DATA_TYRANNUS_START:

25. + return

_tyrannusEventStart;

26. default:

27. break;

28. }

29. @@ -231,7 +236,12 @@

30.

31. return 0;

32. }

33. -

34. +

35. + void SetData(uint32 type,

uint32 data)

36. + {

37. + if(type == DATA_TYRANNUS_START)

38. + _tyrannusEventStart = data;

39. + }

40. std::string GetSaveData()

41. {

42. OUT_SAVE_INST_DATA;

43. @@ -288,6 +298,7 @@

44. uint64 _jainaOrSylvanas2GUID;

45.

46. uint32 _teamInInstance;

47. + uint8 _tyrannusEventStart;

48. };

49.

50. InstanceScript* GetInstanceScript

(InstanceMap* map) const

51.

52.

53.

54.

55. diff --git a/src/server/scripts/Northrend/

FrozenHalls/PitOfSaron/pit_of_saron.cpp b/

src/server/scripts/Northrend/FrozenHalls/

PitOfSaron/pit_of_saron.cpp

56. --- a/src/server/scripts/Northrend/

FrozenHalls/PitOfSaron/pit_of_saron.cpp

57. +++ b/src/server/scripts/Northrend/

FrozenHalls/PitOfSaron/pit_of_saron.cpp

58. @@ -306,6 +306,700 @@

59. }

60. };

61.

62. +/*

63. +Script Complete: 100%

64. +Name: Start Pit Of Saron

65. +Author: Cemak

66. +*/

67. +enum SAYTyrranusEvent

68. +{

69. + SAY_TYRRANUS_1 =

-1658074,

70. + SAY_TYRRANUS_2 =

-1658075,

71. + SAY_TYRRANUS_3 =

-1658078,

72. + SAY_TYRRANUS_4 =

-1658082,

73. +

74. + SAY_SYLVANAS_1 =

-1658076,

75. + SAY_SYLVANAS_2 =

-1658080,

76. + SAY_SYLVANAS_3 =

-1658085,

77. + SAY_SYLVANAS_4 =

-1658087,

78. +

79. + SAY_JAINA_1 =

-1658077,

80. + SAY_JAINA_2 =

-1658081,

81. + SAY_JAINA_3 =

-1658084,

82. + SAY_JAINA_4 =

-1658086,

83. +

84. + SAY_SOUND = 16750,

85. +};

86. +

87. +enum SPELLSTyrranusEvent

88. +{

89. + SPELL_NECROMANTIC_POWER =

69347,

90. + SPELL_DEATH_ARMY_VISUAL =

67693,

91. + SPELL_BLIZZARD_JAINA =

70132,

92. + SPELL_ICE_LANCE_JAINA =

70464,

93. + SPELL_SHADOW_BOLT_SYLVANAS =

70512,

94. + SPELL_MULTI_SHOT_SYLVANAS =

70513,

95. +};

96. +

97. +struct startPosition

98. +{

99. + uint32 entry[2];

100. + Position movePosition;

101. +} startPositions[] =

102. +{

103. + { { NPC_CHAMPION_1_ALLIANCE,

NPC_CHAMPION_1_HORDE }, { 445.286f,

214.251f, 528.71f, 0.375996f } },

104. + { { NPC_CHAMPION_1_ALLIANCE,

NPC_CHAMPION_1_HORDE }, { 447.246f,

208.189f, 528.71f, 0.0264938f } },

105. + { { NPC_CHAMPION_1_ALLIANCE,

NPC_CHAMPION_1_HORDE }, { 437.81f,

231.115f, 528.708f, 0.525224f } },

106. + { { NPC_CHAMPION_1_ALLIANCE,

NPC_CHAMPION_1_HORDE }, { 437.444f,

225.798f, 528.712f, 0.36029f } },

107. + { { NPC_CHAMPION_1_ALLIANCE,

NPC_CHAMPION_1_HORDE }, { 438.941f,

221.784f, 528.708f, 0.30924f } },

108. + { { NPC_CHAMPION_1_ALLIANCE,

NPC_CHAMPION_1_HORDE }, { 440.384f,

216.785f, 528.71f, 0.203211f } },

109. + { { NPC_CHAMPION_1_ALLIANCE,

NPC_CHAMPION_1_HORDE }, { 441.479f,

211.472f, 528.709f,0.203211f } },

110. + { { NPC_CHAMPION_1_ALLIANCE,

NPC_CHAMPION_1_HORDE }, { 443.986f,

222.103f, 528.709f,6.27373f } },

111. + { { NPC_CHAMPION_1_ALLIANCE,

NPC_CHAMPION_1_HORDE }, { 448.944f,

204.945f, 528.709f,0.0258984f } },

112. + { { NPC_CHAMPION_2_ALLIANCE,

NPC_CHAMPION_2_HORDE }, { 446.613f, 211.37f,

528.709f,0.360472f } },

113. + { { NPC_CHAMPION_2_ALLIANCE,

NPC_CHAMPION_2_HORDE }, { 442.647f,

204.635f, 528.707f,0.0887308f } },

114. + { { NPC_CHAMPION_2_ALLIANCE,

NPC_CHAMPION_2_HORDE }, { 435.054f, 207.61f,

528.707f,0.173361f } },

115. + { { NPC_CHAMPION_2_ALLIANCE,

NPC_CHAMPION_2_HORDE }, { 434.568f,

210.389f, 528.707f,0.173361f } },

116. + { { NPC_CHAMPION_2_ALLIANCE,

NPC_CHAMPION_2_HORDE }, { 443.458f,

226.623f, 528.709f,0.232266f } },

117. + { { NPC_CHAMPION_2_ALLIANCE,

NPC_CHAMPION_2_HORDE }, { 435.593f,

204.535f, 528.728f,0.173361f } },

118. + { { NPC_CHAMPION_2_ALLIANCE,

NPC_CHAMPION_3_HORDE }, { 442.47f,

208.153f, 528.706f,0.259756f } },

119. + { { NPC_CHAMPION_2_ALLIANCE,

NPC_CHAMPION_3_HORDE }, { 441.333f,

233.866f, 528.709f,0.255828f } },

120. + { { NPC_CHAMPION_2_ALLIANCE,

NPC_CHAMPION_3_HORDE }, { 442.124f, 230.78f,

528.709f,0.244047f } },

121. +

122. + { { NPC_KORLAEN, NPC_KORALEN },

{ 432.386f, 212.979f, 528.709f,

0.237168f } },

123. + { { NPC_ELANDRA, NPC_KILARA },

{ 431.65f, 216.976f, 528.709f, 0.20104f } },

124. + { { NPC_JAINA_PART1,

NPC_SYLVANAS_PART1 }, { 438.84f, 213.502f,

528.709f, 0.1900f } },

125. +

126. + { { 0, 0 }, { 0.0f, 0.0f, 0.0f,

0.0f } }

127. +};

128. +

129. +class pitofsaron_start : public

CreatureScript

130. +{

131. +public:

132. + pitofsaron_start() : CreatureScript

("pitofsaron_start") { }

133. +

134. + CreatureAI* GetAI(Creature* pCreature)

const

135. + {

136. + return new pitofsaron_startAI

(pCreature);

137. + }

138. +

139. + struct pitofsaron_startAI : public

ScriptedAI

140. + {

141. + pitofsaron_startAI(Creature *c) :

ScriptedAI©

142. + {

143. + instance = c->GetInstanceScript

();

144. + Reset();

145. + }

146. +

147. + void Reset()

148. + {

149. + StartPhase = 0;

150. + StartTimer = 5000;

151. + me->SetFlag(UNIT_FIELD_FLAGS,

UNIT_FLAG_NON_ATTACKABLE);

152. + me->SetReactState

(REACT_PASSIVE);

153. + event = true;

154. + }

155. +

156. + void UpdateAI(const uint32 diff)

157. + {

158. + if(instance->GetData

(DATA_TYRANNUS_START) == IN_PROGRESS &&

event)

159. + {

160. + if (StartTimer

161. + {

162. + switch (StartPhase)

163. + {

164. + case 0:

165. + if (Creature*

sTyrannus = me->FindNearestCreature

(NPC_TYRANNUS_EVENTS, 50.0f, true))

166. + {

167. + sTyrannus-

>SetFlying(true);

168. +

DoScriptText(SAY_TYRRANUS_1, sTyrannus);

169. +

170. + int32

entryIndex;

171. + if

(instance->GetData(DATA_TEAM_IN_INSTANCE) ==

ALLIANCE)

172. +

entryIndex = 0;

173. + else

174. +

entryIndex = 1;

175. +

176. + Position

spawnPoint = {427.36f, 212.636f, 529.47f,

6.2564f};

177. +

178. + for (int8 i

= 0; startPositions.entry[entryIndex] !=

0; ++i)

179. + {

180. + if

(Creature* summon = me->SummonCreature

(startPositions.entry[entryIndex],

spawnPoint, TEMPSUMMON_DEAD_DESPAWN))

181. + summon-

>GetMotionMaster()->MovePoint(0,

startPositions.movePosition);

182. + }

183. + }

184. + ++StartPhase;

185. + StartTimer =

5000;

186. + break;

187. + case 1:

188. + if (Creature*

sTyrannus = me->FindNearestCreature

(NPC_TYRANNUS_EVENTS, 50.0f, true))

189. +

DoScriptText(SAY_TYRRANUS_2, sTyrannus);

190. + ++StartPhase;

191. + StartTimer =

15000;

192. + break;

193. + case 2:

194. + if(me->GetEntry

() == NPC_SYLVANAS_PART1)

195. +

DoScriptText(SAY_SYLVANAS_1, me);

196. + else if(me-

>GetEntry() == NPC_JAINA_PART1)

197. +

DoScriptText(SAY_JAINA_1, me);

198. +

199. + if (instance-

>GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)

200. + {

201. +

GetCreatureListWithEntryInGrid(Champion1,

me, NPC_CHAMPION_1_ALLIANCE, 150.0f);

202. + for

(std::list::iterator itr =

Champion1.begin(); itr != Champion1.end(); +

+itr)

203. + {

204. +

Creature *sChampions = *itr;

205. + if (!

sChampions)

206. +

continue;

207. +

208. + if

(sChampions->isAlive())

209. + if

(Creature* sNecrolyte = me-

>FindNearestCreature(367880, 150.0f, true))

210. + {

211. +

sChampions->Attack(sNecrolyte, true);

212. +

sChampions->GetMotionMaster()->MoveChase

(sNecrolyte);

213. + }

214. + }

215. +

216. +

GetCreatureListWithEntryInGrid(Champion2,

me, NPC_CHAMPION_2_ALLIANCE, 150.0f);

217. + for

(std::list::iterator itr =

Champion2.begin(); itr != Champion2.end(); +

+itr)

218. + {

219. +

Creature *sChampions = *itr;

220. + if (!

sChampions)

221. +

continue;

222. +

223. + if

(sChampions->isAlive())

224. + if

(Creature* sNecrolyte = me-

>FindNearestCreature(36788, 150.0f, true))

225. + {

226. +

sChampions->Attack(sNecrolyte, true);

227. +

sChampions->GetMotionMaster()->MoveChase

(sNecrolyte);

228. + }

229. + }

230. + }

231. + else

232. + {

233. +

GetCreatureListWithEntryInGrid(Champion1,

me, NPC_CHAMPION_1_HORDE, 150.0f);

234. + for

(std::list::iterator itr =

Champion1.begin(); itr != Champion1.end(); +

+itr)

235. + {

236. +

Creature *sChampions = *itr;

237. + if (!

sChampions)

238. +

continue;

239. +

240. + if

(sChampions->isAlive())

241. + if

(Creature* sNecrolyte = me-

>FindNearestCreature(367880, 150.0f, true))

242. + {

243. +

sChampions->Attack(sNecrolyte, true);

244. +

sChampions->GetMotionMaster()->MoveChase

(sNecrolyte);

245. + }

246. + }

247. +

248. +

GetCreatureListWithEntryInGrid(Champion2,

me, NPC_CHAMPION_2_HORDE, 150.0f);

249. + for

(std::list::iterator itr =

Champion2.begin(); itr != Champion2.end(); +

+itr)

250. + {

251. +

Creature *sChampions = *itr;

252. + if (!

sChampions)

253. +

continue;

254. +

255. + if

(sChampions->isAlive())

256. + if

(Creature* sNecrolyte = me-

>FindNearestCreature(36788, 150.0f, true))

257. + {

258. +

sChampions->Attack(sNecrolyte, true);

259. +

sChampions->GetMotionMaster()->MoveChase

(sNecrolyte);

260. + }

261. + }

262. +

263. +

GetCreatureListWithEntryInGrid(Champion3,

me, NPC_CHAMPION_3_HORDE, 150.0f);

264. + for

(std::list::iterator itr =

Champion3.begin(); itr != Champion3.end(); +

+itr)

265. + {

266. +

Creature *sChampions = *itr;

267. + if (!

sChampions)

268. +

con

 

 

- - - Добавлено - - -

 

жаль, половина только прогрузилась

Edited by maks110
  • Like 2
Link to comment
Share on other sites

Создаю эту тему специально для тех нытиков, которые постоянно пишут сообщения типо: "когда будет 548?" или "где 12 обнова?"

Тут я предоставлю рабочий скрипт для инста - Яма Сарона, что бы наглядно показать все то, что нужно проделать гм'ам скорее всего с нуля, да бы с этого вышел хоть какой-то толк

ТЫК-

 

- - - Добавлено - - -

 

жаль, половина только прогрузилась

 

Тi думаєш після цього скiглії прiпiнять пiсати колi 5.4.8? )) Наївнiй))

Link to comment
Share on other sites

А чем вам разработчик не гейм мастер?

Мб тем, что их вообще вы в игре не увидите никогда?) Да и на форуме некоторых тоже.)

Link to comment
Share on other sites

Мб тем, что их вообще вы в игре не увидите никогда?) Да и на форуме некоторых тоже.)

 

Я в игре титана с зилиусом вижу то не часто ... а из Администраторов только куклу в игре пару раз видел и всё...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...