I want to use UFUNCTION(NetMulticast, Reliable)
My goal: If i call Die() on the server i want that all clients call Die too, because all instances should die.
.h :
virtual bool Die();
UFUNCTION(NetMulticast, Reliable)
void Client_Die();
.cpp :
bool ATestCharacter::Die()
{
if (!CanDie())
{
return false;
}
// Die implementation here
// ....
// If we call die on the server, call die on all clients too
if (HasAuthority())
{
Client_Die();
}
return true;
}
void ATestCharacter::Client_Die_Implementation()
{
Die();
}
This all makes sense, but i get this error. The error disapears if i delete the “UFUNCTION(NetMulticast, Reliable)” line. And the error appears at the line with “GENERATED_BODY()”. I dont know how to fix it.
1>------ Build started: Project: ProjectArena, Configuration: Development_Editor x64 ------
1> Parsing headers for ProjectArenaEditor
1> Reflection code generated for ProjectArenaEditor
1> Performing 8 actions (4 in parallel)
1> DefaultAttributeSet.cpp
1> CharacterInputComponent.cpp
1> PlayerHUD.cpp
1> InventoryItem.cpp
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2059: syntax error : 'constant'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2143: syntax error : missing ';' before ''template<''
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4183: 'EMIT_CUSTOM_WARNING_AT_LINE': missing return type; assumed to be a member function returning 'int'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2059: syntax error : 'constant'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2143: syntax error : missing ';' before ''template<''
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4183: 'EMIT_CUSTOM_WARNING_AT_LINE': missing return type; assumed to be a member function returning 'int'
1> ProjectArena.generated.cpp
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2059: syntax error : 'constant'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2143: syntax error : missing ';' before ''template<''
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4183: 'EMIT_CUSTOM_WARNING_AT_LINE': missing return type; assumed to be a member function returning 'int'
1> Agent1Controller.cpp
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2059: syntax error : 'constant'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2143: syntax error : missing ';' before ''template<''
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4183: 'EMIT_CUSTOM_WARNING_AT_LINE': missing return type; assumed to be a member function returning 'int'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Private\CharacterInputComponent.cpp(59): error C3861: 'ServerSetIsMeleeAttacking': identifier not found
1> ArenaCharacter.cpp
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2059: syntax error : 'constant'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2143: syntax error : missing ';' before ''template<''
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4183: 'EMIT_CUSTOM_WARNING_AT_LINE': missing return type; assumed to be a member function returning 'int'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Private\ArenaCharacter.cpp(198): error C2556: 'bool AArenaCharacter::Die(void)' : overloaded function differs only by return type from 'void AArenaCharacter::Die(void)'
1> D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(101) : see declaration of 'AArenaCharacter::Die'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Private\ArenaCharacter.cpp(198): error C2371: 'AArenaCharacter::Die' : redefinition; different basic types
1> D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(101) : see declaration of 'AArenaCharacter::Die'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Private\ArenaCharacter.cpp(210): error C3861: 'ClientDie': identifier not found
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2059: syntax error : 'constant'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C2143: syntax error : missing ';' before ''template<''
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public\ArenaCharacter.h(13): error C4183: 'EMIT_CUSTOM_WARNING_AT_LINE': missing return type; assumed to be a member function returning 'int'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public/ArenaCharacter.h(13): error C2059: syntax error : 'constant'
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public/ArenaCharacter.h(13): error C2143: syntax error : missing ';' before ''template<''
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public/ArenaCharacter.h(13): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\GameDev\UnrealProjects\ProjectArena\Source\ProjectArena\Public/ArenaCharacter.h(13): error C4183: 'EMIT_CUSTOM_WARNING_AT_LINE': missing return type; assumed to be a member function returning 'int'
1> -------- End Detailed Actions Stats -----------------------------------------------------------
1>ERROR : UBT error : Failed to produce item: D:\GameDev\UnrealProjects\ProjectArena\Binaries\Win64\UE4Editor-ProjectArena.pdb
1> Total build time: 90,18 seconds
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets(38,5): error MSB3073: The command "D:\GitHub\UnrealEngine\Engine\Build\BatchFiles\Build.bat ProjectArenaEditor Win64 Development "D:\GameDev\UnrealProjects\ProjectArena\ProjectArena.uproject"" exited with code -1.
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========