GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: tudvari - 2012. február 27. - 19:18:16

Cím: Inputtextes Dialog
Írta: tudvari - 2012. február 27. - 19:18:16
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
Cím: Inputtextes Dialog
Írta: 1ST_Chr - 2012. február 27. - 19:56:22
Szerintem így lesz a jó:
 

if(18 <= strlen(inputtext)  <= 60)
Cím: Inputtextes Dialog
Írta: tudvari - 2012. február 27. - 20:49:36
Nem jó.
Cím: Inputtextes Dialog
Írta: 1ST_Chr - 2012. február 27. - 22:42:04
Nem strlen hanem strval  :D :D :
 

if(18 <= strval(inputtext)  <= 60)
Cím: Inputtextes Dialog
Írta: dexi - 2012. február 28. - 07:08:38
Igaz..
strlen(gth) = karakterlánc hosszúság.
str(inter)val(um) = karakterlánc értéke.
Cím: Inputtextes Dialog
Írta: Casamiro - 2012. február 28. - 15:30:12
if(strval(inputtext) < 18 || strval(inputtext) > 60)
Cím: Inputtextes Dialog
Írta: tudvari - 2012. február 28. - 15:56:23
|| ezt nem kéne átírni &&-re? csak mert nem akkor csinálja amit csinálni kell amikor valamelyik igaz,hanem ha mindkettõ.
Cím: Inputtextes Dialog
Írta: CANNONN - 2012. február 28. - 16:04:03
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.
Cím: Inputtextes Dialog
Írta: tudvari - 2012. február 28. - 16:30:49
[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.
Cím: Inputtextes Dialog
Írta: CANNONN - 2012. február 28. - 16:47:14
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)
Cím: Inputtextes Dialog
Írta: 1ST_Chr - 2012. február 28. - 16:55:47
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)
Cím: Inputtextes Dialog
Írta: CANNONN - 2012. február 28. - 16:59:34
Köszönöm, hogy szóltál, az egyenlõség jel lemaradt. Bõvítem!
Cím: Inputtextes Dialog
Írta: Sheet - 2012. február 28. - 16:59:57
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
Cím: Inputtextes Dialog
Írta: 1ST_Chr - 2012. február 28. - 17:05:19
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
Cím: Inputtextes Dialog
Írta: CANNONN - 2012. február 28. - 17:11:40
Találtam egy másik megoldást arra, amit 1ST_Chr írt.
[pawn]if(strval(inputtext) > 17 && strval(inputtext) < 61)[/pawn]
Cím: Inputtextes Dialog
Írta: Sheet - 2012. február 28. - 17:16:06
Idézetet írta: Cannonn date=1330445500\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17650\" data-ipsquote-contentclass=\"forums_Topic
Találtam egy másik megoldást arra, amit 1ST_Chr írt.
 
if(strval(inputtext) > 17 && strval(inputtext) < 61)

 

De ez hülyeség ahogy van, hogy lehetne a szám egyszerre kisebb 61nél és nagyobb 17nél?
Cím: Inputtextes Dialog
Írta: DrAkE - 2012. február 28. - 17:17:16
És ti nevezitek magatokat scripternek....
 

if((strlen(inputtext) >= 18) && (strlen(inputtext) <= 60))
Cím: Inputtextes Dialog
Írta: CANNONN - 2012. február 28. - 17:22:41
A strlen helyett nem strval?
Ezt a kérdésedet nem értem Sheet.
Azt jelenti, hogy a feltétel, hogy 17-nél nagyobb és 61-nél kisebb legyen. Vagy tévedek?
Amúgy én még sehol sem neveztem magamat scripternek.
Cím: Inputtextes Dialog
Írta: tudvari - 2012. február 28. - 18:27:09
Nem jó :S
Cím: Inputtextes Dialog
Írta: Benceee - 2012. február 28. - 18:29:58
Idézetet írta: 1ST_Chr date=1330445119\" 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
 
[/quote]
[mod]Máskor zárd le a témát.[/mod]
[mod]bocsánat, nem figyeltem.[/mod]
Cím: Inputtextes Dialog
Írta: tudvari - 2012. február 28. - 18:54:31
Köszi,a legutóbbi sikerült. :D