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: Zsoma - 2011. február 10. - 07:46:46

Cím: Logining
Írta: Zsoma - 2011. február 10. - 07:46:46
            format(query, sizeof(query), \"SELECT * FROM `Jatekosok` WHERE `Nev` = \'%s\'\", Jatekosnev[playerid]);
            mysql_fetch_row(Sor);
    mysql_query(query);
   mysql_store_result();
            mysql_free_result();
            sscanf(Sor, \"p<|>s[128]{d}s[128]\",Jatekosnev, Penz, Jelszo);
            if(!strcmp(inputtext, Jelszo)){
                SendClientMessage(playerid, ZOLD, \"Sikeres bejelentkezés!\");
                Bejelentkezes(playerid, Jelszo);
      return 1;
   }else{
      SendClientMessage(playerid, PIROS, \"Hibás jelszót adtál meg!\");
   }

 
Sziasztok!
Kb. így néz ki a bejelentkezésem a scriptemben. Az a helyzet, hogy
ugyebár dialogos az egész, és hiába rontom el akaratosan a jelszót,
akkoris \"Sikeres bejelentkezés\". A jelszó ellenõrzéssel lehet a gond?
Vagy ha van valakinek más, egyéb észrevétele, kérem segítsen! :)
zsomaa
Cím: Logining
Írta: tja - 2011. február 10. - 08:02:17
Szerintem a mostani megoldással csak akkor enged be ha rossz a jelszó :D
 
if(!strcmp(inputtext, Jelszo))[/quote]
helyett:
 
if(strval(inputtext) == Jelszo)[/quote]
vagy ha nemjó akkor
 
Idézet
if(strval(inputtext) == strval(Jelszo) )
Cím: Logining
Írta: RoolykA064 - 2011. február 10. - 11:16:16
strval ugy vélem nem kell, az inputtext string, strval szám... De lehet hogy tévedek. szerintem csak vedd ki a felkiáltójelet a strcmp elõl :)
Cím: Logining
Írta: tja - 2011. február 10. - 12:24:02
strval nem szám....a string value-nek a rövidítése... Amugy megpróbáltad?
Cím: Logining
Írta: Zsoma - 2011. február 10. - 12:49:54
if(strval(inputtext) == Jelszo)
Erre kapok egy ilyen errort:
 
error 033: array must be indexed (variable \"Jelszo\")

 
A másik formulában pedig ha elrontom, ha nem, akkoris
sikeres bejelentkezés..
 ??? ::|
Cím: Logining
Írta: Prototype - 2011. február 10. - 16:31:01
Én azt javaslom hogy a netrõl tölts le egy jót :D
Cím: Logining
Írta: Vampesz - 2011. február 10. - 16:56:29
Jó a kód viszont
 
if(!strcmp(inputtext, Jelszo))

 
helyett:
 
if(strcmp(inputtext, Jelszo, true) == 0)

 
Próbáld így ;) nekem így van ;) csak nekem fájl kezelõs(MÉG) tehát...de mûködik. ^^

Véleményem szerint.
Cím: Logining
Írta: Zsoma - 2011. február 10. - 20:46:23
sajnos ez sem.. más?  ???
Cím: Logining
Írta: Vampesz - 2011. február 10. - 21:02:10
Akkor muti az egész kódot(a bejelentkezésesekhez kapcsolódóakat.) hátha máshol van a hiba. de ez az strcmp-vel tuti hiba volt(gondolok a \"!\" rossz helyen való használatára).
Cím: Logining
Írta: kurta999 - 2011. február 10. - 21:14:58
Fél tízre javítom. Ismert probléma volt nálam, amikor kezdtem ezt xD
Ha egy paramétert kigagysz, ( sscanf ) mint itt a pénzt, akkor oda ne írj semmi, mert itt 2 dolgot töltöttél bele 3 dologba. Tehát a jelszó helyébe a pénzt töltötted, a jelszó meg kimarad.
 

format(query, sizeof(query), \"SELECT * FROM `Jatekosok` WHERE `Nev` = \'%s\'\", Jatekosnev[playerid]);
mysql_fetch_row(Sor);
mysql_query(query);
mysql_store_result();
mysql_free_result();
sscanf(Sor, \"p<|>s[128]{d}s[128]\",Jatekosnev, Jelszo);
if(!strcmp(inputtext, Jelszo))
{
SendClientMessage(playerid, ZOLD, \"Sikeres bejelentkezés!\");
Bejelentkezes(playerid, Jelszo);
return 1;
}
else
{
SendClientMessage(playerid, PIROS, \"Hibás jelszót adtál meg!\");
}

 
-------------------------------------------
 
if(strcmp(inputtext, Jelszo, true) == 0)

 
Ugyanaz, mint ez:
 
if(!strcmp(inputtext, Jelszo, true))
Cím: Logining
Írta: Vampesz - 2011. február 10. - 22:00:42
Sajnálom, akkor rosszul tudtam :$
Cím: Logining
Írta: Zsoma - 2011. február 10. - 22:26:58
Oh, köszönöm Kurta!
Látom te jártas vagy a \"szakmában\", a gondban. :)
Köszi még1x. De az a kérdésem, hogy
akkor miért veszi a jelszót, illetve a beírt dolgot, az inputtextet
egyenlõnek a jelszóval? ami ugyebár a pénz, mint kiderült XD
Szóval azt mér veszi helyesnek? :O pedig a jelszó nem szám volt.. :D
Am még nem próbáltam, de így biztosan jólesz, ha esetleg nem, akkor jelzek :)
zsomaa
SZERK.:  Nos, bemásoltam amit Kurta kolegám írt, de úgysem jó. Olyan fura
ez az egész :S Mi lehet a baja? Talán a sorrend? Mert a MySQL táblámban pedig guyvan hogy
név, pénz, jelszó...
 ??? ???
Cím: Logining
Írta: kurta999 - 2011. február 11. - 13:48:49
Ha az én scriptemet csináltad át ( LoginPlayer-t Bejelentzekes-re ), akkor Bejelentkezes(playerid, Sor);
Mert az mégegyszer feldarabolja a stringet. Ha nem értesz hozzá használt az egészet ugyanúgy, mint én. Mert én is régebben vagy 3x belefogtam, de soha nemvolt jó. Aztán lett egy mód, amiben jól megvolt csinálva, abból megtanultam. Utána meg megírtam azt a scriptet és kiadtam.
Cím: Logining
Írta: BeNiBoY - 2011. február 11. - 13:57:40
mivel login= log in, ezért a log az ige, szal nem \"logining\", hanem \"logging in\"
Cím: Logining
Írta: Zsoma - 2011. február 12. - 13:29:13
okay, majd megnézem és jelentkezem.
Beny, ha értelmeset nemtudsz mondani, csak fikázni meg kijavítani akkor
inkább megse szólalj. köszi.
úgyvélem nem történt orbitális tragédia a rossz ragozással.
zsoma
Cím: Logining
Írta: Zsoma - 2011. március 05. - 20:21:51
Hi ismét.
Hosszu ideig nem irtam ide mert nem volt idöm foglalkozni a szeroval
de most ujra kezdem.
illetve folytatom..
kurta scriptjét a mysql-est beleépitettem egytöl egyig a szeroba. A mentésnél  csak a pénzel
van gond, de azt tom a megoldást elvileg.
a jelszo beirásnál van most gázom:
kaptam egy hibát:
if(strval(inputtext) == Pass)   erre a sorra >  error 033: array must be indexed (variable \"Pass\")
mi a baja? :\\
Cím: Logining
Írta: Sheet - 2011. március 05. - 20:30:09
Idézetet írta: Zsoma date=1299352911\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6023\" data-ipsquote-contentclass=\"forums_Topic
Hi ismét.
Hosszu ideig nem irtam ide mert nem volt idöm foglalkozni a szeroval
de most ujra kezdem.
illetve folytatom..
kurta scriptjét a mysql-est beleépitettem egytöl egyig a szeroba. A mentésnél  csak a pénzel
van gond, de azt tom a megoldást elvileg.
a jelszo beirásnál van most gázom:
kaptam egy hibát:
if(strval(inputtext) == Pass)   erre a sorra >  error 033: array must be indexed (variable \"Pass\")
mi a baja? :\\
 
az egész környezetet másold be mert egy sorból nelehet tudni
Cím: Logining
Írta: Zsoma - 2011. március 05. - 21:10:03
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
// Regisztráció
    new Pass[128], MyRegID;
    if(dialogid == 1)
    {
        if(response)
        {
   if(GetPVarInt(playerid, \"LoggedIn\"))
   {
      SendClientMessage(playerid, PIROS, \"Már be vagy jelentkezve.\");
      return 1;
   }
          if(!strlen(inputtext[0]))
   {
      SendClientMessage(playerid, PIROS, \"Nem írtál be semilyen jelszót!\");
      LoginDialog(playerid);
      return 1;
   }
   format(query, sizeof(query), \"SELECT * FROM `players` WHERE `name` = \'%s\'\", pName(playerid));
   mysql_query(query);
   mysql_store_result();
   mysql_fetch_row(line);
            mysql_free_result();
   sscanf(line, \"p<|>d{s[24]s[20]}s[30]{s[30]s[30]d}\", MyRegID, Pass);
            SetPVarInt(playerid, \"RegID\", MyRegID);
           
   if(strval(inputtext) == Pass)
   {
      LoginPlayer(playerid, Pass);
   }
            else
            {
      SendClientMessage(playerid, PIROS, \"HIBA: Rossz jelszó.\");
      return 1;
   }
            GetPlayerIp(playerid, ip, sizeof(ip));
            format(query, sizeof(query), \"UPDATE `players` SET `ip` = \'%s\' WHERE `reg_id` = %d\", ip, GetPVarInt(playerid, \"RegID\"));
    mysql_query(query);
            SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen bejelentkeztél.\");
    }
else
{
   LoginDialog(playerid);
}
    }