Sure!
Sorry if the code hurts the eyes of programmers, I’m not a programmer and I’ve been putting the code together by grabbing pieces from other people’s codes. It’s the Frankenstein of codes hahaha. I’m learning, so yeah, sorry for this ![]()
If you need something else, let me know!
OnPlayerAdded (NewPlayer : agent) : void=
Print("Jugador añadido")
if(PlayerObj := player[NewPlayer]):
# Comprueba si el jugador ya existe
if(PlayerExists := AllPlayersMap[NewPlayer]):
# No se hace nada, el jugador ya existe en el map
else:
if(set AllPlayersMap[PlayerObj] = PlayerStats{}):
Print("Estadísticas añadidas")
if(AgentStats := AllPlayersMap[PlayerObj]):
Print("Mis Eliminaciones: {AgentStats.GetEliminationCount()}")
if(FortChar : fort_character := NewPlayer.GetFortCharacter[]):
FortChar.EliminatedEvent().Subscribe(OnEliminated)
OnEliminated (Result : elimination_result) : void =
Eliminator := Result.EliminatingCharacter
Eliminated := Result.EliminatedCharacter
if (FortCharacter := Eliminator?, EliminatorAgent := FortCharacter.GetAgent[]):
AddElimination(EliminatorAgent)
if (FortCharacter := Eliminated, EliminatedAgent := FortCharacter.GetAgent[]):
AddDeath(EliminatedAgent)
AddDeath (Agent : agent) : void =
if (PlayerObj := player[Agent]):
if(AgentStats := AllPlayersMap[PlayerObj]):
Print("Muerte añadida")
AgentStats.AddDeath(1)
AgentStats.RestKstreak(1)
if (AgentStats.Kstreak < AgentStats.ElimsToBack):
ChangeClassWhenDeath(PlayerObj)
#TeleportToPrevLevel(PlayerObj, AgentStats)
set AgentStats.Kstreak = 0
Print("Nivel bajado")
ChangeClassWhenDeath(Agent: agent): void =
if (PlayerObj := player[Agent]):
if (AgentStats := AllPlayersMap[PlayerObj]):
if (AgentStats.Kstreak < AgentStats.ElimsToBack):
set AgentStats.NivelActual -= 1
var NewLevel: int = AgentStats.NivelActual
if (AgentStats.NivelActual < 1):
set AgentStats.NivelActual = 1
else if (Selector := ClassSelector[NewLevel]):
Selector.ChangeClass(PlayerObj)
Print("Clase: {NewLevel}")