| Un gros probléme! Help me! | |
|
|
Auteur | Message |
---|
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Un gros probléme! Help me! Ven 4 Aoû 2006 - 14:36 | |
| :p_salut: J'ai un petit probléme dans mon jeux online! En faite le probléme c'est que quand le joueur 1 tir il tir bien mais moi je veut que le joueur 2 tir aussi mais je ne sais pas comment y faut faire aider moi :p_svp: :p_merci: |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 14:40 | |
| Tu crois pas qu'un topic était suffisant... Et puis c'est bien beau mais il faut montrer quel script tu utilises. |
|
| |
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 14:41 | |
| voici le code que j'utilise:
if global.host = 1 //Si le joueur est le Joueur 1 Cette variable est à définir au début de la partie, lors de la connexion. { //Ecriture mplay_data_write(14,"false");
//Tirs if keyboard_check(vk_control) {mplay_data_write(14,"true");} }
//Lecture if mplay_data_read(14) = "true" { with (instance_create(x,y,obj_balle1)) {speed = 20;} }
Puis dans le joueur 2 je ne sais pas ce qui faut utiliser comme script |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 14:56 | |
| On voit que tu comprends pas grand chose à ce qu'on te donnes, tu t'essaies peut être trop tôt au multi. - Citation :
- if global.ident = 2//Si le joueur est le Joueur 2 Cette variable est à définir au début de la partie, lors de la connexion.
{ //Ecriture mplay_data_write(15,"false");
//Tirs if keyboard_check(vk_control) {mplay_data_write(15,"true");} }
//Lecture if mplay_data_read(15) = "true" { with (instance_create(x,y,obj_balle2)) {speed = 20;} }
Voilà suffit encore d'assigner la variable global.ident à 2 lors de la connexion du joueur 2, Tu peux utiliser un script de ce style: - Citation :
- ip = get_string("Ip:","127.0.0.1");
if (mplay_init_tcpip(ip) != 1) { show_message("Connexion Impossible."); break; } else { global.name = get_string("Nom du joueur","daminetreg"); }
if (mplay_session_find() == 0) { game_name = "Serv"//get_string("Nom de la partie:","Serv"); global.gamename = game_name; mplay_session_create(global.gamename,32,global.name); global.ident = mplay_player_find(); } else { global.gamename = mplay_session_name(0); mplay_session_join(mplay_session_name(0),global.name); global.ident = mplay_player_find(); } |
|
| |
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 14:58 | |
| :p_merci: monsieur! :p_lol: :p_merci: :p_merci: :p_merci: |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 14:58 | |
| De rien, dis moi si ça marche, j'ai pu faire une erreur. |
|
| |
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 14:58 | |
| |
|
| |
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 15:00 | |
| Oui une erreur est apparu! if mplay_data_read(15) = "true" |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 15:03 | |
| C'est quoi l'erreur exactement? Edit: Je sais, c'est parce qu'en fait le joueur 1 était sûrement en ligne, alors que l'objet 2 était aussi mais pas le joueur.
Dernière édition par le Ven 4 Aoû 2006 - 15:04, édité 1 fois |
|
| |
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 15:06 | |
| |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 15:08 | |
| - daminetreg a écrit:
- Edit: Je sais, c'est parce qu'en fait le joueur 1 était sûrement en ligne, alors que l'objet 2 était aussi mais pas le joueur.
En fait tu as un objet Joueur 1 et un objet Joueur 2 je pense, et les deux sont en permanence dans la room non? Or lorsques tu t'es connecté avec le joueur 1 le joueur 2 n'était pas connecté et comme le joueur 2 n'était pas là pour écrire dans le slot 15, ça bug. Pour y remedier il faut soit, crée l'objet Joueur 2 à la connexion du joueur 2, soit lors de l'initialisation du jeu définir le slot 15 à "false", parce qu'en fait là il n'y a rien de marqué dans le slot 15 tant que le joueur 2 ne se connecte pas. |
|
| |
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 15:09 | |
| Non enfaite je vais t'envoyer mon GM6 et tu vera mieux ce qui se passe |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 15:22 | |
| Ben comme je te l'ai expliqué, mais je sens que tu ne comprends pas, en GML ça donne ça: Le Script de connexion: - Citation :
- ip = get_string("Ip:","127.0.0.1");
if (mplay_init_tcpip(ip) != 1) { show_message("Connexion Impossible."); break; } else { global.name = get_string("Nom du joueur","daminetreg"); }
if (mplay_session_find() == 0) { game_name = "Serv"//get_string("Nom de la partie:","Serv"); global.gamename = game_name; mplay_session_create(global.gamename,32,global.name); global.ident = mplay_player_find(); mplay_data_write(51,obj_joueur_1); } else { global.gamename = mplay_session_name(0); mplay_session_join(mplay_session_name(0),global.name); global.ident = mplay_player_find(); if global.number = 2 { mplay_data_write(52,obj_joueur_2); } } Dans create d'un objet quelconque invisible: - Citation :
- //Init*
logout = 0 mplay_data_write(26,logout); mplay_data_write(27,logout); Et dans step de ce même objet quelconque invisible: - Citation :
- //Création Joueur 1
p1 = mplay_data_read(51); if instance_number(p1) < 1 { instance_create(0,0,p1); } //Création Joueur 2 p2 = mplay_data_read(52); if instance_number(p2) < 1 { instance_create(0,0,p2); }
//////////////Deconnexion////////////// if keyboard_check_pressed(vk_escape) && global.ident = 1 { mplay_data_mode(true) logout = 1 mplay_data_write(26,logout); game_end(); }
if keyboard_check_pressed(vk_escape) && global.ident = 2 { mplay_data_mode(true) logout = 1 mplay_data_write(27,logout); game_end(); }
//Synchronisation par lecture if mplay_data_read(26) = 1 { with (obj_smile_1) instance_destroy(); }
if mplay_data_read(27) = 1 { with (obj_smile_2) instance_destroy(); } Bon il faudra que tu l'améliores sur certains points, mais au moins, je pense que ça fonctionne, je n'ai pas essayé. - chris25 a écrit:
- Non enfaite je vais t'envoyer mon GM6 et tu vera mieux ce qui se passe
C'est bien ce que je dis tu ne comprends rien, tu ne sais pas comment fonctionne le multi et tu veux qu'on te fasses tout. :non: Je vais te dire, ça sert à rien parce que pour toi ça ne t'aidera pas réellement. |
|
| |
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 15:23 | |
| |
|
| |
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 15:35 | |
| |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 15:42 | |
| Bon ben envoies ton gm6... Je suis quasiment sûr que mes codes fonctionnent mais bon. |
|
| |
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 15:50 | |
| Mais tes script ne marche pas! Sa bug de partout! |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 17:00 | |
| Non mais t'as vu ton gm6, si tu utilisais mes scripts comme je te les donnes ça fonctionnerait, arrêttez de vous foutre de moi mince alors. Déjà tu as adapté mes scripts, mais comme tu ne sais apparemment pas comme fonctionne le multi ça bug à mort. Je veux bien te le corriger à condition que tu patientes un peu parce que pour cochoner tout t'es un boss. Je suis un peu sévère mais voilà j'ai essayé mes scripts à part et ils fonctionnent. :noel2: |
|
| |
bibi26 Ex-Modérateur
Messages : 4446
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 17:02 | |
| Tu n'as pas vu mes gm6d avant de dire ça :gniah:
Dernière édition par le Ven 4 Aoû 2006 - 17:13, édité 2 fois |
|
| |
chris25 Utilisateur moyen
Messages : 61 Localisation : Montbéliard
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 17:09 | |
| Ok ! compris! Parce que moi j'ai utiliser les script que adamo a fait! |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Un gros probléme! Help me! Ven 4 Aoû 2006 - 17:22 | |
| Bah je sais pas, mais bon voilà quoi. Sinon pour ton problème Chris, pour que ça fonctionne je n'ai eu qu'à changé une ligne, que toi seul a modifié de mes scripts. Donc si les miens bug ce n'est peut être pas ma faute. :sarcastique: Dans obj_joueur2: Dans Create: - Citation :
- mplay_data_write(13,"false");
dans step à la place du reste. - Citation :
- if keyboard_check(vk_left){x-=4} //Permet a lobjet de monter si on pese sur la touche gauche
}
if global.host = false // si on est le CLIENT { if keyboard_check_pressed(vk_enter) { mess = get_string('Message a envoyer au joueur 1:','(Message)') mplay_message_send(0,6,mess) } mplay_message_send(0,3,x) // on envoie le message 3 avec la valeur X a tout les joueur mplay_message_send(0,4,y) // on envoie le message 4 avec la valeur Y a tout les joueur //dans ce tutoriaux on envoie seulement les position X et Y mais on peut aussi envoyer des chose comme le sprite par exemple avec //mplay_message_send(0,11,sprite_index) on envoie la valeur sprite index dans le message #11 donc plus loin vous allez voir le client recois les message si vous voulez //essayer de mettre le sprite_index dans vos script vous devez aussi ajouter dans le receive du client exemple //if mplay_message_id() = 11{joueur2_obj.sprite_index = mplay_message_value()} pour les description voir plus loin }
if global.host = true // si on est le HOST dans lobjet joueur2_obj { while(mplay_message_receive(0)) //Si on recois un message (une donnée) { if mplay_message_id() = 6{show_message(mplay_message_value())} if mplay_message_id() = 3{x = mplay_message_value()} //(explication) quand on recois le message de joueur_obj2 le X de joueur_obj2 (pour le host est egale a la valeur) if mplay_message_id() = 4{y = mplay_message_value()} //(explication suite) si le HOST recois le message 4 du client la valeur Y du joueur_obj2 du host est = a la valeur //je sais pas si vous avez compris avec les explication mais en gros le client envoie la position du X et Y sur les message 3 et 4 a partir du joueur_obj2 et le host a partir //du joueur_obj2 il lis les 2 valeur X et Y et met lobjet joueur_obj2 a la meme place que ou le client la bouger //a ajouter ici si vous voulez mettre le sprite_index } } if global.host = false//Si le joueur est le Joueur 2 Cette variable est à définir au début de la partie, lors de la connexion. { //Ecriture mplay_data_write(13,"false");
//Tirs if keyboard_check(vk_control) {mplay_data_write(13,"true");} }
//Lecture if mplay_data_read(13) = "true" { with (instance_create(x,y,obj_balle2)) {speed = 20;} } Voilà bon je ne groupe pas tout bien que ce serait la moindre des choses étant donné que là tu fais des groupes de codes pour rien, c'est pas dans mes attributions. |
|
| |
Contenu sponsorisé
| Sujet: Re: Un gros probléme! Help me! | |
| |
|
| |
| Un gros probléme! Help me! | |
|