TecplayTECPLAY
Voltar às ferramentas

Editor de init.c — Loadout de spawn

Monte o equipamento inicial do jogador e gere um init.c de missão completo (CustomMission + StartingEquipSetup), pronto pra colocar em mpmissions/<sua_missao>/. O código gerado passa pela mesma checagem do Playground. Ajuste os classnames conforme seus mods e teste no servidor.

Vestuário

Roupas/calçados — criados primeiro (geram a cargo onde os itens entram).

Itens no inventário

Consumíveis, ferramentas, munição. Quantidade opcional (água, balas…).

Na mão

Item que o jogador segura ao nascer (ex.: Fireaxe). Normalmente 1.

init.c
/*
 * init.c gerado por tecplay.inf.br — Editor de init.c (loadout de spawn)
 * Onde colocar: mpmissions/<sua_missao>/init.c  (substitui o init.c da missão)
 * Ajuste os classnames conforme seus mods e teste no servidor/Workbench.
 */

void main()
{
	//INIT ECONOMY--------------------------------------
	Hive ce = CreateHive();
	if ( ce )
		ce.InitOffline();

	//DATE RESET AFTER ECONOMY INIT-------------------------
	int year, month, day, hour, minute;
	int reset_month = 9, reset_day = 20;
	GetGame().GetWorld().GetDate(year, month, day, hour, minute);

	if ((month == reset_month) && (day < reset_day))
	{
		GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
	}
	else
	{
		if ((month == reset_month + 1) && (day > reset_day))
		{
			GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
		}
		else
		{
			if ((month < reset_month) || (month > reset_month + 1))
			{
				GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
			}
		}
	}
}

class CustomMission: MissionServer
{
	// Equipamento de spawn do jogador. Aplica sempre (ignora a escolha de roupa do menu).
	override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
	{
		// Vestuário
		player.GetInventory().CreateInInventory("Tshirt_Grey");
		player.GetInventory().CreateInInventory("Jeans_Blue");
		player.GetInventory().CreateInInventory("AthleticShoes_Black");

		// Itens no inventário
		player.GetInventory().CreateInInventory("Rag");
		player.GetInventory().CreateInInventory("BandageDressing");
		player.GetInventory().CreateInInventory("Apple");
	}
}

Mission CreateCustomMission(string path)
{
	return new CustomMission();
}
4 avisos

Não executa o script — a checagem é estrutural. Compile/teste sempre no Workbench ou no servidor. Classnames inválidos só aparecem em runtime.