Участник
Пользователь
- Сообщения
- 331
- Реакции
- 153
- Помог
- 4 раз(а)
В начале декабря на оленях появилась вот такая тема - https://forums.alliedmods.net/showthread.php?t=309495, с генерацией точек на лету. Казалось бы идеально для ксдм спавнов, но не совсем.
На коленке накидал вот такой плагин
Беда в том, что кроме генерации хороших спавнов, есть и спавны, которые появляются за пределами карт и как это обойти - непонятно. Если у кого есть какие идеи-предложения, давайте обсудим\допилим.
На коленке накидал вот такой плагин
Код:
#include <amxmodx>
#include <rog>
#include <fakemeta>
#include < hamsandwich >
public plugin_init()
{
ROGInitialize(250.0)
ROGDumpOriginData()
register_clcmd("say /next", "ClientCommand_NextOrigin")
register_clcmd("say /generate", "ClientCommand_GenerateOrigins")
register_clcmd("say /shuffle", "ClientCommand_ShuffleOrigins")
RegisterHam ( Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1 )
register_event( "TextMsg", "EVENT_TextMsg", "a", "2&#Game_C", "2&#Game_w", "2&#Game_will_restart_in" );
register_logevent( "LOG_RoundEnd", 2, "1=Round_End" );
}
public fw_PlayerSpawn_Post (id)
{
ClientCommand_NextOrigin(id)
}
public ClientCommand_NextOrigin(id)
{
//get the next origin and spawn the player there
new Float:Origin[3]
ROGGetOrigin(Origin)
engfunc(EngFunc_SetOrigin, id, Origin)
}
public ClientCommand_GenerateOrigins(id)
{
//generate a new set of origins during runtime
ROGInitialize(250.0)
}
public ClientCommand_ShuffleOrigins(id)
{
//shuffle the existing set of origins
ROGShuffleOrigins()
}
public EVENT_TextMsg(id)
{
ClientCommand_GenerateOrigins(id)
}
public LOG_RoundEnd(id)
{
ClientCommand_GenerateOrigins(id)
}