Szerző Téma: Inputtextes Dialog  (Megtekintve 1600 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Inputtextes Dialog
« Dátum: 2012. február 27. - 19:18:16 »
0 Show voters
Sziasztok,írtam egy dialogot,és ha 18 és 60 közé esõ számot írok be,akkor is visszadob a dialoghoz.
[pawn]
if(dialogid == kor)
{
   if(response)
   {
       if(strlen(inputtext) == 0)
       {
           ShowPlayerDialog(playerid, kor, DIALOG_STYLE_INPUT, \"Kor\", \"Írd be hány éves\\nlegyen a karaktered.\", \"Rendben\", \"Mégse\");
           return 0;
      }
      if(strlen(inputtext) > 17 && strlen(inputtext) < 61)
      {
             new file[128];
             new string[128];
             new megadottkor = strval(inputtext);
                JatekosInfo[playerid][Kor] = megadottkor;
             JatekosInfo[playerid][KezdoSpawn] = 1;
                  GetPlayerName(playerid, nev, sizeof(nev));
            format(file,sizeof(file),\"/Adatbazis/Karakterek/%s.ini\", nev);
            dini_IntSet(file,\"Kezdõ Spawn\", JatekosInfo[playerid][KezdoSpawn]);
             
                TogglePlayerControllable(playerid,1);
                format(string, sizeof(string), \"Karaktered %d éves lett!\", megadottkor);
                SendClientMessage(playerid, 0xFFFFFF, string);
                return 1;
         
      }
      else
      {
          ShowPlayerDialog(playerid, kor, DIALOG_STYLE_INPUT, \"Kor\", \"18 és 60 között!\", \"Rendben\", \"Mégse\");
          return 1;
      }
   }
   if(!response)
   {
       Kick(playerid);
   }
}
[/pawn]
Köszi a segítséget :D

Inputtextes Dialog
« Válasz #1 Dátum: 2012. február 27. - 19:56:22 »
0 Show voters
Szerintem így lesz a jó:
 

if(18 <= strlen(inputtext)  <= 60)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Inputtextes Dialog
« Válasz #2 Dátum: 2012. február 27. - 20:49:36 »
0 Show voters
Nem jó.

Inputtextes Dialog
« Válasz #3 Dátum: 2012. február 27. - 22:42:04 »
+1 Show voters
Nem strlen hanem strval  :D :D :
 

if(18 <= strval(inputtext)  <= 60)

dexi

  • Vendég
Inputtextes Dialog
« Válasz #4 Dátum: 2012. február 28. - 07:08:38 »
0 Show voters
Igaz..
strlen(gth) = karakterlánc hosszúság.
str(inter)val(um) = karakterlánc értéke.

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Inputtextes Dialog
« Válasz #5 Dátum: 2012. február 28. - 15:30:12 »
0 Show voters
if(strval(inputtext) < 18 || strval(inputtext) > 60)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Inputtextes Dialog
« Válasz #6 Dátum: 2012. február 28. - 15:56:23 »
0 Show voters
|| ezt nem kéne átírni &&-re? csak mert nem akkor csinálja amit csinálni kell amikor valamelyik igaz,hanem ha mindkettõ.

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Inputtextes Dialog
« Válasz #7 Dátum: 2012. február 28. - 16:04:03 »
0 Show voters
Idézetet írta: tudvari date=1330440983\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17650\" data-ipsquote-contentclass=\"forums_Topic
|| ezt nem kéne átírni &&-re? csak mert nem akkor csinálja amit csinálni kell amikor valamelyik igaz,hanem ha mindkettõ.
 
De, igazad van, gondolom figyelmetlenség.
A || akkor csinálja, ha vagy ez, vagy az a feltétel valami.
A && akkor, ha mind a kettõ megadott feltétel valami.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Inputtextes Dialog
« Válasz #8 Dátum: 2012. február 28. - 16:30:49 »
0 Show voters
[pawn]
if(dialogid == kor)
{
   if(response)
   {
       /*if(strlen(inputtext) == 0)
       {
           ShowPlayerDialog(playerid, kor, DIALOG_STYLE_INPUT, \"Kor\", \"Írd be hány éves\\nlegyen a karaktered.\", \"Rendben\", \"Mégse\");
           return 0;
      }*/
      if(strval(inputtext) < 18 && strval(inputtext) > 60)
      {
             new file[128];
             new string[128];
             new megadottkor = strval(inputtext);
                JatekosInfo[playerid][Kor] = megadottkor;
             JatekosInfo[playerid][KezdoSpawn] = 1;
                  GetPlayerName(playerid, nev, sizeof(nev));
            format(file,sizeof(file),\"/Adatbazis/Karakterek/%s.ini\", nev);
            dini_IntSet(file,\"Kezdõ Spawn\", JatekosInfo[playerid][KezdoSpawn]);
             
                TogglePlayerControllable(playerid,1);
                format(string, sizeof(string), \"Karaktered %d éves lett!\", megadottkor);
                SendClientMessage(playerid, 0xFFFFFF, string);
                return 1;
         
      }
      else
      {
          ShowPlayerDialog(playerid, kor, DIALOG_STYLE_INPUT, \"Kor\", \"18 és 60 között!\", \"Rendben\", \"Mégse\");
          return 1;
      }
   }
   if(!response)
   {
       Kick(playerid);
   }
}[/pawn]
Most így néz ki,és bármit írok be,mindig kiírja,hogy 18 és 60 között.

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Inputtextes Dialog
« Válasz #9 Dátum: 2012. február 28. - 16:47:14 »
0 Show voters
Ez így akkor fut le ha a beírt szám 18-nál kevesebb és 60-nál több.
Így elméletileg jó.
 
if(strval(inputtext) >= 18 && strval(inputtext) <= 60)
« Utoljára szerkesztve: 2012. február 28. - 17:09:27 írta Cannonn »

Inputtextes Dialog
« Válasz #10 Dátum: 2012. február 28. - 16:55:47 »
0 Show voters
Idézetet írta: Cannonn date=1330444034\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17650\" data-ipsquote-contentclass=\"forums_Topic
Ez így akkor fut le ha a beírt szám 18-nál kevesebb és 60-nál több.
Így elméletileg jó.
 
if(strval(inputtext) > 18 && strval(inputtext) < 60)

 

De  ha 18-at, vagy 60-at ír be, akkor is újra ki adja majd a dialogot..
 

if(strval(inputtext) >= 18 && strval(inputtext) <= 60)
« Utoljára szerkesztve: 2012. február 28. - 17:00:48 írta 1ST_Chr »

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Inputtextes Dialog
« Válasz #11 Dátum: 2012. február 28. - 16:59:34 »
0 Show voters
Köszönöm, hogy szóltál, az egyenlõség jel lemaradt. Bõvítem!

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
Inputtextes Dialog
« Válasz #12 Dátum: 2012. február 28. - 16:59:57 »
0 Show voters
if(strval(inputtext)<18 || strval(inputtext)>60) return ShowPlayerDialog(playerid, REGSTEP4, DIALOG_STYLE_INPUT, \"{A500FF}Hány éves legyen a karaktered?\", \"{FFFFFF}Az alábbi mezõbe irj egy  számot 18 és 60 között!\", \"Kiválaszt\", \"\");

 
Én így használtam a saját módomban és hibátlanul mûködott

Inputtextes Dialog
« Válasz #13 Dátum: 2012. február 28. - 17:05:19 »
0 Show voters
Idézetet írta: Sheet date=1330444797\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17650\" data-ipsquote-contentclass=\"forums_Topic

if(strval(inputtext)<18 || strval(inputtext)>60) return ShowPlayerDialog(playerid, REGSTEP4, DIALOG_STYLE_INPUT, \"{A500FF}Hány éves legyen a karaktered?\", \"{FFFFFF}Az alábbi mezõbe irj egy  számot 18 és 60 között!\", \"Kiválaszt\", \"\");

 
Én így használtam a saját módomban és hibátlanul mûködott
 
Itt sem engedi a 18-at és a 60-at. :D
E: Ha jobban megnézem akkor mégis engedi, kicsit elhamarkodtam, bocsi :D
« Utoljára szerkesztve: 2012. február 28. - 17:13:25 írta 1ST_Chr »

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Inputtextes Dialog
« Válasz #14 Dátum: 2012. február 28. - 17:11:40 »
0 Show voters
Találtam egy másik megoldást arra, amit 1ST_Chr írt.
[pawn]if(strval(inputtext) > 17 && strval(inputtext) < 61)[/pawn]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal