Category:Pt-br/GoldSrc Programming

From Valve Developer Community
Jump to navigation Jump to search
English (en)Português (pt)Português do Brasil (pt-br)Русский (ru)Translate (Translate)
Half-Life SDK

Começando

Primeiro: Baixe o sdk do Half-life 1 em: https://github.com/twhl-community/halflife-updated, essa é melhor opção porque tem como usar visual studio 2022 Segundo: Abra a pasta extráida "halflife-updated-master/projects/vs2019/" e abra o arquivo projects.sln

Antes de compilar vamos fazer algumas modificações

Abra em gerenciador de soluções hldll, depois sources Files, então dlls. Aperte botão direito do mouse em dlls, Adicione um novo item

Código

Inclua nessa ordem esses headers, ou se não dará errors:

  1. include <extdll.h>
  2. include <util.h>
  3. include <cbase.h>

Crie uma classe de o seu nome e declare em público: class CtriggerHealth : public CBaseEntity { public: void Use(CBaseEntity * pActivator, CBaseEntity * pCaller, USE_TYPE use_Type, float value); };

use é um método para declarar que alguem a ativou pActivator, e pchamador para chamar a função

crie uma função:

void CtriggerHealth::Use(CBaseEntity* pActivator, CBaseEntity* pCaller, USE_TYPE use_Type, float value) { if (pActivator->IsPlayer()) { pActivator->pev->health = pev->health; } }

o if é pra ver se o ativador é o jogador já o -> é próximo argumento

no meio da classe e função adicione LINK_ENTITY_TO_CLASS(trigger_health, CtriggerHealth);

isso serve para dar um nome a classe que esse nome será usado no editor de léveis

resultado final:

  1. include <extdll.h>
  2. include <util.h>
  3. include <cbase.h>

class CtriggerHealth : public CBaseEntity { public: void Use(CBaseEntity * pActivator, CBaseEntity * pCaller, USE_TYPE use_Type, float value); };

LINK_ENTITY_TO_CLASS(trigger_health, CtriggerHealth);

void CtriggerHealth::Use(CBaseEntity* pActivator, CBaseEntity* pCaller, USE_TYPE use_Type, float value) { if (pActivator->IsPlayer()) { pActivator->pev->health = pev->health; } }

Common techniques

Abstract coding

Miscellaneous

Plugins

Reference

Weapons

Artificial Intelligence

Networking

Rendering

User interface

External libraries

Changing genres

Multiplayer

Game movement and camera


External Links

This category currently contains no pages or media.