Je l'ai faite un peu à la va-vite, mais voici en gros les lignes que j'ai ajoutées:
Ligne 461:
Code: Select all
if (TextLib::Length(BlockSpawns[G_StartSpawnId].Tag) > 5) {
// Apply special spawn
declare TypeString = TextLib::SubString(BlockSpawns[G_StartSpawnId].Tag, 9, 1);
ReloadWeapons(Player.Id, TextLib::ToInteger(TypeString));
} else {
ReloadWeapons(Player.Id, 0);
}
Ligne 2036:
Code: Select all
if (TextLib::Length(BlockSpawns[PlayerLastCheckPointSpawnId].Tag) > 5) {
// Apply special spawn
declare TypeString = TextLib::SubString(BlockSpawns[PlayerLastCheckPointSpawnId].Tag, 9, 1);
ReloadWeapons(Player.Id, TextLib::ToInteger(TypeString));
} else {
ReloadWeapons(Player.Id, 0);
}
Ligne 2062 :
Code: Select all
if (TextLib::Length(BlockSpawns[CheckpointLast].Tag) > 5) {
// Apply special spawn
declare TypeString = TextLib::SubString(BlockSpawns[CheckpointLast].Tag, 9, 1);
ReloadWeapons(Player.Id, TextLib::ToInteger(TypeString));
} else {
ReloadWeapons(Player.Id, 0);
}
Et la fonction (Ligne 1842):
Code: Select all
Void ReloadWeapons(Ident _PlayerId, Integer _Type) {
if (C_UseWeapons) {
if (Players.existskey(_PlayerId)) {
declare Player <=> Players[_PlayerId];
declare WeaponType for Player = -1;
WeaponType = 0;
switch (_Type) {
case 1: {
// Nucleus spawn
SetPlayerAmmo(Player, CSmMode::EWeapon::Nucleus, 2);
}
case 2: {
SetPlayerAmmo(Player, CSmMode::EWeapon::Laser, 0);
SetPlayerAmmo(Player, CSmMode::EWeapon::Rocket, 0);
SetPlayerAmmo(Player, CSmMode::EWeapon::Nucleus, 0);
}
default: {
// Default spawn
SetPlayerAmmo(Player, CSmMode::EWeapon::Laser, 1);
SetPlayerAmmo(Player, CSmMode::EWeapon::Rocket, 4);
SetPlayerAmmo(Player, CSmMode::EWeapon::Nucleus, 2);
}
}
}
}
}
Concrètement j'appelle la fonction en fonction du type de spawn après chaque respawn pour charger l'arme du joueur (car ce n'est pas possible de charger l'arme avant le respawn)
Après j'te l'accorde y'a surement plus optimisé, là j'me suis surtout basé sur le raisonnement du code qui était avant le respawn ^^
Bonne journée
PS: N'ayant pas de maps obstacle qui traine dans mon PC, j'te laisse le soin de tester avec les CP-Spawn, mais devrais pas y'avoir de raison pour que ça marche pas
