Changer l'arme d'un mode de jeu

Parler de tout ce qui concerne le jeu en ligne ainsi que de l'eSport et des teams

Moderator: French Moderator

coyote81
Posts: 33
Joined: 13 Mar 2013, 00:25

Changer l'arme d'un mode de jeu

Post by coyote81 »

Voila j'aimerais changer l'arme d'un mode de jeu quels fichiers dois je modifier ?
J'ai regarder dans le dossiers script mais j'ai pas trouvé j'ai cherché également sur le forum mais rien

Y'a t'il un tuto (en français ) qui expliquerait comment créer son propre mode de jeu ?
User avatar
Alinoa
Posts: 4582
Joined: 14 Jun 2010, 11:55
Location: France, Paris
Contact:

Re: Changer l'arme d'un mode de jeu

Post by Alinoa »

En français, il n'y a pas de tuto dispo, enfin pas à ma connaissance.
Voici sinon, ce qui est disponible en anglais :
Mode Guide Creation : http://forum.maniaplanet.com/viewtopic. ... 79&t=12644
Documentation sur le maniascript : http://forum.maniaplanet.com/viewtopic. ... 79&t=11302
Il y a aussi une section du forum dédiée à la création de modes de jeu et aux données personnalisables :
http://forum.maniaplanet.com/viewforum.php?f=321
Ubisoft Support
Your Player Page

More information about maniaplanet, support, contents, community activities: useful links

ManiaPlanet technical documentation portal (Dedicated server, Mediatracker, ManiaLink, ManiaScript, Titles...)
coyote81
Posts: 33
Joined: 13 Mar 2013, 00:25

Re: Changer l'arme d'un mode de jeu

Post by coyote81 »

Merci Alinoa tes liens ont bien aidé
Avec un autre maniac on a reussi (enfin il a surtout réussi ) à mettre le changement d'arme en début de round, le script marche parfaitement en local.
Mais il ne marche pas une fois sur le serveur pourtant le script se charge bien mais les règles restent celles du mode battle d'origine

On a essayé de mettre des maps battle non officiel mais toujours le même résultat

Pour le script on a pris celui dans les libs "WeaponSelection.Script.txt"

Si qq1 peut nous aider svp ?
User avatar
Eole
Nadeo
Nadeo
Posts: 1265
Joined: 26 Apr 2011, 21:08

Re: Changer l'arme d'un mode de jeu

Post by Eole »

Qu'est-ce que vous essayez de faire exactement? Vous voulez qu'au début de la map le joueur puisse sélectionner l'arme avec laquelle il va jouer? Ou simplement forcer le joueur sur une autre arme que la rocket, sans lui laisser le choix?

Si votre script fonctionne en serveur local, a priori il devrait fonctionner sur un serveur dédié. Quand vous lancez le mode, aucune erreur ne s'affiche, mais c'est le mode battle qui se charge plutôt que le votre?
Pour créer votre mode vous être partis de rien ou vous avez utilisez un mode déjà existant? Comment avez vous configuré votre serveur?
Si vous ajoutez une log() au début de votre script et que vous le lancez sur votre serveur dédié, est-ce que cette ligne apparait ensuite dans les logs du serveur?
Contribute to the ManiaPlanet documentation on GitHub
A question about ManiaScript? Ask it here!
coyote81
Posts: 33
Joined: 13 Mar 2013, 00:25

Re: Changer l'arme d'un mode de jeu

Post by coyote81 »

J'aimerais que le joueur puisse choisir son arme en battle
Voila le script
il marche en local

http://gamers.fan.free.fr/shootmaniascr ... Script.txt

Lorsque je lance le serveur je vois que c'est bien celui la qui est pris en compte

dans la liste des serveur mon serveur apparait en mode battle_cust
User avatar
Eole
Nadeo
Nadeo
Posts: 1265
Joined: 26 Apr 2011, 21:08

Re: Changer l'arme d'un mode de jeu

Post by Eole »

C'est étrange quand même. A priori au niveau du script rien ne devrait réellement changer, que le serveur soit local ou en ligne.
À la rigueur ce que vous pouvez tester c'est:
- Déplacer la ligne 279 "WeaponSelection::Load();" juste après le StartServer à la ligne 188.
- Supprimer ce bout de code du StartServer

Code: Select all

