Szerző Téma: Telefon TD-s GPS, szám kiírása  (Megtekintve 1264 alkalommal)

Telefon TD-s GPS, szám kiírása
« Dátum: 2016. január 26. - 23:43:36 »
0 Show voters
Sziasztok, belekezdtem egy számomra nagyobb scriptbe mégpedig egy TD-ből álló telefonba.
Szerettem volna egy extra dolgot beletenni mégpedig egy GPS-t. Viszont nem vagyok egy nagy scripter, most kezdtem el a TD-kel is foglalkozni. A másik pedig már egy komplikáltabb dolog lenne, van egy \"számpanel\" amibe kiszeretném íratni a számokat hogy lehessen tárcsázni, ez eddig csak addig ment, hogy 1 karatert sikerült kiíratni. Ha másikat nyom le akkor az előzőt kitörli és az újat beírja, lejeb kifejtem bővebben.
Szóval a segítségeteket kérném.
Ha meg van egy TD amit átszeretnék íratni, akkor utána mi a teendő? Hogyan is fog ez most kinézni?
Esetleg ha valakinek van ilyen TD je a map felett, és eltudná nekem a scriptet és a TD-t küldeni azt megköszönném, de ha csak elmagyarázni a dolgot azt is megköszönném :)
A másik dolog pedig: Ahogy feljebb is leírtam sikerült addig eljutni hogy 1 karaktert kilehessen írni de amikor lenyom egy másik számot akkor az előzőt kitörli és újat tesz be helyette. Nekem ez úgy kéne, hogy konkrétan annyi kellene, hogy 4 számot esetleg 7-et ki legesen írni, úgy hogy a másikat ne cserélje fel.
El is lett kezdve ez viszont eléggé sikerült elakadni.
 Hogyan változtassak globális változó értékén if-else függvényen belül?
 
       new gombErtekeToString[18];
         new hossz = 0;
   
   if(clickedid == szam0)
   {
if (hossz >= 1) {
format(gombErtekeToString, sizeof(gombErtekeToString), \"0\" );
strcat(gombErtekeToString, \"0\");
TextDrawSetString(szampanel, gombErtekeToString);
        TextDrawShowForPlayer(playerid, szampanel);
} else {
format(gombErtekeToString, sizeof(gombErtekeToString), \"0\" );
TextDrawSetString(szampanel, gombErtekeToString);
        TextDrawShowForPlayer(playerid, szampanel);
       
}

 
A felső hosz változót ami = 0 azt szeretném ha az elsen belül átírná 1 re pl. Ez az ami nem megy.


Előre is köszönöm a válaszotokat/segítségnyújtásotokat.
« Utoljára szerkesztve: 2016. január 27. - 15:20:37 írta tobi12 »

Telefon TD-s GPS, szám kiírása
« Válasz #1 Dátum: 2016. január 29. - 00:17:11 »
0 Show voters
A 2. Elsehez rakj egy hossz++ -t
 
format(gombErtekeToString, sizeof(gombErtekeToString), \"%s0\",gomErtekeToString );

 
Asszem így jó lesz de nem tudod és akkor így ha számításaim helyesek akkor ha nyomod mindig rak egy +0at mögé
Ha cink van irj privátat nyugodtan

Telefon TD-s GPS, szám kiírása
« Válasz #2 Dátum: 2016. január 31. - 16:40:48 »
0 Show voters
Nem oldódott még meg a problémám, ha esetleg valakinek van valami más ötlete meghallgatom azt is szívesen :)
Ha valaki valamilyen másik megoldást tud rá, hogy ki lehessen íratni egymás után a \"kijelzőre\" a számokat szóval ha lenyomom az 1 akkor kiírja oda ha a 2 est nyomom le akkor az egyes után ír kettest és így tovább. Feljebb leírtam már, jelenleg azt csinálja, hogy hogy ha lenyomom az egyes gombot akkor kiírja de ha lenyomom a kettes gombot akkor az egyes eltűnik és egy kettes lesz belőle. Magyarul átcseréli. De nekem ez így nem jó.
« Utoljára szerkesztve: 2016. február 01. - 20:14:54 írta tobi12 »

Nem elérhető kos

  • 292
    • Profil megtekintése
Telefon TD-s GPS, szám kiírása
« Válasz #3 Dátum: 2016. február 03. - 09:09:49 »
0 Show voters
egyszerű...
tömbbel kell megoldanod
 
szam0

 
gondolom ez egészen 9 ig szerepel nálad \"szam0=>szam9\"
ez így rossz lesz mert a string érték az előző szám mindig átíródik az újra...
tömbösen kell megoldani
 
szam[0]
szam[1]
szam[2]

 
bla bla bla
majd ott is észre vettem hibát oké h ellenőrzöd h
 
hossz >= 1

 
de a hossz értéke 0 mert nem adsz neki értéket, nem látok olyan h
 
hossz += 1; vagy hossz ++;

 
így mindig az else rész lesz igaz.  :shocking:
valamint érték problémád is lesz.
 
hossz >= 1

 
ez neked így nem lesz jó mert nem egyben kell hanem külön... mert textdraw klicked van gondolom
ergó mindnél le kell ifelned a 9 értéket.
 
if(hossz == 1) {bla bla}else if(hossz ==2){blabla} else {bla bla}

 
és úgy már működni fog az előbbi segítség a %s megoldás

Telefon TD-s GPS, szám kiírása
« Válasz #4 Dátum: 2016. február 03. - 14:58:01 »
0 Show voters
if(clickedid == szam[9])
   {
   
if (hossz == 0) {
format(gombErtekeToString, sizeof(gombErtekeToString), \"%s0\",gomErtekeToString );
strcat(gombErtekeToString, \"0\");
TextDrawSetString(szampanel, gombErtekeToString);
        TextDrawShowForPlayer(playerid, szampanel);
       
}
else if (hossz == 1)
{
        format(gombErtekeToString, sizeof(gombErtekeToString), \"%s1\",gomErtekeToString );
TextDrawSetString(szampanel, gombErtekeToString);
        TextDrawShowForPlayer(playerid, szampanel);
       
}
else if (hossz == 2)
{
        format(gombErtekeToString, sizeof(gombErtekeToString), \"%s2\",gomErtekeToString );
TextDrawSetString(szampanel, gombErtekeToString);
        TextDrawShowForPlayer(playerid, szampanel);
}

 
így érted 0-tól 9-ig? Ha ezt megcsinálom akkor elég lesz 1  textdraw klicked igaz?

Nem elérhető kos

  • 292
    • Profil megtekintése
Telefon TD-s GPS, szám kiírása
« Válasz #5 Dátum: 2016. február 03. - 18:30:11 »
0 Show voters
Asszem elég a %s  és nem lesz jó mert egy értéke %s ha kettőnél jársz dupla kell
Teloról írok de a 2 3 4 már az előzőt is ki kell írnod %s%s el és + változó kell ha nem mented..
Ajánlom a hossz nál is a tömböt vagy ha nem akarsz tömbbel cicózni akkor úgy értéket ami menti mert különbwnen az előzőt felülírja

Dupla hozzászólás automatikusan összefûzve. ( [time]2016. február 03. 18:33:55[/time] )

Pardon elírtam nem láttam h stringes [18] ezzel kell majd jászanod [ 0] => [17]
« Utoljára szerkesztve: 2016. február 03. - 18:36:09 írta kos »

Telefon TD-s GPS, szám kiírása
« Válasz #6 Dátum: 2016. február 03. - 20:12:54 »
0 Show voters
Megkérhetlek, hogy ezt leírd forráskódban is? Így kicsit kacifántos nekem.

Nem elérhető kos

  • 292
    • Profil megtekintése
Telefon TD-s GPS, szám kiírása
« Válasz #7 Dátum: 2016. február 04. - 20:30:46 »
0 Show voters

new string[18],globalstring[128];
new gombErtekeToString[18];
new hossz = 0;
if(clickedid == szam[9])
{
    if(hossz < 10)
    {
        hossz += 1;
        if (hossz ==  0) {
            format(string,18, \"%s\",gomErtekeToString[9]);
            strcat(gombErtekeToString[9],\"0\");
        } else if(hossz == 1) {
            format(string,18, \"%s\",gomErtekeToString[9]);
            strcat(gombErtekeToString[9],\"1\");
        }/*bla bla*/
    }
    format(globalstring,128,\"%s%s%s%s%s%s%s%s%s\",gomErtekeToString[/*1-9*/]);
}

 
elvileg ennek jónak kell lennie szamoktól visszafele meg a %s és értékeket csökkented, de remélem hogy a \"hossz=0\" értéket növeled aszerint mindig h melyik számra kattint... a szam[9] én úgy értelmeztem h 9. gombról van szó az az 1-9 ig. A hossz pedig a gomb értéke.a hossz +1 növelődik ha valamelyiket leütöd a 9 közül de ha eléri 10. et megtíltod h többet írjon be, amit csináltam.
valamint ha úgy akarod h van egy szám kiírja majd ha 2 szám van csak 2 írjon ki ne mind a 9et és úgy 0-at
pl.: 1: 1 2: 15 3: 280000000
ez a sika %s 1. opció
ez a global a 3. opció
a 2. opcióhoz le kell menteni mert ez így kiírhatatlan.
ez így hiányos ugyebár ahogyan szeretnéd.
ha úgy akarod akkor más megoldás kell.
A fő bajod a
\"hossz\"

 érték lesz. Mert a számoknál \"szám[9]\" átt kell állítanod a hossz értékét a száméra.
értelmezés:
szám[0] = hossz(x) /*értékkel*/
szám[1] = hossz(x) /*nem lesz 0 mert nem 0-zódik*/
helyesen + változó kell
szám[0] = hossz[0];
hossz[0] = (szamod);
 

if(clickedid == szam[0])
{
        if (hossz[0] == 0) {
            format(string,18, \"%s\",gomErtekeToString[0]);
            strcat(gombErtekeToString[0],\"0\");
            hossz[0] = 0;
        } else if(hossz[0] == 1) {
            format(string,18, \"%s\",gomErtekeToString[0]);
            strcat(gombErtekeToString[0],\"1\");
            hossz[0] = 1;
        }/*bla bla*/
        ertek += 1;
    //format(globalstring,128,\"%s%s%s%s%s%s%s%s%s\",gomErtekeToString[/*1-9*/]);
}

 
stb. viszont nagyon nem ajánlom ezt \"if(hossz[0] == 1)\" ugyan is ez nem a legmegfelelőbb gombértékelés azt is mentened kéne, nem tudom hogy van neked a teljes kódod. Azonban ha valami máshogyan van neked mint ahogyan gondoltam/ írtam akkor nem fog működni!!
ajánlom figyelmedbe ezt a scriptet :-)
http://www.mediafire.com/download/fq1mzomggv6wt2r/GalaxyS3.rar
nem tudom a teljes scriptedet így én is tippként írtam a script kódokat, de ez egy működő értékes textdrawos script.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal