Veiculo não esta causando dano ao jogador, após ser destruído.
2 participantes
Página 1 de 1
Veiculo não esta causando dano ao jogador, após ser destruído.
Boa tarde pessoal, estou recebendo esse erro no meu jogo utilizando a rede Photon Pun...o erro esta aparecendo quando algum veiculo é destruído e acaba não causando danos ao jogador.
Este é o erro recebido.
"PhotonView with ID 1001 has no method "ApplyPlayerDamage" that takes 4 argument(s): Int32, String, PhotonPlayer, Single"
Código do veiculo (RPC)
Código do jogador:
Este é o erro recebido.
"PhotonView with ID 1001 has no method "ApplyPlayerDamage" that takes 4 argument(s): Int32, String, PhotonPlayer, Single"
Código do veiculo (RPC)
- Código:
public void OnVehicleKilled(string source, PhotonPlayer attacker)
{
CanEnter = false;
VehicleAlive = false;
for (int i = 0; i < VehicleStatistics.Seats.Length; i++) {
Behaviour[] SeatBehaviours = VehicleStatistics.Seats [i].SeatBehaviours;
foreach (Behaviour KilledSeatBehaviour in SeatBehaviours) {
KilledSeatBehaviour.enabled = false;
}
if (PhotonNetwork.player == VehicleStatistics.Seats [0].SeatOwner) {
Debug.Log(VehicleStatistics.Seats [i].SeatOwner.NickName.ToString());
VehicleDeathCam.SetActive (true);
Invoke ("TurnOffDeathCamera", GameManager.instance.RespawnDelay);
GameObject PlayerObject = PhotonNetwork.player.TagObject as GameObject;
if(PlayerObject.GetComponent<PhotonView>().isMine)
PlayerObject.GetComponent<PlayerStats>().PlayerPhotonView.RPC ("ApplyPlayerDamage", PhotonTargets.All, 999, "RoadKill", attacker, 1f);
}
}
if (PhotonNetwork.player == VehiclePhotonView.owner) {
Invoke ("DeleteVehicle", GameManager.instance.RespawnDelay + 5f);
}
}
Código do jogador:
- Código:
public void ApplyPlayerDamage(int dmg, string source, PhotonPlayer attacker, float dmgmod, bool SelfInflicted)
{
if (attacker.GetTeam() == PunTeams.Team.none || GameManager.instance.CurrentTeam != attacker.GetTeam() || attacker == PhotonNetwork.player || source == "RoadKill") {
if (PlayerHealth > 0) {
PlayerHealth -= Mathf.RoundToInt(dmg * dmgmod);
if (PlayerPhotonView.isMine) {
InGameUI.instance.DoHitscreen (1f);
if (PlayerHealth <= 0) {
PlayerHealth = 0;
if (source != "RoadKill") {
PlayerPhotonView.RPC ("OnPlayerKilled", PhotonTargets.All, source, attacker, SelfInflicted);
} else {
if (attacker == null) {
PlayerPhotonView.RPC ("OnPlayerKilled", PhotonTargets.All, "Crashed", PhotonNetwork.player);
} else {
PlayerPhotonView.RPC ("OnPlayerKilled", PhotonTargets.All, source, attacker);
}
}
}
InGameUI.instance.PlayerHealthText.text = PlayerHealth.ToString ();
}
}
}
}
Re: Veiculo não esta causando dano ao jogador, após ser destruído.
Seu método tem 5 parâmetros e vc esta passando apenas 4 no RPC, também esta faltando o Atributo
acima do método
- Código:
[PunRPC]
acima do método
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Tópicos semelhantes
» Meu Veiculo Na Unity Está Com Fisica Teria Como Colocar Um Botao Para Acelarar ,Virar o Veiculo ?
» U2019 - Animações e efeitos após jogador levar hit? por outro jogador?
» Como reconhecer collider após o MouseUp e Instanciar novo obj quando outro for destruido ?
» Scrip base de jogador receber dano do inimigo
» Aumentar dano do tiro quando jogador pega um item
» U2019 - Animações e efeitos após jogador levar hit? por outro jogador?
» Como reconhecer collider após o MouseUp e Instanciar novo obj quando outro for destruido ?
» Scrip base de jogador receber dano do inimigo
» Aumentar dano do tiro quando jogador pega um item
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos