Aller au contenu

Petites infos en vrac


Invité

Messages recommandés

edit: hmm finalement non la distance c'est autre chose qui gère, bon je sais pas comment on pourrait appeler ça, une collision de la vue ?

Il me semble que c'est la perception qui gère la distance de vue.
Moi perso j'appelle ce truc le "pas pouvoir voir à travers les murs". mais collision de vue c'est sympa aussi.

A tout hasard en cherchant "trade" dans les scripts avec PRGrep ? Je pense pas que ce soit planqué.

Oui, c'est ce que j'allais dire :
trader.fos
Trader.fosp
et trader_table
devraient contenir ce que tu cherches. J'ai jamais encore bien pu reperer qu'est ce qui definissait l'inventaire pour chaque trader en particulier. Sans doute un script spécifique au trader? je verifierai ça bientôt...
Par contre les traders des random encounter, les caravans tout ça, ça se passe dans le worldmap.init.


// KLAD_Caravan
	@group=@EncounterGroups[GROUP_KLAD_Caravan];
	group.TeamNum=0;
	group.Position=POSITION_HUDDLE;
	group.Spacing=2;
	group.AddCritter(58).Dialog(DIALOG_enc_klad_trader).Script("encounter_npc@_NpcInit")
		.AddItem(PID_CLUB,1,1,SLOT_HAND1)
		.AddItem(PID_BOTTLE_CAPS,0,20,SLOT_INV)
		.AddItem(PID_ROPE,0,5,SLOT_INV)
		.AddItem(PID_SPEAR,0,5,SLOT_INV)
		.AddItem(PID_BRAHMIN_SKIN,0,3,SLOT_INV)
		.AddItem(PID_GECKO_PELT,0,2,SLOT_INV)
		.AddItem(PID_MUTATED_FRUIT,0,4,SLOT_INV)
		.AddItem(PID_SLEDGEHAMMER,0,1,SLOT_INV)
		.AddItem(PID_PUMP_PARTS,0,4,SLOT_INV)
		.AddItem(PID_POCKET_LINT,0,5,SLOT_INV)
		.AddItem(PID_METAL_TRASH,0,5,SLOT_INV);
banecteammorpheusv2.png
Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 60
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Hehe, oui tu as raison, c'est activé ou désactivé le wallhack :smile: Malheureusement non ce n'est pas dans trader.fos, ce script initialise juste un npc au type trader en définissant quelques parametres, et il gère son respawn et son renouvellement d'inventaire. Il n'y a rien concernant les transactions avec un joueur. J'ai pris le PRGrep de Kinkin, je ne connaissais pas ce prog, c'est fort sympatique pour farfouiller dans un tas de fichier :grin: Merci bien Kinkin Pour l'instant je n'ai rien trouver concernant le system de transaction. Il doit bien y avoir au moins une ligne quelque part qui affiche le menu Barter, mais peut être que cette partie là n'est pas gérer par le SDK, ce qui voudrait dire que le system de troc de fallout est impossible à modifier, ce serait quand même bête pour un "moteur de jeu", mais normal pour un "moteur de jeu fallout". Ce que j'aurai voulu tester, c'était convertir ça en system de transaction classique de mmorpg, c'est à dire séparer vente/achat, et virer le troc. Sans oublier que les objets vendu ne se rajoute plus a la liste du npc. Sinon pour les trader, lors de leur création on leur assigne un BAG, contenu dans _bags.fos, c'est des sacs prédéfini mais on peux sans doute en créer des nouveaux dans /data/bags.cfg, clairement un bag c'est simplement une liste d'objets par défaut.

Lien vers le commentaire
Partager sur d’autres sites

Les bags ne servent qu'à définir l'inventaire de base d'un NPC, je ne pense pas que ça soit complexe au point de définir son inventaire de trading. Juste une supposition Image IPB


Ah ouai, c'est possible que la liste d'objets pour le trading soit différent de l'inventaire de base.
Je ne sais pas alors où c'est contenu, peut être un rapport avec le fichier trader_table qui est incompréhensible :grin:
Lien vers le commentaire
Partager sur d’autres sites

Ce que j'aurai voulu tester, c'était convertir ça en system de transaction classique de mmorpg, c'est à dire séparer vente/achat, et virer le troc.


