Page 55 of 78

Re: Tyhmät kysymykset (I/2010)

Posted: Fri Jul 16, 2010 1:37 am
by DJ-Filbe
VesQ wrote:
DJ-Nerd wrote:Mites kikkailen seuraavan koodin:

Code: Select all

Execute "ohjelma.exe"
End
niin että nuo 2 komentoa suoritetaan peräkkäin. Kun yritän tuota, toinen cb-ohjelma (ohjelma.exe) ei käynnisty, eikä edellinen ohjelma lopu Endillä, paitsi jos ikkunaa klikkaa kerran noiden komentojen suorittamisen jälkeen.

Toinen kysymys taas olisi, miten luodaan piilotiedostoja / -kansioita CB:llä? Pitääkö käyttää komentorivikomentoja Executen kautta? Ja millä koodilla?
Teeppä CB-ohjelmalla pikainen BAT-tiedosto ja aja se executella (alla oleva koodi siihen bat-tiedostoon). Tällöin se edelline cb-ohjelma sammuu nopsaan, eikä se kovinkaan hankalaa oo.

Code: Select all

start ohjelma.exe
Kiitos! Sain selville nyt ratkaisevan virheen ohjelmassani (väärä kansio, mistä tiedostoja selataan). Nyt toimii niin kuin pitää.

Re: Tyhmät kysymykset (I/2010)

Posted: Tue Jul 20, 2010 5:02 pm
by Ballol
Saako input-komennossa mitenkään rajattua kirjoitetun tekstin määrää ja poistettua erikoismerkkien sekä välilyönnin käytön?

Syö hirveästi immersiota jos esimerkiksi pelattavan hahmon nimi on R4nd0mj0nn3lololol13333333337biatch101-98heppatyttöxdpoika101monkey simppelin Jaakon sijasta. Ajattelin että estäminen onnistuisi ehkä siten että peli ei päästä sua eteenpäin ennen kuin olet korjannut nimen sopivaan muotoon.. Mutta miten asettaa nämä rajoitteet tunnistettaviksi?

Re: Tyhmät kysymykset (I/2010)

Posted: Tue Jul 20, 2010 5:07 pm
by DJ-Filbe
Ballol wrote:Saako input-komennossa mitenkään rajattua kirjoitetun tekstin määrää ja poistettua erikoismerkkien sekä välilyönnin käytön?

Syö hirveästi immersiota jos esimerkiksi pelattavan hahmon nimi on R4nd0mj0nn3lololol13333333337biatch101-98heppatyttöxdpoika101monkey simppelin Jaakon sijasta. Ajattelin että estäminen onnistuisi ehkä siten että peli ei päästä sua eteenpäin ennen kuin olet korjannut nimen sopivaan muotoon.. Mutta miten asettaa nämä rajoitteet tunnistettaviksi?
Listaa kielletyt merkit merkkijonoon ja tutki nimi InStr :llä sisältääkö nimi niitä. Ja tutki myös nimen pituus Len -funktiolla.
EDIT:

Tai sitten tutki heti inputin aikana, löytyykö "Kielletyt merkit" -merkkijonosta näppäintä, mitä käyttäjä juuri painoi. Jos löytyy, niin yksi merkki pyyhitään.


Re: Tyhmät kysymykset (I/2010)

Posted: Tue Jul 20, 2010 5:11 pm
by Latexi95
Ballol wrote:Saako input-komennossa mitenkään rajattua kirjoitetun tekstin määrää ja poistettua erikoismerkkien sekä välilyönnin käytön?

Syö hirveästi immersiota jos esimerkiksi pelattavan hahmon nimi on R4nd0mj0nn3lololol13333333337biatch101-98heppatyttöxdpoika101monkey simppelin Jaakon sijasta. Ajattelin että estäminen onnistuisi ehkä siten että peli ei päästä sua eteenpäin ennen kuin olet korjannut nimen sopivaan muotoon.. Mutta miten asettaa nämä rajoitteet tunnistettaviksi?
Suoraan "Input":ista tämä ei onnistu... Mutta kun nimi on syötetty ja pelin pitäisi jatkua, niin lisää siihen tarkistus, että nimi on sopiva. "Len" palauttaa tekstin pituuden joten sillä saat sen tarkistettua ja "InStr":n "Mid":n avulla voit tarkistaa ovatko kaikki merkit sallittuja tai löytyykö sieltä kiellettyjä merkkejä.

