Tyhmät kysymykset (I/2012)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

Latexi95 wrote:
Konstaduck wrote:Olen tässä taas mietiskellyt syvällisiä, ja yksi, mikä jäi kiusaamaan on animaatio avatarissa.

Kokeilin haulla etsiä, mutta löytyi vaan sen avatarin muilta sivuilta lataamis estojuttui jne jne.

Eli miten saisin animaation avatariini? Meneekö se samalla tavalla, kuin tuo CB:n animaatiokuva?

vastauksia odotellen, Konstaduck
Laitoin kyllä tämän vastauksen jo offtopiciin, mutta ilmeisesti se meni sinulta ohi.

Sinun pitää tehdä gif-kuva, siihen saat laitettua animaation. Sitten vaan laitat sen samanlailla avatariksesi kuin tavallisenkin kuvan.
Minuakin ihmetyttää se, miten GIF-formaattiin voi tehdä animaatioita, ja voiko niitä tehdä sinun Animaattori v.3 ?
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by axu »

Konstaduck wrote:Olen tässä taas mietiskellyt syvällisiä, ja yksi, mikä jäi kiusaamaan on animaatio avatarissa.

Kokeilin haulla etsiä, mutta löytyi vaan sen avatarin muilta sivuilta lataamis estojuttui jne jne.

Eli miten saisin animaation avatariini? Meneekö se samalla tavalla, kuin tuo CB:n animaatiokuva?

vastauksia odotellen, Konstaduck
Ja jos ihmettelet, miten GIF-kuvia tehdään, siihen löytyy ilmaisia ohjelmia. En voi olla mainostamatta omaa ratkaisuani: GIF-kuvan tallennin :D
Oma avatarini on koodaamalla animoitu ja tallennettu tuolla funktiolla.
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 »

skorpioni-cb wrote:...ja voiko niitä tehdä sinun Animaattori v.3 ?
Valitettavasti ei.

Pitäisi jossain vaiheessa sitäkin taas jatkaa (tai aloittaa koodaaminen alusta), mutta nyt kyllä cbEnchanted menee edelle (Typet voisi ehkä saada toimimaan tänään).
User avatar
Akuji
Member
Posts: 60
Joined: Fri Oct 08, 2010 5:59 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by Akuji »

Miksi tässä koodissa toimii vain toinen kohdista 1 ja 2. Eli jos esimerkiksi otan kohdan yksi pois, toimii kohta 2 ja toisinpäin, mutta yhdessä ne eivät toimi. Tämän siis pitäisi toimia niin, että kun liikutat hiirtä joko oikealle tai vasemmalle, ohjelma sammuu.

Code: Select all

#1
If MouseMoveX()=1 Then
End
EndIf

#2
If MouseMoveX()=-1 Then
End
EndIf
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 »

Akuji wrote:Miksi tässä koodissa toimii vain toinen kohdista 1 ja 2. Eli jos esimerkiksi otan kohdan yksi pois, toimii kohta 2 ja toisinpäin, mutta yhdessä ne eivät toimi. Tämän siis pitäisi toimia niin, että kun liikutat hiirtä joko oikealle tai vasemmalle, ohjelma sammuu.

Code: Select all

#1
If MouseMoveX()=1 Then
End
EndIf