Oui, j'ai ça sur ma Todo list aussi. Enfin, je sais pas comment ça marche une transaction classique de mmo, mais en tout cas, créer un systeme de marché classique.
Le player depose un produit chez un npc trader.
Fixe un prix.
se casse.
Les autres joueurs peuvent acheter ou pas le produit chez ce npc.
Le player revient plus tard et peut récuper le produit de ses ventes. Ou récupérer son produit et baisser, monter les prix.


Pour la phase fixer le prix, je pensai utiliser la fenetre say_about (la fenetre de dialogue de tell me about de F1 qu'on peut utiliser à la banque des hubologiste) lié à une future fonction Set Price.
j'ai pas encore non plus identifié la fenetre de barter, mais je pensai poser la question sur le forum russe un de ces quatres...
Si tu veux on peux créer un thread barter sur ce forum et echanger nos notes...



Sinon pour les trader, lors de leur création on leur assigne un BAG, contenu dans _bags.fos, c'est des sacs prédéfini mais on peux sans doute en créer des nouveaux dans /data/bags.cfg, clairement un bag c'est simplement une liste d'objets par défaut

Oui, j'avais repéré les bag aussi.
C'est aussi là que les inventaires des caravan master des encounters sont créés, mais c'est seulement ensuite dans le worldmap.init qu'ils sont "remplis". Le mystère demeure... :)
banecteammorpheusv2.png
Lien vers le commentaire
Partager sur d’autres sites

Ben j'essayais de m'inscrire sur le site Russe, sans succès pour l'instant lol, il m'envoi pas le mail. C'est pas urgent toute façon, mais je pensais aussi à aller demander directement là bas au lieu de chercher pour rien si ce n'est pas faisable. Ah ben c'est dans ma liste Todo aussi, mais pas tout à fait pareil, engager un npc pour qu'il vende ce que tu veux pendant un lapse de temps et à un lieu prévu pour, donc faire un haut lieu du commerce. Euh ouai enfin transaction classique de mmo c'est moi qui l'appelle comme ça, mais généralement le npc vendeur il a de l'argent à l'infini et il achete tout, sa liste d'objet en vente est fixe. (quand je dis fixe je veux dire qu'il ne rajoute pas les centaines de junk vendu par les joueurs, mais avoir un nombre d'objet limité à la vente c'est bien) Disons que pour avoir une economie, ça me semble indispensable qu'il y est plus de monnaie que de troc, voir même plus de troc du tout à part entre joueurs, à voir.

Lien vers le commentaire
Partager sur d’autres sites

Euh ouai enfin transaction classique de mmo c'est moi qui l'appelle comme ça, mais généralement le npc vendeur il a de l'argent à l'infini et il achete tout, sa liste d'objet en vente est fixe.

Mmm, t'as pas peur de l'inflation toi!
tu devrais pouvoir t'en tirer en mettant juste un stock enorme d'argent dans le trader, et/ou en renouvelant l'inventaire toute les heures au lieu de 6 fois par jour comme à présent...ça devrait pouvoir se trouver assez vite je pense.
L'update se gère avec cette ligne je crois:
// Calculate next update time
int hour=TABLE_REFRESH_HOUR(traderIndex);
if(hour<=0) return 0;
return hour*(60+Random(-30,30))*60;


Ah ben c'est dans ma liste Todo aussi, mais pas tout à fait pareil, engager un npc pour qu'il vende ce que tu veux pendant un lapse de temps et à un lieu prévu pour, donc faire un haut lieu du commerce.

Pareil, mais sans le laps de temps pour moi.
banecteammorpheusv2.png
Lien vers le commentaire
Partager sur d’autres sites

Ben c'est sur que ce changement invoque d'autres changements de manière a éviter l'inflation. Mais bon toute façon je suis encore loin de me pencher là dessus, là tout ce qui m’intéresse c'est d'étudier les modifications possible avec ce SDK et son scripting. C'est pour ça que l'accès à la fenêtre Barter et la modification de son fonctionnement m’intéresse. Pour y étudier comme par exemple le pickup d'objet et le déposé dans une autre fenêtre qui déclenche l'affichage de la valeur en dessous, à partir de ce bout de code que tu utiliserais pour une autre fenêtre custom, au lieu de déclenché l'affichage de valeur tu pourrais par exemple ouvrir la fenêtre say pour indiquer une valeur, et ensuite ajouter l'objet à la liste du npc etc... bref des choses qui seraient pratique pour vendre des objets par le biais d'un npc. Mais bon ça atteint peut être les limites du SDK pour l'instant :shock:

Lien vers le commentaire
Partager sur d’autres sites

ca pourrai être simpa de pouvoir demander un prix avec Say aussi pour le commerce entre les joueur ca permettrai de créer un véritable économie, les faction vendrait leur objet a leur prix donc certain joueur aurons des faction favorite pour leur achats du coup les autres faction voudrons baisser leur prix ou alors assouvir les autre factions pour fixer leur prix, ca rendrait le jeux jeux carement plus dynamique Je penser a un truc, sur 2238 avec les PK russe c'est casi chiant de jouer quand tu est nouveaux, faudrait voir le script de combat pour rajouter un syteme de protection des nouveaux joueur, une sorte de script ou chaque LVL de joueur peut attaquer dans une fourchette de level genre +/- 5lvl grosso modo un joueur peut attaquer 5 level en dessous de lui et 5 lvl au dessus de lui, c'est a titre d'exemple

Lien vers le commentaire
Partager sur d’autres sites

Ouai c'est dans ma Todo list aussi ça, mais juste une protection pour les nouveaux joueurs, et pas une protection contre les pk mais une protection pour préserver ton inventaire.
Evidemment si le noob pk et steal lui même des gens, il perd instantanément cette protection.

Par contre une protection par tranche de level, honnêtement j'ai toujours détesté ça dans tout les jeux qui l'ont utiliser, c'est vraiment nul quand tu es face à un joueur qui t'insulte et que tu peux pas le tuer parce que tu as un level de trop, ou alors quand tu es avec un ami plus bas level et qu'il se fait pk et tu peux pas l'aider parce que tu es trop haut level aussi.
Après les joueurs trouvaient quand même un moyen en ayant des alt plus bas niveau ou en demandant à quelqu'un de tuer pour eux, mais bon c'est vraiment pas génial, personnellement je déconseillerai cette forme de limite.

edit:

Bon la fenêtre Barter est "Hardcoded", je suis pas sur de ce que ça signifie exactement ce terme mais ça veux surement dire qu'elle n'est pas en fichier script mais compiler.

// Client screen types
...
// Secondary screens, hardcoded
...
#define CLIENT_SCREEN_BARTER (15)

Lien vers le commentaire
Partager sur d’autres sites

