Once upon a time a student who had headaches... Why? Cause he worked... he worked... It's not mine, thanks to Gougou1, Cause if you have a brain, with this code, it's near 7 computers which are connected! It was two years ago...
SERVER:
rem ************************************************************************
rem * DerniĆØre mise Ć jour *
rem * Le 8 mai 2003 Ć 22h45 *
rem * SERVEUR *
rem * By GOUGOU1 *
rem ************************************************************************
set window on
set window size 640,480
rem ************************************************************************
rem on cherche les connetions rƩseau
print "Serveur"
perform checklist for net connections
rem on affiche les connections
for i=1 to checklist quantity()
print i,":",checklist string$(i)
next i
print ""
print "Quel protocole utiliser ?"
input prot
print ""
print "Quelle IP ?"
input IP$
sync
rem on active la connection
set net connection prot,IP$
rem on entre son pseudo
pseudo$ = "Admin"
print "Entrer le nom de la partie à créer"
input nom$
create net game nom$, pseudo$,7,2
print "Partie crƩe"
rem ************************************************************************
cls
rem on attend que tous les joueurs soient lĆ
while spacekey() = 0
wait 1000
cls
set cursor 1,1
print "En attente de joueurs"
print "Appuyer sur espace pour lancer le serveur"
print "Attention, une fois le serveur lancƩ, plus personne ne peut rejoindre la partie"
print "Actuellement, il y a ",MaxJoueur#," joueurs de connectés à la partie"
rem on garde le nombre de joueurs
MaxJoueur# = checklist quantity()
rem on fait laliste des joueurs et on l'affiche
perform checklist for net players
for t=1 to checklist quantity()
print checklist value A(t)," : ",checklist string$(t)
next t
endwhile
MaxJoueur# = MaxJoueur# - 1
rem on envoie les numƩros de joueurs
for t=1 to checklist quantity()
send net message integer t,MaxJoueur#
next t
cls
make memblock 1,1000
make memblock 2,1000
make memblock 3,1000
make memblock 4,1000
make memblock 5,1000
make memblock 6,1000
make memblock 7,1000
rem ************************************************************************
rem ************** Boucle principale ***************************************
rem ************************************************************************
do
get net message
if (net message exists() = 1)
gosub GetMemblock
gosub MakeNewMemblock
gosub SendMemblock
tps = timer()
endif
cls
loop
GetMemblock:
print "yop reƧu"
PlayerFrom = (net message player from() - 1 )
net message memblock PlayerFrom
print "Message de ",PlayerFrom
return
rem MakeNewMemBlock
MakeNewMemBlock:
copy memblock 1,7,0,0,100
copy memblock 2,7,100,100,100
copy memblock 3,7,200,200,100
copy memblock 4,7,300,300,100
copy memblock 5,7,400,400,100
copy memblock 6,7,500,500,100
rem on choisi un joueur Ć qui envoyer
PlayerFrom = PlayerFrom - 1
rem si ce joueur Ʃxiste pas, on change
if PlayerFrom <=0 then PlayerFrom = MaxJoueur#
rem et on le stock dans le memblock
write memblock byte 7,999,PlayerFrom
return
rem SendMemblock
SendMemblock:
send net message memblock 0,7,1
return
PLAYER:
rem ************************************************************************************************************************************************
rem * DerniĆØre mise Ć jour *
rem * Le 28 avril 2003 Ć 17h50 *
rem ************************************************************************************************************************************************
rem ************************************************************************
rem ************************************************************************
rem ************* PHASE CONNECTION **********************************
rem ************************************************************************
rem ************************************************************************
set window on
set window size 1024,768
set display mode 1024,768,32
rem on choisit le mode de jeu, exploration ou multi
print "Quel Mode de jeu ?"
print "1) Exploration "
print "2) Multijoueur "
input ModeJeu#
rem on cherche les connections rƩseau
if ModeJeu# = 2
print "Client"
perform checklist for net connections
rem on affiche les connections
for i=1 to checklist quantity()
print i,":",checklist string$(i)
next i
print ""
print "Quel protocole utiliser ?"
input prot
print ""
print "Quelle IP ?"
input IP$
sync
rem on active la connection
set net connection prot,IP$
rem on entre son pseudo
print "Entrer votre pseudo"
input pseudo$
rem recherche les parties en cours
print " recherche des parties en cours "
perform checklist for net sessions
for i=1 to checklist quantity()
print i,":",checklist string$(i)
next i
rem on rejoint la partie
print ""
print " Quelle partie voulez vous rejoindre ?"
input partie
join net game partie,pseudo$
print "partie rejointe"
print "Veuillez attendre que le serveur lance la partie"
endif
rem ************************************************************************
rem ************************************************************************
rem ************* FIN PHASE CONNECTION **********************************
rem ************************************************************************
rem ************* PHASE CHARGEMENT DU JEU *******************************
rem ************************************************************************
rem charger tous les object de votre jeu, bref, qu'il soit pret à etre lancé
rem ************************************************************************
rem ************FIN PHASE CHARGEMENT DU JEU *******************************
rem ************************************************************************
Compilation:
rem **********************************************************************
rem **********************************************************************
rem ************ Compilation ***********************************
rem **********************************************************************
rem **********************************************************************
rem Joueur 1
NumJCont1 = 1
rem Joueur 2
NumJCont2 = 2
rem Joueur 3
NumJCont3 = 3
rem Joueur 4
NumJCont4 = 4
rem Joueur 5
NumJCont5 = 5
rem Joueur 6
NumJCont6 = 6
rem Send
Send = 1
rem là , on creer et spécifie la taille des memblocks
rem je n'avais pas mis ces lignes car en fait, çà depend du jeu que l'on fait, et donc la taille varie
make memblock 1,1000
make memblock 2,1000
rem ************************************************************************
rem ************************************************************************
rem ************* FIN CHARGEMENT DU JEU ********************************
rem ************************************************************************
rem ************************************************************************
rem ************************************************************************
rem ************************************************************************
REM ************* ATTENTE DU LANCEMENT DE LA PARTIE ****************
rem ************************************************************************
rem ************************************************************************
rem tant que la partie est pas lancƩe, on attend
while net message exists() = 0
get net message
sync
endwhile
rem on récupère le numéro du serveur et le nbr de joueurs
NumServeur# = net message player from()
MaxPlayer# = net message integer()
rem /************************************************************************
rem /************************************************************************
rem /****************** dƩbut de la boucle principale ***************
rem /************************************************************************
rem /************************************************************************
do
rem /************************************************************************
rem /************************************************************************
rem /************************************************************************
rem / *************************** votre jeu ****************************
rem /************************************************************************
rem /************************************************************************
rem /************************************************************************
gosub Memblock
rem on vƩrifit les messages
get net message
if net message exists() = 1
rem on recopie le memblock reƧu sur l'ancien memblock
net message memblock 2
gosub TraitMemblock
endif
Send:
rem si send = 1, on envoie un message
if Send = 1
send net message memblock NumServeur#,1,1
Send = 0
endif
rem on syncro rafraichi l'Ʃcran
sync
rem fin de la boucle principale
loop
Memblock:
rem ici vous stocker toutes les infos Ć envoyer
rem position du joueur sur x
write memblock float 1,((NumJCont1-1)*100) + 0,object position x(NumJCont1)
rem position du joueur sur z
write memblock float 1,((NumJCont1-1)*100) + 4,object position z(NumJCont1)
rem angle du joueur sur y
write memblock word 1,((NumJCont1-1)*100) + 8,object angle y(NumJCont1)
return
TraitMemblock:
rem on récupère les infos du memblock
rem le joueur 2
rem ses coordonƩes selon x,z
x2# = memblock float(2,((NumJCont2-1)*100) + 0)
z2# = memblock float(2,((NumJCont2-1)*100) + 4)
rem son angle y
angle2# = memblock word(2,((NumJCont2-1)*100) + 8)
rem joueur 3
x3# = memblock float(2,((NumJCont3-1)*100) + 0)
z3# = memblock float(2,((NumJCont3-1)*100) + 4)
angle3# = memblock word(2,((NumJCont3-1)*100) + 8)
rem joueur 4
x4# = memblock float(2,((NumJCont4-1)*100) + 0)
z4# = memblock float(2,((NumJCont4-1)*100) + 4)
angle4# = memblock word(2,((NumJCont4-1)*100) + 8)
rem joueur 5
x5# = memblock float(2,((NumJCont5-1)*100) + 0)
z5# = memblock float(2,((NumJCont5-1)*100) + 4)
angle5# = memblock word(2,((NumJCont5-1)*100) + 8)
rem joueur 6
x6# = memblock float(2,((NumJCont6-1)*100) + 0)
z6# = memblock float(2,((NumJCont6-1)*100) + 4)
angle6# = memblock word(2,((NumJCont6-1)*100) + 8)
rem on vérifit si c'est à nous d'envoyer ou pas
if memblock byte(2,999) = NumJCont1
Send = 1
endif
return
I say you again it's not mine.