Français Solved Problème avec l'ajout de nouveaux poissons pour la pêche

  • Auteur de la discussion Auteur de la discussion _NEYPHIS_
  • Date de début Date de début

_NEYPHIS_

User
29/12/19
297
7
20
1 100
mail-rp.com
Bonjour je souhaite remplacer tout les type de poisson pêchable de base contre de nouveau poisson ce que j'ai fait actuellement ne fonctionne pas :


 
Solution
Hello, j'ai entièrement refait la fonction pour quelle ne prenne plus en compte s'il y a vraiment des poisson. Le nombre et l'objet obtenu sera complètement aléatoire.
J'ai mis les poissons de AltisLife dans le fichier, je te laisse faire les adaptations pour ton serveur.

Voici le nouveau fichier fn_dropFishingNet.sqf :
Code:
/*
    Maxence
*/
if !((vehicle player) isKindOf "Ship") exitWith {};

life_net_dropped = true;
titleText[localize "STR_NOTF_NetDrop","PLAIN"];
sleep 5;

_numberOfFish = round (random [0,2,10]);
if (_numberOfFish isEqualTo 0) exitWith {titleText[localize "STR_NOTF_NetDropFail","PLAIN"]; life_net_dropped = false;};

_possibleFish = [
    // ["Display name","Item class"]
    [localize...
Hello,

Comment ça ne fonctionne pas ? détails un peut plus , ajoute t'es logs au passage

merci à toi
 
Dernière édition:
Hello,

Comment ça ne fonctionne pas ? détails un peut plus , ajoute t'es logs au passage

merci à toi
Yop tu veut les logs serveur ou client ?

Et quand je dit cela ne fonctionne pas c'est que je lance le filet de pêche mais je n'ai rien qui me dit ce que j'ai pécher et apres j'ai le message du fait que le filet est remonter
 
Visiblement il y a aucun poisson dans les 20 mètres autour de toi, donc tu devrais avoir le message :
"Tu n'as pas réussi à attraper aucun poisson..."

Ce qui est tout à fait normal. Il faut essayer à un autre endroit où il y a des poissons (c'est pas aléatoire, il y a vraiment des poissons dans l'eau).

Au passage, ici il faut mettre des classnames différentes sinon tu auras toujours des huitres (le premier) :
1644921630127.png

De base le switch est comme ça :
Code:
switch (true) do {
    case ((typeOf _x) isEqualTo "Salema_F"): {_typeName = localize "STR_ANIM_Salema"; _type = "salema_raw";};
    case ((typeOf _x) isEqualTo "Ornate_random_F") : {_typeName = localize "STR_ANIM_Ornate"; _type = "ornate_raw";};
    case ((typeOf _x) isEqualTo "Mackerel_F") : {_typeName = localize "STR_ANIM_Mackerel"; _type = "mackerel_raw";};
    case ((typeOf _x) isEqualTo "Tuna_F") : {_typeName = localize "STR_ANIM_Tuna"; _type = "tuna_raw";};
    case ((typeOf _x) isEqualTo "Mullet_F") : {_typeName = localize "STR_ANIM_Mullet"; _type = "mullet_raw";};
    case ((typeOf _x) isEqualTo "CatShark_F") : {_typeName = localize "STR_ANIM_Catshark"; _type = "catshark_raw";};
    default {_type = "";};
};
 
Visiblement il y a aucun poisson dans les 20 mètres autour de toi, donc tu devrais avoir le message :
"Tu n'as pas réussi à attraper aucun poisson..."

Ce qui est tout à fait normal. Il faut essayer à un autre endroit où il y a des poissons (c'est pas aléatoire, il y a vraiment des poissons dans l'eau).

Au passage, ici il faut mettre des classnames différentes sinon tu auras toujours des huitres (le premier) :
Voir la pièce jointe 2596

De base le switch est comme ça :
Code:
switch (true) do {
    case ((typeOf _x) isEqualTo "Salema_F"): {_typeName = localize "STR_ANIM_Salema"; _type = "salema_raw";};
    case ((typeOf _x) isEqualTo "Ornate_random_F") : {_typeName = localize "STR_ANIM_Ornate"; _type = "ornate_raw";};
    case ((typeOf _x) isEqualTo "Mackerel_F") : {_typeName = localize "STR_ANIM_Mackerel"; _type = "mackerel_raw";};
    case ((typeOf _x) isEqualTo "Tuna_F") : {_typeName = localize "STR_ANIM_Tuna"; _type = "tuna_raw";};
    case ((typeOf _x) isEqualTo "Mullet_F") : {_typeName = localize "STR_ANIM_Mullet"; _type = "mullet_raw";};
    case ((typeOf _x) isEqualTo "CatShark_F") : {_typeName = localize "STR_ANIM_Catshark"; _type = "catshark_raw";};
    default {_type = "";};
};
Ok je vais test cela et par contre pour le type de poisson si je met plusieurs fois le même c'est possible par rapport à ceux de base ?
 
Ce n'est pas possible de mettre plusieurs fois la même classname dans un switch, enfin ça ne fonctionnera pas, seulement le premier "cas" sera exécuté.
Il faut vraiment avoir des classnames de poissons différentes ou modifier le script pour qu'il donne un item poisson aléatoire, peut importe la classname du poisson péché
 
Ce n'est pas possible de mettre plusieurs fois la même classname dans un switch, enfin ça ne fonctionnera pas, seulement le premier "cas" sera exécuté.
Il faut vraiment avoir des classnames de poissons différentes ou modifier le script pour qu'il donne un item poisson aléatoire, peut importe la classname du poisson péché
Tu pense pouvoir m'aider à modifier pour que cela fonctionne et j'en ferait un tutoriel ensuite
 
Hello, j'ai entièrement refait la fonction pour quelle ne prenne plus en compte s'il y a vraiment des poisson. Le nombre et l'objet obtenu sera complètement aléatoire.
J'ai mis les poissons de AltisLife dans le fichier, je te laisse faire les adaptations pour ton serveur.

Voici le nouveau fichier fn_dropFishingNet.sqf :
Code:
/*
    Maxence
*/
if !((vehicle player) isKindOf "Ship") exitWith {};

life_net_dropped = true;
titleText[localize "STR_NOTF_NetDrop","PLAIN"];
sleep 5;

_numberOfFish = round (random [0,2,10]);
if (_numberOfFish isEqualTo 0) exitWith {titleText[localize "STR_NOTF_NetDropFail","PLAIN"]; life_net_dropped = false;};

_possibleFish = [
    // ["Display name","Item class"]
    [localize "STR_ANIM_Salema","salema_raw"],
    [localize "STR_ANIM_Ornate","ornate_raw"],
    [localize "STR_ANIM_Mackerel","mackerel_raw"],
    [localize "STR_ANIM_Tuna","tuna_raw"],
    [localize "STR_ANIM_Mullet","mullet_raw"],
    [localize "STR_ANIM_Catshark","catshark_raw"]
];

for "_i" from 0 to _numberOfFish do {
    _catchFish = selectRandom _possibleFish;
    sleep 3;

    if ([true,(_catchFish select 1),1] call life_fnc_handleInv) then {
        titleText[format [(localize "STR_NOTF_Fishing"),(_catchFish select 0)],"PLAIN"];
    };
};

sleep 1.5;
titleText[localize "STR_NOTF_NetUp","PLAIN"];
life_net_dropped = false;
 
Dernière édition:
Solution
Hey salut je vient de tester mais du coup je peut lancer le filet j'ai bien le message "déploiement du filet" mais après plus rien du tout pas d'autre message et j'ai plus l'action pour lancer le filet