hardcoded c'est coder en dur dans le client et/ou le server ou alors comme c'est un define (#define) la fenêtre (et donc son script je suppose) est défini en dure (hard) et donc ca peut faire référence a un autre script, ou encore un morceau de code dans le client/server (oui encore une impasse) PS : on pourrai presque créer un mini Wiki dédier au Modding FOneline ^^

Lien vers le commentaire
Partager sur d’autres sites

Yep, hardcoded c'est tout ce qui codé dans le moteur du jeu. on y a pas accès parce qu'on a pas les codes sources de Fonline, et quand bien même on les aurait, je suppose que c'est un chouilla plus complexe que de bricoler des scripts...
J'espère que ma combine avec le say_about va etre réalisable du coup, je vais aller demander ça sur leur forum avant de me casser la tête, tiens!


on pourrai presque créer un mini Wiki dédier au Modding FOneline


Yep. Jpense faudra y venir. Bon pour le moment y'aurai pas grand chose à mettre dedans, mais si on traduit encore quelques tutos, on pourra en faire un...
banecteammorpheusv2.png
Lien vers le commentaire
Partager sur d’autres sites

Effectivement le Code FOnline est sans doute un poil complexe, mais je pense pas que le code sera dispo je viens de finir les MSK pour les cote donc ce soir je teste pour voir si ca marche nickel (je suis en cour et je peut pas jouer mai je peut editer ^^), du coup on pourrai avoir un premier tuto sur la modification de la world map ensuite il me reste encore les définition des rencontre aléatoire --" [iDEA] d'ailleurs j'ai eu une petite idée, pour expérimenté nos modification, au lieu de les faire chacun dans son coin si on regrouper nos idée pour en sortir un projet

Lien vers le commentaire
Partager sur d’autres sites

d'ailleurs j'ai eu une petite idée, pour expérimenté nos modification, au lieu de les faire chacun dans son coin si on regrouper nos idée pour en sortir un projet

Je sais pas trop encore, pour le moment je bidouille un truc par ci par là, tant que ça prend pas trop de temps, et je suis prêt à aider là où je peux.
Mais quand je serai sérieux, j'avoue j'aimerai bien remodeler totalement le gameplay de fonline, donc je sais pas si c'est forcement compatible avec ce que toi ou d'autres veulent faire, tu me diras si ça t'interesse...

Concernant les inventaires, je me demande si ça se ferait pas directement avec le mappeur... Faut que je le reconfigure tiens...
banecteammorpheusv2.png
Lien vers le commentaire
Partager sur d’autres sites

Ben je pense pas que les fenêtre sont destiner à rester éternellement hardcoded en tout cas, vu qu'il y a moyen d'en faire des personnels, j'imagine qu'il finira par les convertir et rajouter les fonctions nécessaire à son sdk.
Enfin si Cvet veux bien faire les choses en tout cas, d'ailleurs je me demande qu'est ce qu'il fait en ce moment.

Après je suis pas sur de savoir exactement à quoi sert le CLIENT_SCREEN_BARTER, vu que aucun fichier TLA ne l'utilise, apparemment il a fait ça à la demande de 2238, sur 2238 ils ont une petite extension du menu barter avec les boutons pour classé les objets par type.
Peut être qu'à partir des CLIENT_SCREEN_* tu peux faire un script mais si c'est le cas, aucune idée comment :grin:

Il y a aussi ces defines qui ont l'air d'avoir une relation direct avec le trading :

// Items collections
#define ITEMS_INVENTORY (0)
#define ITEMS_USE (1)
#define ITEMS_BARTER (2)
#define ITEMS_BARTER_OFFER (3)
#define ITEMS_BARTER_OPPONENT (4)
#define ITEMS_BARTER_OPPONENT_OFFER (5)
#define ITEMS_PICKUP (6)
#define ITEMS_PICKUP_FROM (7)

Lien vers le commentaire
Partager sur d’autres sites

Faut commencer par le début :P Alors au lancement du serveur on a main.fos tout part de ce fichier (d'un point de vue script). Lorsqu'un nouveau joueur débarque sur le serveur c'est client_main.fos qui entre en jeu et de la manière tout démarre avec lui.(d'un point de vu script) Étudier ces deux fichier permet déjà de mieux comprendre la structure entière. Par exemple une des premières chose que l'on trouve dans client_main.fos c'est GUI_Init(), GUI c'est Graphical User Interface. Si on regarde dans les "import" cette fonction proviens de "client_gui.fos". Et si on va à la fonction gui_init de ce fichier on voit plein de CreateScreen(..) On voit effectivement qu'il y a des fenêtres qui sont codé dans le moteur dont leur index est définit dans "_client_defines.fos" Dans ce fichier "_client_defines.fos" on voit effectivement des fenêtres dites harcoded, mais à la fin on trouve également 2 fenêtres commenté en tant que 'user interface'. (test & radio) Ces deux exemples sont définit dans client_screen_test.fos et radio.fos. Maintenant on revient à notre fichier "client_main.fos" et ... ohhhh .. juste à la suite de gui_init() on trouve Init_Testscreen() commenté et InitRadioScreen(). On va regarder la radio. Dans les import on nous indique que la fonction est dans "radio.fos" Dans ce fichier il y a tout le bazar qui créer une fenêtre type radio et sa gestion. Mais comment est ce qu'on fait afficher cette fenêtre. On va retourner voir dans main.fos car le serveur c'est le cerveau. Là on voit plein de fonction évènementiel et on finit par tomber sur : "critter_use_item(...)" Bah justement dans le jeu ca apparait quand on utilise la radio. En regardant on voit que si l'objet est une radio et que le perso un joueur on appel une fonction :P "EditRadioSettings(cr,item);" En faisant une recherche de cette fonction dans main.fos on tombe aussi sur la fonction appelé lorsqu'un personnage utilise une compétence (car on peut aussi faire science sur la radio). Bref cette fonction est définit dans les import et provient de "radio.fos" Et là on a le droit à un Critter.RunClientScript("radio@ShowEditScreen",radio.Id,0,0,null,null); RunClientScript est une fonction de la classe Critter (voir les détails dans la docs) Ca renvoi à la fonction ShowEditScreen(..) et dedans on a le droit à un "ShowScreen(Client_Screen_Radio,....)" avec Client_Screen_Radio qui je le rappel est définit dans "_client_defines.fos" Hé bhé ... tout ca pour ca! Si on continue pour la fenêtre de barter on se rappellera qu'elle est 'hardcoded' (comprendre non disponible dans les scripts) et effectivement en recherchant CLIENT_SCREEN_BARTER dans les fichier on ne tombe que sur le define et le createscreen. Tous est gérer pour l'instant dans le "noyau" Ca viendra peut être par la suite. Après dans "client_gui.fos" il y a GUI_render() peut être que tu peux remplacer la fenêtre barter par ta propre fenêtre, ni vu ni connu. (pas testé)

~~~~

Lien vers le commentaire
Partager sur d’autres sites

C'est intéressant, merci Berko pour ces éclaircissement bien détaillé :grin: Oui j'avais remarquer la fenêtre radio et test, Cvet a quand même donner le moyen de crée les siennes, je ne connais pas encore leur fonctionnement je ne mis suis pas encore pencher, j'avais vaguement chercher dans la doc d'ailleurs mais il n'y a pas l'air d'y avoir de dossiers concernant le GUI. Faut peut être regarder ailleurs, ou alors il a rajouter ça après avoir crée la doc et il a eu la flemme de rajouter quelques lignes sur le sujet :grin: C'est vrai que remplacer la fenêtre barter par une fait-maison ma effleurer l'esprit, mais bon je n'ai pas trouver comment le jeu fait exactement appel a cette fameuse fenêtre, que ce soit par le biais du dialog ou par le bouton "Barter". Dans les fichiers dialog on peux voir juste un code "65506" pour les text qui ouvre la fenêtre barter, mais je ne sais pas ce que c'est, en tout cas en les effaçant et en mettant l'appel d'un script à la place, on devrait pouvoir ouvrir une autre fenêtre je suppose. Par contre pour le bouton, à moins de pouvoir interféré avec la fenêtre dialog qui est aussi hardcoded, sinon c'est pas possible. En tout cas pour crée un NPC capable de recevoir des items à mettre en vente pour le joueur, j'imagine que ça devrait être possible donc en passant par les dialogs, pour afficher une interface fait-maison pour ajouter/retirer des objets de la liste du trader personnel. edit: j'ai regarder GUI_render, en effet ça a l'air d'une fonction clé pour éventuellement court-circuiter une fenêtre

Lien vers le commentaire
Partager sur d’autres sites

Je reviens vite fait sur les inventaires des Traders, c'est tout con en fait, trader_table.xls est en fait un fichier excel (bah voui), juste que je l'avais pas réinstallé... Bah les inventaires sont gérés à partir de là on dirait, avant d'etre transformé en .fos pour etre lu par le jeu... Le seul inconvenient c'est qu'il est géré en russe ce fichier...

banecteammorpheusv2.png
Lien vers le commentaire
Partager sur d’autres sites

Ouai c'est bien pour ça que je disais que c'est incompréhensible lol, faut déjà s'amuser à le traduire et puis, même traduit ça doit pas être simple. En tout cas y'a une macro dessus, avec openoffice il me la désactive au lancement, et j'ai pas eu l'envie de chercher comment l'activer, je m'en sers vraiment juste pour lire les word et excel rien d'autre. Je sais pas si la macro est faite pour générer le .fos ou si c'est autre chose, dans le .fos le tableau est retranscrit en array, ce qui le rend totalement illisible pire que le russe, on comprend l'intérêt d'une table excel, même si ça reste une idée un peu tordu à mon avis. edit: D'ailleurs ça me fait penser qu'il faudra que je regarde si il y a un moyen de crée un inventaire de trader par le scripting, parce que, forcement pour faire un vendeur npc perso, il faut lui ajouter/retirer des objets et donc modifier son inventaire à chaque fois. (mais bon, chaque chose en son temps)

Lien vers le commentaire
Partager sur d’autres sites

Pour changer tous les textes du jeu (De "mot de passe incorrect" au nom des compétences) dirigez vous vers server/text/engl et ouvrez le fichier "FOGAME.MSG". Amusez-vous ! Note : C'est également le fichier à changer en priorité pour changer la langue du jeu : Plus de 1930 lignes effectives...

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Je teste depuis quelques temps le sdk et j'aimerais savoir comment jouer en réseau local avec 2 pc reliés, soit par l'intermédiaire d'une box ou peut-etre si c'est possible, par un simple fil avec une prise rj 45. Escusez-moi pour ces questions de noob mais je n'y connais strictement rien sur ce sujet. En clair je prend l'ordi le plus puissant qui servira de serveur. Dans le programme "fonline configuration" dans l'onglet "net", si je veux jouer sur ce pc, il faut être en localhost et sur le port 4000. Mais le deuxieme pc, quel sera la config ? que faut-il marquer dans la case "host", "port", a quoi sert les réglages proxy? Je pense être dans le bon topic car le 1er post d' Izual parle de lancement solo du sdk. Merci d'avance pour vos réponses. N' hesitez pas à me demander des précisions.

Alors, y dort le gros con ? Ben y dormira encore mieux quand il aura pris ça dans la gueule ! Il entendra chanter les anges, le gugusse de Montauban ! Je vais le renvoyer tout droit à la maison mère, au terminus des prétentieux…

Lien vers le commentaire
Partager sur d’autres sites

Si tu connectes les PC directement, il te faut un cable (RJ45) croisé. Si tu peux passer par ta box, alors autant le faire (cable non-croisé dans ce cas). Il faut que ton serveur ait une IP fixe, à définir dans le panneau de configuration de ta box (fonction routeur). Remplaces localhost par l'IP interne de ton serveur, dans le conf. du serveur comme du client. ---------- edit ----------- Le port importe peu, autant laisser celui par défaut.

"Le Loup maintient le Caribou en bonne santé..."

Lien vers le commentaire
Partager sur d’autres sites

Merci Amarok pour ta réponse. J' ai essayé pas mal de chose mais sans succès. Dans le fonline configurator, changer quelques chose dans "game server" fait apparaitre error en face chaque bouton du menu du jeu, et on a plus accès à rien. Donc on touche pas :nono:. Citation: Remplaces localhost par l'IP interne de ton serveur, dans le conf. du serveur comme du client. Je ne vois nul part l'IP interne de mon serveur. J'ai pourtant regardé dans fonline.cfg du serveur (je n'ai que le port) et du client (les paramètres du fonline configurator mais pas d'IP). Peut-tu préciser ou on peut voir cet ip interne du serveur ?

Alors, y dort le gros con ? Ben y dormira encore mieux quand il aura pris ça dans la gueule ! Il entendra chanter les anges, le gugusse de Montauban ! Je vais le renvoyer tout droit à la maison mère, au terminus des prétentieux…

Lien vers le commentaire
Partager sur d’autres sites

Le conseil d'Hawk est salutaire... Autant commencer par le début ^^ ------------------------------------------------------------------ "Fonline configurator" ? 'connais pas. Mais il suffit de modifier les fichiers à la main, depuis un vulgaire éditeur de texte : - FOnlineServer.cfg (côté serveur) - FOnline.cfg ou via le launcher (côté client) L'IP interne est l'adresse IP de ta machine en réseau local (généralement 192.168...), elle n'est pas accessible depuis "l'extérieur" (cad internet). Soit tu en forces une depuis ton routeur (ta box), soit tu en détermines une dans tes options de connexion (panneau de configuration etc). Si le paragraphe du dessus te semble obscure, renseignes-toi un peu mieux sur le fonctionnement de ton ordinateur avant d'aller plus loin. Sinon, tu vas droit dans le mur.

"Le Loup maintient le Caribou en bonne santé..."

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...