/** WEAPON SELECTION **/
WeaponSelection::StartAll();
MB_Sleep(5*1000);
WeaponSelection::StopAll();
/********************************/
Ça va pas vraiment changer grand chose je pense, mais sait-on jamais. Si le résultat reste le même alors j'ai l'impression que le problème vient plus de la configuration du serveur. Est-ce que c'est bien la dernière version du dédié? Les tests sont fait sur une installation "vierge" ou sur une version du serveur qui a était mise à jour plusieurs fois dans le même dossier? À part le mode de jeu, il n'y a eu aucune modification sur des bibliothèques de script ou autre?
Contribute to the ManiaPlanet documentation on GitHub
A question about ManiaScript? Ask it here!
coyote81
Posts: 33
Joined: 13 Mar 2013, 00:25

Re: Changer l'arme d'un mode de jeu

Post by coyote81 »

ça marche, ... enfin presque à la connexion du joueur celui ci n'a pas le choix des armes seulement pour son 2eme round

Sinon est il possible de changer les caractéristiques joueurs selon son arme (vitesse et armures ) ??
User avatar
Eole
Nadeo
Nadeo
Posts: 1265
Joined: 26 Apr 2011, 21:08

Re: Changer l'arme d'un mode de jeu

Post by Eole »

Oui, pour un joueur qui arrive en cours de round il faut écrire du code supplémentaire pour afficher l'interface de sélection d'arme de nouveau et l'empêcher de spawner tant qu'il n'a pas fini de choisir.

Pour la vitesse ce n'est pas encore possible. Pour l'armure il y a des infos dans ce topic:
http://forum.maniaplanet.com/viewtopic. ... 79&t=17060
En gros on peut changer le nombre d'armures maximum avec:

Code: Select all

Player.ArmorMax = NombreDArmures * 100; ///< Une unité d'armure = 100
SM::SpawnPlayer(Joueur, Clan, NombreDArmure, Spawn, DateDuSpawn)
Contribute to the ManiaPlanet documentation on GitHub
A question about ManiaScript? Ask it here!
coyote81
Posts: 33
Joined: 13 Mar 2013, 00:25

Re: Changer l'arme d'un mode de jeu

Post by coyote81 »

Merci Eole grace à ton aide et un peu de recherche j'i reussi à changer le nombre d'armure en fonction de l'arme avec ça:

Code: Select all

/* armes */
							SetPlayerWeapon(Player, WeaponSelection::GetWeapon(Player) , True);
							/*Nombre d'armure */
							if (
							WeaponSelection::GetWeapon(Player) == CSmMode::EWeapon::Rocket
							)
							{
							Player.ArmorMax = 200;
							}
							if (
							WeaponSelection::GetWeapon(Player) == CSmMode::EWeapon::Laser
							)
							{
							Player.ArmorMax = 100;
							}
							if (
							WeaponSelection::GetWeapon(Player) == CSmMode::EWeapon::Nucleus
							)
							{
							Player.ArmorMax = 300;
							}
Il faudra que je remplace les 3 conditions par un switch pour faire plus propre mais l'essentiel c'est que ça marche

J'aimerais maintenant agir sur la vitesse de rechargement de la stamina

Comment es ce que e peux modifier ce paramètre ??
User avatar
Eole
Nadeo
Nadeo
Posts: 1265
Joined: 26 Apr 2011, 21:08

Re: Changer l'arme d'un mode de jeu

Post by Eole »

Pour le switch:

Code: Select all

switch (WeaponSelection::GetWeapon(Player)) {
  case CSmMode::EWeapon::Rocket: {
    Player.ArmorMax = 200;
  }
  case CSmMode::EWeapon::Laser: {
    Player.ArmorMax = 100;
  }
  case CSmMode::EWeapon::Nucleus: {
    Player.ArmorMax = 300;
  }
}
Pour la stamina il y a plusieurs paramètres qu'on peut changer sur le Player:

Code: Select all

Player.StaminaMax = 1.;    ///< Entre 0.1 et 1.
Player.StaminaGain = 1.;   ///< Entre 0.1 et 1.
Player.StaminaPower = 1.; ///< Entre 0.1 et 1.
StaminaMax permet de régler la quantité maximum de stamina du joueur.
StaminaGain la vitesse de récupération de la stamina.
StaminaPower la "puissance" de la stamina (la force de l'accélération donné par son utilisation)
Par défaut toutes les valeurs sont à 1.

Deux ressources plutôt utile quand on commence à scripter. Ce post de Gugli qui explique comment générer soit même la liste des fonctions et variables accessibles en ManiaScript:
http://forum.maniaplanet.com/viewtopic. ... 79#p105879
Et ce post de W1llaqui maintient à jour cette liste sur son site:
http://forum.maniaplanet.com/viewtopic. ... 89#p146389
Contribute to the ManiaPlanet documentation on GitHub
A question about ManiaScript? Ask it here!
Post Reply

Return to “Multijoueur”

Who is online

Users browsing this forum: No registered users and 2 guests