Re: Tyhmät kysymykset (I/2010)

Posted: Tue Jul 20, 2010 5:22 pm
by Ballol
Kiitos avusta, Len auttoi pituusongelmaan, merkkien kieltoa yritän paraikaa funtsia.

Re: Tyhmät kysymykset (I/2010)

Posted: Tue Jul 20, 2010 5:27 pm
by DJ-Filbe
Ballol wrote:Kiitos avusta, Len auttoi pituusongelmaan, merkkien kieltoa yritän paraikaa funtsia.

Code: Select all

hahmonnimi$="Mikko!"
kielletyt$="!\#¤%&/()=?"
For i=1 To Len(kielletyt)
    If InStr(hahmonnimi, Mid(kielletyt, i, 1)) Then 
    MakeError "Merkki "+Mid(kielletyt, i, 1)+" on kielletty!"
    EndIf
Next i
Tuota tutkimalla sinun pitäisi selvitä.

Re: Tyhmät kysymykset (I/2010)

Posted: Tue Jul 20, 2010 5:30 pm
by Ballol
DJ-Nerd wrote:
Ballol wrote:Kiitos avusta, Len auttoi pituusongelmaan, merkkien kieltoa yritän paraikaa funtsia.

Code: Select all

hahmonnimi$="Mikko!"
kielletyt$="!\#¤%&/()=?"
For i=1 To Len(kielletyt)
    If InStr(hahmonnimi, Mid(kielletyt, i, 1)) Then 
    MakeError "Merkki "+Mid(kielletyt, i, 1)+" on kielletty!"
    EndIf
Next i
Tuota tutkimalla sinun pitäisi selvitä.
Ah, kiitos, mietin vain niinkin yksinkertaista ongelmaa että miten asettaa "kiellettävät". Nyt toimii.

EDIT: Tai perkele, ei, ei toimikkaan. Upottaminen purkkakoodin sisään tuntuu hieman vaikealta.

Re: Tyhmät kysymykset (I/2010)

Posted: Wed Jul 21, 2010 10:14 pm
by Guest
hei osaako joku auttaa kertoa että miten sais rowtextiin niin että kun laittaa esim rowtext "löysit *timantin*" niin se timantti tulis lihavoituna? kiitti

Re: Tyhmät kysymykset (I/2010)

Posted: Thu Jul 22, 2010 12:20 am
by DJ-Filbe
Vieras wrote:hei osaako joku auttaa kertoa että miten sais rowtextiin niin että kun laittaa esim rowtext "löysit *timantin*" niin se timantti tulis lihavoituna? kiitti
öhh.. "rowtext"???
Jos Addtextiä meinasit, niin: voi kun olisikin keino selvittää nykyisen tekstin paikka AddTextissä...
Muuten saat tuon lihavoinnin vaihtamalla käytettävää fonttia, tähän tapaan (esimerkissä käytetään Arial -fonttia):
SetFont Loadfont("Arial", 12, 1)
ja tämän jälkeen tulostat lihavoituna haluamasi tekstin. Sitten kutsut:
SetFont Loadfont("Arial", 12, 0)
ja näin fontti palaa ei-lihavoituun tekstiin.
Jos sitten haluat ihan tuollaisen kuvailemasi tilanteen, kannattaa vaihtaa Addtext mieluummin Text -komentoon.
Silloin koodi menisi näin:

Code: Select all

Text x, y, "löysit "
leveys=textwidth("löysit ")
SetFont Loadfont("Arial", 12, 1)
Text x+leveys, y, "*timantin*"
SetFont Loadfont("Arial", 12, 0)
jossa x on tekstin sijainti vaakasuunnassa ja y pystysuunnassa. 12 on fonttikoko.
EDIT:

koodifix


Re: Tyhmät kysymykset (I/2010)