#2
If MouseMoveX()=-1 Then
End
EndIf
Se johtuu siitä, että MouseMove* vertaa liikettä edelliseen saman funktion kutsuun taikka DrawScreeniin. Eli MouseMoveX kannattaa yleensä laittaa muuttujaan silmukan alussa. (Ja sitten varmaan kannattaa vaihtaa yhtäsuuruusmerkit suurempi-kuin- ja pienempi-kuin -merkkeihin.

Code: Select all

mx = MouseMoveX()
#1
If mx>0 Then
End
EndIf

#2
If mx<0 Then
End
EndIf
[/quote]
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by axu »

Latexi95 wrote:Se johtuu siitä, että MouseMove* vertaa liikettä edelliseen saman funktion kutsuun taikka DrawScreeniin. Eli MouseMoveX kannattaa yleensä laittaa muuttujaan silmukan alussa. (Ja sitten varmaan kannattaa vaihtaa yhtäsuuruusmerkit suurempi-kuin- ja pienempi-kuin -merkkeihin.
Muistaakseni MouseMove-komennot vertailevat pelkästään edelliseen kutsumiskertaan eikä DrawScreeniin. Jos jollakin kierroksella ei tarvitse tietää MouseMoven arvoa, kannattaa sitä kutsua, ettei seuraavalla kutsumiskerralla rekisteröidä tarpeettoman suurta liikettä (kirjoita vaikka tmp = MouseMoveX() + MouseMoveY()).
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 »

axu wrote: Muistaakseni MouseMove-komennot vertailevat pelkästään edelliseen kutsumiskertaan eikä DrawScreeniin. Jos jollakin kierroksella ei tarvitse tietää MouseMoven arvoa, kannattaa sitä kutsua, ettei seuraavalla kutsumiskerralla rekisteröidä tarpeettoman suurta liikettä (kirjoita vaikka tmp = MouseMoveX() + MouseMoveY()).
Totta. No niinhän tuo meneekin.
VerkkoGuru
Member
Posts: 73
Joined: Sat Feb 25, 2012 3:42 pm

Ammusta tuhotessa MAV

Post by VerkkoGuru »

Olen tekemässä peliä, jossa vihollinen jahtaa pelaaja, ja pelaaja puolustautuu aseella. Ongelmaksi kuitenkin tuli, että kun kuvittelin viimein saavani pelin perusidean toimimaan, niin peli alkoi MAVittamaan luotien poistovaiheessa?

Koodi tässä:

Code: Select all

Type LUODIT
Field obj
EndType

FrameLimit 60

health%=100
pisteet%=0
VihunHealth%=100

ukko=LoadObject("Media/guy.bmp",360)
pati=LoadObject("Media/bullet.bmp")
vihollinen=LoadObject("media/soldier.bmp",180)

ShowObject pati, OFF
PositionObject vihollinen,ObjectX(ukko)+100,ObjectY(ukko)+100

ObjectInteger ukko,health
ObjectInteger vihollinen,VihunHealth

Repeat

PointObject vihollinen,ukko

If ObjectsOverlap(vihollinen,ukko,3) Then health=health-1   
MoveObject vihollinen,+1

    If LeftKey() Then TurnObject ukko,-1
    If RightKey() Then TurnObject ukko,+1
    
    If DownKey() Then MoveObject ukko,Float(-1.25) 
    If UpKey() Then MoveObject ukko,Float(+1.5)
    
    If KeyDown(cbkeyA) Then MoveObject ukko,0,-1
    If KeyDown(cbkeyD) Then MoveObject ukko,0,+1
    
        If KeyDown(57) And reload=0 Then
   ammus.LUODIT = New(LUODIT)
   ammus\obj=CloneObject(pati)
           CloneObjectOrientation ammus\obj,ukko
        CloneObjectPosition ammus\obj,ukko        

        reload=4        
        EndIf 
        
        For ammus.LUODIT = Each LUODIT 
        MoveObject ammus\obj,+1
        If Distance2(ammus\obj,ukko)>200 Then
            DeleteObject ammus\obj
            Delete ammus.LUODIT 
        EndIf 

            If ObjectsOverlap(ammus\obj,vihollinen) Then
            VihunHealth=-1
                        DeleteObject ammus\obj
            Delete ammus.LUODIT 
            EndIf 
        
        Next ammus.LUODIT 
         
   If reload>0 Then reload=reload-1
   
If VihunHealth=0 Then
pisteet=pisteet+100   
PositionObject vihollinen,Rand(0,400),Rand(0,600)
EndIf

If health=0 Then
pisteet=pisteet-20
health=100
PositionObject ukko,0,0
EndIf

Text 0,0,"Pelaajan elämät:"+health
Text 0,16,"Vihollisen elämät:"+VihunHealth
Text 0,32,"Pisteet:"+pisteet

Box 160,0,health,16,1
Box 160,17,VihunHealth,16,1

        DrawScreen
   
Until EscapeKey()
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Ammusta tuhotessa MAV

Post by Latexi95 »

VerkkoGuru wrote:Olen tekemässä peliä, jossa vihollinen jahtaa pelaaja, ja pelaaja puolustautuu aseella. Ongelmaksi kuitenkin tuli, että kun kuvittelin viimein saavani pelin perusidean toimimaan, niin peli alkoi MAVittamaan luotien poistovaiheessa?

Koodi tässä:

Code: Select all

Type LUODIT
Field obj
EndType

FrameLimit 60

health%=100
pisteet%=0
VihunHealth%=100

ukko=LoadObject("Media/guy.bmp",360)
pati=LoadObject("Media/bullet.bmp")
vihollinen=LoadObject("media/soldier.bmp",180)

ShowObject pati, OFF
PositionObject vihollinen,ObjectX(ukko)+100,ObjectY(ukko)+100

ObjectInteger ukko,health
ObjectInteger vihollinen,VihunHealth

Repeat

PointObject vihollinen,ukko

If ObjectsOverlap(vihollinen,ukko,3) Then health=health-1   
MoveObject vihollinen,+1

    If LeftKey() Then TurnObject ukko,-1
    If RightKey() Then TurnObject ukko,+1
    
    If DownKey() Then MoveObject ukko,Float(-1.25) 
    If UpKey() Then MoveObject ukko,Float(+1.5)
    
    If KeyDown(cbkeyA) Then MoveObject ukko,0,-1
    If KeyDown(cbkeyD) Then MoveObject ukko,0,+1
    
        If KeyDown(57) And reload=0 Then
   ammus.LUODIT = New(LUODIT)
   ammus\obj=CloneObject(pati)
           CloneObjectOrientation ammus\obj,ukko
        CloneObjectPosition ammus\obj,ukko        

        reload=4        
        EndIf 
        
        For ammus.LUODIT = Each LUODIT 
        MoveObject ammus\obj,+1
        If Distance2(ammus\obj,ukko)>200 Then
            DeleteObject ammus\obj
            Delete ammus.LUODIT 
        EndIf 

            If ObjectsOverlap(ammus\obj,vihollinen) Then
            VihunHealth=-1
                        DeleteObject ammus\obj
            Delete ammus.LUODIT 
            EndIf 
        
        Next ammus.LUODIT 
         
   If reload>0 Then reload=reload-1
   
If VihunHealth=0 Then
pisteet=pisteet+100   
PositionObject vihollinen,Rand(0,400),Rand(0,600)
EndIf

If health=0 Then
pisteet=pisteet-20
health=100
PositionObject ukko,0,0
EndIf

Text 0,0,"Pelaajan elämät:"+health
Text 0,16,"Vihollisen elämät:"+VihunHealth
Text 0,32,"Pisteet:"+pisteet

Box 160,0,health,16,1
Box 160,17,VihunHealth,16,1

        DrawScreen
   
Until EscapeKey()
Kun poistat luodin, kun se menee liian kauas, niin tarkistat sen jälkeen onko luoti vihollisen päällä. Siinä tuolee MAV. Laita ElseIf, niin että et tarkista törmäyksiä vihollisten kanssa, kun olet jo poistanut luodin.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

Minä en tiedä onko tämä kysymys oikeastaan tyhmä, mutta tämä liittyy cbNetworkkiin:
olen tekemässä peliä nimeltään Pong Reloaded, nimestä voi jo päätellä minkälainen nimi on kyseessä, mutta kun mä oon tehnyt infotavut ylös ja alas liikkumiseen, niin herää kysymys, mistä tiedän kumpi/mikä(koska yritän tehdä semmoista tournment-tyylistä PONG-moninpeliä) clientti sen lähetti, olen tehnyt tyypin pelaajalle, joka sisältää ainakin usernamen, ID:n, pisteet, koordinaatit ja vastustajan ID:n
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

skorpioni-cb wrote:Minä en tiedä onko tämä kysymys oikeastaan tyhmä, mutta tämä liittyy cbNetworkkiin:
olen tekemässä peliä nimeltään Pong Reloaded, nimestä voi jo päätellä minkälainen nimi on kyseessä, mutta kun mä oon tehnyt infotavut ylös ja alas liikkumiseen, niin herää kysymys, mistä tiedän kumpi/mikä(koska yritän tehdä semmoista tournment-tyylistä PONG-moninpeliä) clientti sen lähetti, olen tehnyt tyypin pelaajalle, joka sisältää ainakin usernamen, ID:n, pisteet, koordinaatit ja vastustajan ID:n
Palvelimen puolella voit katsoa clientin ID:n muuttujasta NET_ClientId$ ServerRead() funktion kutsun jälkeen ja sitten verrata sitä tyyppisi jäseniin. Näin saat tietoosi sen, että keneltä sitä dataa tulee.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

VesQ wrote:
skorpioni-cb wrote:Minä en tiedä onko tämä kysymys oikeastaan tyhmä, mutta tämä liittyy cbNetworkkiin:
olen tekemässä peliä nimeltään Pong Reloaded, nimestä voi jo päätellä minkälainen nimi on kyseessä, mutta kun mä oon tehnyt infotavut ylös ja alas liikkumiseen, niin herää kysymys, mistä tiedän kumpi/mikä(koska yritän tehdä semmoista tournment-tyylistä PONG-moninpeliä) clientti sen lähetti, olen tehnyt tyypin pelaajalle, joka sisältää ainakin usernamen, ID:n, pisteet, koordinaatit ja vastustajan ID:n
Palvelimen puolella voit katsoa clientin ID:n muuttujasta NET_ClientId$ ServerRead() funktion kutsun jälkeen ja sitten verrata sitä tyyppisi jäseniin. Näin saat tietoosi sen, että keneltä sitä dataa tulee.
Kiitti, täytynee kattoo kunhan pääsen niin pitkälle koodauksessa, mutta nyt kun olen saanut clientin yhdistämään servuun, niin tulee ongelma, nimittäin kun yhden kerran yksi client yhdistää mun servuun, niin servun "konsoli-ikkunaan" tulee floodina viestejä, että uusi client on yhdistänyt, ja silleen, tässä clientin ja serverin koodit tähän asti, clientin käynnistykseen tarvitsee testimielessä komentorivi-parametreja:

Serveri:

Code: Select all

Include "Libs\cbNetwork.cb" //Includes networking stuff
Include "Libs\Nettivakiot.cb" //Includes some constans what you can use in networking

Type PELAAJA //Määritellään Clientin muuttujia
	Field id As String
	Field points As Byte
	Field name As String
	Field x As integer
	Field y As integer
	Field opponent As String
EndType

SAFEEXIT OFF
//tarkistetaan onko komento validi
//jos ei, poistutaan
//jos on, aloitetaan serveri
If Len(CommandLine())=0 Then
	MakeError "Usage: Server.exe <PORT>"
	End
ElseIf Int(CommandLine())=0 Then
	MakeError "You had been used incorrct parameter into port!"
	End
Else 
	infoByte = 0
	InitServer( Int(CommandLine()), 200 )
	SetWindow "Server"
	_Net_InitMemBlock()
	Repeat
		rtn = ServerRead()
		// Jos datan vastaanotto onnistui
		If rtn = 0 Then
			// Luetaan "turha" muistipalan koko
			_Net_GetInt()
			
			// Luetaan dataa
			infoByte = _Net_GetByte()
		EndIf
		If infoByte = INFO_STARTING_CONNECTION Then
			// Uusi käyttäjä linjoilla
			
			user.PELAAJA = New(PELAAJA)
			user\id = Net_ClientId
			user\name = _Net_getString()
			user\x = 0
			user\y = 0
			user\opponent = ""
			Print "Server: New user was connected succesfully"
			
		ElseIf infoByte = INFO_CLOSING_CONNECTION Then
			// Client on sulkemassa yhteyttä
			Print "Server: User was loged out"
		ElseIf infoByte = INFO_GET_PLAYERLIST Then
			// Client haluaa pelaajalistan
			Print "Server: User wants playerlist, let's send it To him/her"
			
		ElseIf infoByte = INFO_MOVE_UP Then
			//Client liikkuu ylös, miten reagoidaan
			aktiivinen.PELAAJA = 0
			For user.PELAAJA = Each PELAAJA
				If user\id = NET_ClientId Then
					aktiivinen=user
				EndIf
			Next user
			aktiivinen\y = aktiivinen\y - 2
		ElseIf infoByte = INFO_MOVE_DOWN Then
			//Kuten yllä mutta vain silloin kun liikutaan alas
			aktiivinen.PELAAJA = 0
			For user.PELAAJA = Each PELAAJA
				If user\id = NET_ClientId Then
					aktiivinen=user
				EndIf
			Next user
			aktiivinen\y = aktiivinen\y + 2
		EndIf
	Forever
EndIf
Client:

Code: Select all

Include "Libs\cbNetwork.cb" //Includes networking stuff
Include "Libs\Nettivakiot.cb" //Includes some constans what you can use in networking

FrameLimit 40
//Player 1 variables
pelaajay=0
pelaajakorkeus=0
pelaajaleveys=0
//Player 2 variables(oppoment)
pelaaja2y=0
pelaaja2korkeus=0
pelaaja2leveys=0

//Networking stuff
Dim rtn As Integer
rtn = InitClient(GetWord(CommandLine(),1),Int(GetWord(CommandLine(),2)))
If rtn <> 0 Then MakeError GetNetErrorString( rtn )

// Alustetaan muistipala
_Net_InitMemBlock()

// Lähetetään serverille tavu, josta se tietää, että client on uusi. 
// INFO_STARTING_CONNECTION = 255
_Net_PutByte( INFO_STARTING_CONNECTION )
ClientSend()

rtn = ClientRead()

// Jos tietojen luku onnistui
If rtn = 0 Then
    // Luetaan muistipalan alusta sen koko
    _Net_GetInt()

    // Luetaan "infotavu"
    infoByte = _Net_GetByte()
    
    If infoByte = INFO_STARTING_CONNECTION Then
        // Serveri hyväksyi yhteyden
		_Net_PutByte( INFO_IDLE )
		ClientSend()
    ElseIf infoByte = INFO_CLOSING_CONNECTION Then
        // Serveri vastasi "quit"-viestiin
    ElseIf infoByte = INFO_GET_PLAYERLIST Then
        // Pelaajalista tulossa
        // Tässä kohtaa serveriltä tulisi myös pelaajalista
    EndIf
EndIf 
BTW. jos haluutte testata serveriä, niin teidän pitää tehdä siitä .exe jotta se ja clientti voitaisiin ajaa samaan aikaan :D
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

Unohdat klientin puolella tyhjentää ClientSend() funktion jälkeen muistipalan sisällön komennolla _Net_InitMemBlock(), joten vanha sisältö lähetetään uudelleen palvelimelle ja se INFO_STARTING_CONNECTION paketti siis lähtee aina vaan uudelleen.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

VesQ wrote:Unohdat klientin puolella tyhjentää ClientSend() funktion jälkeen muistipalan sisällön komennolla _Net_InitMemBlock(), joten vanha sisältö lähetetään uudelleen palvelimelle ja se INFO_STARTING_CONNECTION paketti siis lähtee aina vaan uudelleen.
Mihin mä sen _Net_InitMemBlock()-funkkarin oikein laitan tarkalleen, sinne paikkaan mikä on se missä lähetän sen Info_IDLE-jutun
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

skorpioni-cb wrote:
VesQ wrote:Unohdat klientin puolella tyhjentää ClientSend() funktion jälkeen muistipalan sisällön komennolla _Net_InitMemBlock(), joten vanha sisältö lähetetään uudelleen palvelimelle ja se INFO_STARTING_CONNECTION paketti siis lähtee aina vaan uudelleen.
Mihin mä sen _Net_InitMemBlock()-funkkarin oikein laitan tarkalleen, sinne paikkaan mikä on se missä lähetän sen Info_IDLE-jutun
Vastaanpa lainaamalla omasta viestistäni tärkeän kohdan.
Unohdat klientin puolella tyhjentää ClientSend() funktion jälkeen muistipalan sisällön komennolla _Net_InitMemBlock()
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

VesQ wrote:
skorpioni-cb wrote:
VesQ wrote:Unohdat klientin puolella tyhjentää ClientSend() funktion jälkeen muistipalan sisällön komennolla _Net_InitMemBlock(), joten vanha sisältö lähetetään uudelleen palvelimelle ja se INFO_STARTING_CONNECTION paketti siis lähtee aina vaan uudelleen.
Mihin mä sen _Net_InitMemBlock()-funkkarin oikein laitan tarkalleen, sinne paikkaan mikä on se missä lähetän sen Info_IDLE-jutun
Vastaanpa lainaamalla omasta viestistäni tärkeän kohdan.
Unohdat klientin puolella tyhjentää ClientSend() funktion jälkeen muistipalan sisällön komennolla _Net_InitMemBlock()
Joojoo, mutta se silti lähettää sitä pakettia mitä ilmeisimmin kun se jatkaa sitä kokoajan sitä viestin tulostusta
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

Et muuta palvelimen puolella infoByte muuttujaa enää sen jälkeen, kun olet kerran sen lukenut. Aseta infoByte vaikkapa nollaksi ennen kuin kutsut funktiota ServerRead() niin ei tule vääriä ilmoituksia.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

VesQ wrote:Et muuta palvelimen puolella infoByte muuttujaa enää sen jälkeen, kun olet kerran sen lukenut. Aseta infoByte vaikkapa nollaksi ennen kuin kutsut funktiota ServerRead() niin ei tule vääriä ilmoituksia.
Joo täytynee kokeilla, mä taidan tehä ekan julkasuversion jälkeen node.js-version servusta, miten se ajetaan sitten kun se on tehty?
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 »

skorpioni-cb wrote: Joo täytynee kokeilla, mä taidan tehä ekan julkasuversion jälkeen node.js-version servusta, miten se ajetaan sitten kun se on tehty?
Itse en ole ikinä käyttänyt node.js:ssää, mutta googlettamalla "node.js" tuo selvisi. Eli lataa tuo node.js ja sitten vain konsolilta: "node <tiedosto jossa koodi on>". Suosittelen googlen käyttöä. Tuollaiseen kysymykseen löytää vastauksen nopeammin googlen avulla kuin kysymällä foorumeilta.
Last edited by Latexi95 on Wed Mar 28, 2012 8:44 am, edited 1 time in total.
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Viltzu »

skorpioni-cb wrote:
VesQ wrote:Et muuta palvelimen puolella infoByte muuttujaa enää sen jälkeen, kun olet kerran sen lukenut. Aseta infoByte vaikkapa nollaksi ennen kuin kutsut funktiota ServerRead() niin ei tule vääriä ilmoituksia.
Joo täytynee kokeilla, mä taidan tehä ekan julkasuversion jälkeen node.js-version servusta, miten se ajetaan sitten kun se on tehty?
viewtopic.php?p=58213#p58213
Tähän tapaan varmaan onnistuu.
Locked