Ты делаешь все через ::Tick(), это плохо. Не проще ли сделать функцию? В том же character.cpp
Например:
Код:
void CCharacter::SpawnWeap(int WeapID)
{
CPickup *pPickup = new CPickup(&GameServer()->m_World, POWERUP_WEAPON, WeapID);
pPickup->m_Pos = m_Pos;
}
И не забудьте добавить void SpawnWeap(int WeapID); в character.h
В твоей чат фун-ции заменяем:
Код:
pPlayer->m_weapons1 = true;
на
Код:
GetPlayerChar(ClientID)->SpawnWeap(WEAPON_GRENADE);
Писал по памяти, мб что-то не так.