Posted: Thu Jul 22, 2010 8:23 pm
by MrMonday
En tälle viitsinyt omaa ketjua tehdä, niin kysyn täällä, että onko kukaan tehnyt mitään taulukko esimerkkejä tai olisiko jollain aikaa moisen tekemiseen?
Taas on yksi projekti vaarassa kaatua osaamattomuuteni takia, kun en ole oikein taulukoita täysin sisäistänyt :roll: jotain harjoituksia olen tehnyt, mutta sisäistäminen on vain todella vaikeaa..
Eli ihan vaikka joku kommentoitu pikku ohjelma olisi varmasti jo avuksi, kun cb:n omasta manuskasta ei irtoa tarpeeksi.. Ja esimerkkit mielellään niin helppoja ja selkeitä että apinakin ymmärtää :lol:

Kiitos nyt jo etukäteen ja toivottavasti joku pystyy auttamaan :)

Re: Tyhmät kysymykset (I/2010)

Posted: Thu Jul 22, 2010 9:51 pm
by DJ-Filbe
MrMonday wrote:En tälle viitsinyt omaa ketjua tehdä, niin kysyn täällä, että onko kukaan tehnyt mitään taulukko esimerkkejä tai olisiko jollain aikaa moisen tekemiseen?
Taas on yksi projekti vaarassa kaatua osaamattomuuteni takia, kun en ole oikein taulukoita täysin sisäistänyt :roll: jotain harjoituksia olen tehnyt, mutta sisäistäminen on vain todella vaikeaa..
Eli ihan vaikka joku kommentoitu pikku ohjelma olisi varmasti jo avuksi, kun cb:n omasta manuskasta ei irtoa tarpeeksi.. Ja esimerkkit mielellään niin helppoja ja selkeitä että apinakin ymmärtää :lol:

Kiitos nyt jo etukäteen ja toivottavasti joku pystyy auttamaan :)
Itselle ei ainakaan muistu mieleen että joku olisi tehnyt taulukkoesimerkin, mutta itse voisin avustaa taulukoiden kanssa henkilökohtaisesti esim. mesellä (peliryhma@hotmail.com). Osaan taulukoiden edistyneen käytön ja osaisin selittää taulukot "maallikon lailla" (tutoriaalia en jaksa alkaa nyt vääntämään).
Kannattaa toki tutustua ensin manuskan sisältöön ja pohdiskella esimerkkiohjelmaa, mutta jos sisäistäminen tuottaa vaikeuksia, ei kun mese esille ja lisää mut ;)

Re: Tyhmät kysymykset (I/2010)

Posted: Fri Jul 23, 2010 4:13 pm
by Latexi95
Selitän nyt nopeasti cb:n taulukoiden perusteet.
Cb:ssä taulukot luodaan komennolla "Dim" jonka jälkeen tulee taulukon nimi ja sulkuihin sen koko.
"As":n avulla saat valittua taulukon tyypin.(Oletuksena Integer, niin kuin muitenkin muuttujien kohdalla)

Code: Select all

Dim taulukko(4) As String
Dim toinentaulukko(8) As Float
Taulukot voivat olla mitä tahansa cb:n perustietotyyppiä (Integer,Float,Short,Byte,String).
Taulukon koko on todellisuudessa yhtä isompi kuin antamasi koko.

Code: Select all

Dim taulukko(10) As Byte //Todellisuudessa sisältää 11 jäsentä
Tämä johtuu siitä, että cb aloittaa koon laskemisen nollasta.
Luonnin jälkeen jäseniin pääsee käsiksi sulkujen avulla.

Code: Select all

taulukko(2) = 10 //Taulukon kolmas arvo on nyt 10
Print taulukko(0) //Tulostetaan ensimmäinen arvo 
Taulukon kokoa voi muuttaa jälkikäteen "ReDim":n avulla.

Code: Select all

Dim taulukko(2) As Short //Sisältää 3 arvoa
ReDim taulukko(5) //Sisältää nyt 6 arvoa
"ReDim" oletuksena tuhoaa taulukon sisällön kun sitä venytetään. "ClearArray":n avulla valita tuhotaanko tieto venytyksessä.
Merkkijono taulukko tyhjenee aina venytyksessä. Taulukot kannattaa käydä läpi For-silmukalla.

Code: Select all

koko = 10
Dim taulukko(koko) As Integer
For i = 0 To koko
     taulukko(i) = Rand(0,1000) //Täytetään taulukko satunnais arvoilla.
Next i
Toivottavasti auttoi.

Minusta tämä oli aivan oikea ketju tuolle kysymykselle. :)

Re: Tyhmät kysymykset (I/2010)

Posted: Fri Jul 23, 2010 6:57 pm
by DJ-Filbe
Miten saan muunnettua RGB-arvon yhdeksi luvuksi (32-bit-väri)

Re: Tyhmät kysymykset (I/2010)

Posted: Fri Jul 23, 2010 7:16 pm
by phons
Tuohon 32-bit-väri:in on myös jokin funkkari mutta tässä on tällainen:

Code: Select all

Function RGBToHex(r,g,b)
    Return "#" + Right(Hex(r),2) + Right(Hex(g),2) + Right(Hex(b),2)
EndFunction 
Oh, cbkk, i miss you so much!!

Re: Tyhmät kysymykset (I/2010)

Posted: Fri Jul 23, 2010 8:32 pm
by esa94
DJ-Nerd wrote:Miten saan muunnettua RGB-arvon yhdeksi luvuksi (32-bit-väri)
Todennäköisesti

Code: Select all

(R shl (8*3)) + (G shl (8*2)) + (B shl 8)

Re: Tyhmät kysymykset (I/2010)

Posted: Fri Jul 23, 2010 8:42 pm
by koodaaja
CB käyttää ARGB -värejä.

Code: Select all

(r shl 16) + (g shl 8) + b
Alfan saisi tietysti (a shl 24):llä, mutta se ei muistaakseni vaikuta pikseliin ollenkaan.

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jul 25, 2010 12:40 pm
by buke44
Eikö cblle ollut joku mavi etsijä? Voisko joku pistää linkkiä.

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jul 25, 2010 1:44 pm
by esa94
buke44 wrote:Eikö cblle ollut joku mavi etsijä? Voisko joku pistää linkkiä.
Ei tietääkseni

Re: Tyhmät kysymykset (I/2010)

Posted: Sun Jul 25, 2010 3:07 pm
by tuhoojabotti
buke44 wrote:Eikö cblle ollut joku mavi etsijä? Voisko joku pistää linkkiä.
Ei sille kai mitään "etsijää", mutta kannattaa laitella setwindow eri teksteillä kaikkialle (tai Debug loggaus kaikkialla niinku mulla ^^) niin sitten näkee missä päin koodia MAV tulee.

Re: Tyhmät kysymykset (I/2010)

Posted: Mon Jul 26, 2010 9:16 am
by MrMonday
DJ-Nerd wrote:
MrMonday wrote:En tälle viitsinyt omaa ketjua tehdä, niin kysyn täällä, että onko kukaan tehnyt mitään taulukko esimerkkejä tai olisiko jollain aikaa moisen tekemiseen?
Taas on yksi projekti vaarassa kaatua osaamattomuuteni takia, kun en ole oikein taulukoita täysin sisäistänyt :roll: jotain harjoituksia olen tehnyt, mutta sisäistäminen on vain todella vaikeaa..
Eli ihan vaikka joku kommentoitu pikku ohjelma olisi varmasti jo avuksi, kun cb:n omasta manuskasta ei irtoa tarpeeksi.. Ja esimerkkit mielellään niin helppoja ja selkeitä että apinakin ymmärtää :lol:

Kiitos nyt jo etukäteen ja toivottavasti joku pystyy auttamaan :)
Itselle ei ainakaan muistu mieleen että joku olisi tehnyt taulukkoesimerkin, mutta itse voisin avustaa taulukoiden kanssa henkilökohtaisesti esim. mesellä (peliryhma@hotmail.com). Osaan taulukoiden edistyneen käytön ja osaisin selittää taulukot "maallikon lailla" (tutoriaalia en jaksa alkaa nyt vääntämään).
Kannattaa toki tutustua ensin manuskan sisältöön ja pohdiskella esimerkkiohjelmaa, mutta jos sisäistäminen tuottaa vaikeuksia, ei kun mese esille ja lisää mut ;)
Kiitos tarjouksesta, mutta vietän niin vähän aikaa koneella nykyisin, ja mesen käyttökin on lähes nollassa, että sitä kautta se ei oikein onnistu..
Siinä juurikin syy, miksi näitä tutoja kyselen, kun voi omalla ajallaan lueskella.. Mutta kiitos kumminkin kaikille, niin minä jatkan kokeilujani..