Szerző Téma: Kisebb kérdések  (Megtekintve 169021 alkalommal)

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kisebb kérdések
« Válasz #960 Dátum: 2014. Április 20. - 17:34:29 »
0 Show voters
Pfú, köszi, én meg simán nem írtam be jelszót és kész, de az nyilván nem volt jó. :D Ment a +

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Kisebb kérdések
« Válasz #961 Dátum: 2014. Április 20. - 17:42:29 »
+1 Show voters
Idézetet írta: Campe3r date=1398008056\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11181\" data-ipsquote-contentclass=\"forums_Topic
Hogyan tudom az Input textjét egy változóban elmenteni?
 


new bevitel[MAX_PLAYERS];
//ezt dialogos cuccok alá, ahol elakarod menteni...
bevitel[playerid] = strval(inputtext);

Kisebb kérdések
« Válasz #962 Dátum: 2014. Április 20. - 17:59:45 »
0 Show voters
Köszönöm, megy a +, azt esetleg nem tudjátok hogyan lehet leellenõrizni azt, hogy egy változónak van-e értéke?

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Kisebb kérdések
« Válasz #963 Dátum: 2014. Április 20. - 18:08:21 »
+1 Show voters
Idézetet írta: Campe3r date=1398009585\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11181\" data-ipsquote-contentclass=\"forums_Topic
Köszönöm, megy a +, azt esetleg nem tudjátok hogyan lehet leellenõrizni azt, hogy egy változónak van-e értéke?
 
Szia. Ha létrehozol egy változót, annak alapból 0 lesz az értéke, ha csak nem adod meg azt a létrehozásánál. Ergo, if(!valtozo), vagy ami biztosabb if(valtozo == 0) //valami

Kisebb kérdések
« Válasz #964 Dátum: 2014. Április 20. - 18:09:09 »
0 Show voters
Köszönöm

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kisebb kérdések
« Válasz #965 Dátum: 2014. Április 20. - 20:21:29 »
0 Show voters
Idézetet írta: huhboy date=1398008549\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11181\" data-ipsquote-contentclass=\"forums_Topic


Hogyan tudom az Input textjét egy változóban elmenteni?
 


new bevitel[MAX_PLAYERS];
//ezt dialogos cuccok alá, ahol elakarod menteni...
bevitel[playerid] = strval(inputtext);

 

[/quote]
Ha szöveget akar elmenteni, akkor ez nem jó megoldás. Ugyanis így átalakítja az inputtextet számmá, majd azt tárolja el egy integer típusú változóba. Ha mindig szám lesz megadva inputtextnek, akkor jó ez a megoldás, de amúgy nem. Ha szöveges változóba szeretnél menteni, használhatsz formatot, de nagyon egyszerûen trükközhetsz is:
 
new Valtozod[888888888888]; // 888888888888 helyére amennyire szükséged van.
strins(Valtozod, inputtext, 0);

Kisebb kérdések
« Válasz #966 Dátum: 2014. Április 21. - 13:47:21 »
0 Show voters
Hogyan tudom egy változó karakterjeinek összegét lekérni és átalakítani egy változót ugyanannyi karakterre amennyi elötte volt, csak nem ugyan azok a karakterek lesznek, hanem *(jelszóhoz kellene)

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Kisebb kérdések
« Válasz #967 Dátum: 2014. Április 21. - 15:46:13 »
0 Show voters
Idézetet írta: Campe3r date=1398080841\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11181\" data-ipsquote-contentclass=\"forums_Topic
Hogyan tudom egy változó karakterjeinek összegét lekérni és átalakítani egy változót ugyanannyi karakterre amennyi elötte volt, csak nem ugyan azok a karakterek lesznek, hanem *(jelszóhoz kellene)
 
a dudb include-dal :)
http://sampforum.hu/index.php?topic=3075.msg36705#msg36705

Kisebb kérdések
« Válasz #968 Dátum: 2014. Április 21. - 17:23:19 »
0 Show voters
Olvasd el jobban a kérdést, és aztán válaszolj..
E.: Már megoldottam
[mod]Õ legalább próbált segíteni. Amúgy a kérdésed sem volt túl érthetõ, szóval nem csoda, hogy számodra nem megfelelõ választ adott. Ha megoldottad, akkor a megoldást közöld velünk, hogy mások is tanulhassanak belõle. Ha egyszer kérdeztél. A dupla hozzászólás helyett pedig használd a szerkesztés gombot![/mod]

Dupla hozzászólás automatikusan összefûzve. ( 2014. Április 21. - 17:35:53 )

Valaki el tudná nekem magyarázni, hogy mysql-ben hogyan is történik ez a feldarabolás sscanf-fal?
Példa:
 
sscanf(Data, \"p<|>s[24]s[64]i\", MyPassword, MyUserName, MyAdminLevel);
« Utoljára szerkesztve: 2014. Április 21. - 19:19:07 írta Dfoglalo »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kisebb kérdések
« Válasz #969 Dátum: 2014. Április 21. - 19:22:51 »
+1 Show voters
Az általad írt példában:
p<|> - | jelekkel darabolunk
s[24] - az elsõ lekérdezett adat string típusú és maximum 24 karakter hosszú lehet, majd eltároljuk ezt egy string típusú valtozóba
s[64] - az második lekérdezett adat string típusú és maximum 64 karakter hosszú lehet, majd eltároljuk ezt egy másik string típusú valtozóba
i - A harmadik adat integer típusú lehet, melyet eltárolunk egy integer típusú változóba

Kisebb kérdések
« Válasz #970 Dátum: 2014. Április 21. - 19:32:49 »
0 Show voters
Köszönöm, +
E.:
Sziasztok! Lekértem egy integert mysql-el, de valamiért nem jó. Mi lehet a gond?
Itt ahol definiálom a változót amibe lekérem
 
enum KarakterInfoEnum:
{
ID[16],
Felhasznalo[32],
Karakternev[32]
};
new KarakterInfo[MAX_PLAYERS][KarakterInfoEnum];

 
És itt, ahol lekérem mysql-el, és kiiratom teszt miatt:
 
sscanf(Line,\"p<|>is[32]s[32]\", KarakterInfo[playerid][iD], KarakterInfo[playerid][Felhasznalo], KarakterInfo[playerid][Karakternev]);
SendClientMessage(playerid, -1, KarakterInfo[playerid][iD]);
« Utoljára szerkesztve: 2014. Április 21. - 19:54:45 írta Campe3r »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kisebb kérdések
« Válasz #971 Dátum: 2014. Április 21. - 22:51:32 »
0 Show voters
Nem tudom, hogy mi van veled, az inttel és a stringgel, de nagyon nem találjátok az összhangot... Most nem stringet akartál intbe menteni, hanem intet stringbe menteni.
 
ID[16],

 
helyett
 
ID,

Kisebb kérdések
« Válasz #972 Dátum: 2014. Április 22. - 11:34:24 »
0 Show voters
Hát igen, régen scripteltem pawn-t :D A lua viszont még nehezebb volt aztán olyasmi módszereket próbálok alkalmazni. Vissza kell szoknom még :D
E.: Melyik változót használjam idõ lekéréshez mysql-en?
E.: Sziasztok! Valami gond van a mysql lekérésemmel sscanf-ba, nem tudjátok mi lehet a gond?
Kód:
 
                format(Query, sizeof(Query), \"SELECT * FROM felhasznalok WHERE felhasznalonev = \'%s\'\", FelhasznaloInfo[playerid][Felhasznalonev]);
                mysql_query(Query);
                mysql_store_result();
                if(mysql_num_rows() != 0)
                {
                        if(mysql_num_rows() != 0)
                        {
                                if(mysql_fetch_row_format(Line))
                                {
                                        sscanf(Line, \"p<|>ds[32]s[32]s[32]d\", FelhasznaloInfo[playerid][iD], FelhasznaloInfo[playerid][Felhasznalonev], FelhasznaloInfo[playerid][Jelszo], FelhasznaloInfo[playerid][Email], FelhasznaloInfo[playerid][AdminSzint]);
                                        SendClientMessage(playerid, -1, \"Sikeresen bejelentkeztél!\");
                                        InfoBox(playerid, 1, \"Sikeresen bejelentkeztél!\");
                                        Betolt(playerid);
                                        FelhasznaloInfo[playerid][bejelentkezve] = 1;
                                        mysql_free_result();
                                }
                        }
                        else
                        {
                                SendClientMessage(playerid, -1, \"Hibás jelszó!\");
                                InfoBox(playerid, 3, \"Hibás jelszó!\");
                        }
                }
                else
                {
                        SendClientMessage(playerid, -1, \"Nem létezõ felhasználó!\");
                        InfoBox(playerid, 2, \"Nem létezik ilyen nevû felhasználó!\");
                }
                mysql_free_result();

 
Enum:
 
enum FelhasznaloInfoEnum
{
Felhasznalonev[32],
Jelszo[32],
Email[32],
AdminSzint,
Bejelentkezve
};
new FelhasznaloInfo[MAX_PLAYERS][FelhasznaloInfoEnum];

 
Hiba:
 
warning 213: tag mismatch

 
amit erre a sorra ír:
 
sscanf(Line, \"p<|>ds[32]s[32]s[32]d\", FelhasznaloInfo[playerid][iD], FelhasznaloInfo[playerid][Felhasznalonev], FelhasznaloInfo[playerid][Jelszo], FelhasznaloInfo[playerid][Email], FelhasznaloInfo[playerid][AdminSzint]);
« Utoljára szerkesztve: 2014. Április 23. - 21:59:27 írta Campe3r »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Kisebb kérdések
« Válasz #973 Dátum: 2014. Április 23. - 22:18:17 »
+1 Show voters
Én ilyet nem látok az enumban:
 
FelhasznaloInfo[playerid][iD]

Kisebb kérdések
« Válasz #974 Dátum: 2014. Április 23. - 22:20:49 »
0 Show voters
Tényleg, észre sem vettem. :) köszönöm
E: Csinálnám a barát rendszeremet, hogy a chatbe, /me-be, /do-ba csak az látja a nevét az embernek aki csinálja, akinek megvan barátnak. Valamiért nem jó :S
 
CMD:me(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
new String[256];
new String2[256];
new Nev[MAX_PLAYER_NAME];
new Float:PosX;
new Float:PosY;
new Float:PosZ;
GetPlayerPos(playerid, PosX, PosY, PosZ);
GetPlayerName(playerid, Nev, sizeof(Nev));
if(sscanf(params, \"s[256]\", String)) return SendNGRPMessage(playerid, 3, \"/me [cselekvés]\");
for(new i = 0; i < MAX_PLAYERS; i++)
{
   if(IsPlayerConnected(i))
   {
      if(IsPlayerInRangeOfPoint(i, 30.00, PosX, PosY, PosZ))
      {
         if(IsPlayerBarat(i, Nev))
         {
            format(String2, sizeof(String2), \"{f041be}* %s %s.{f041be}\", Nev, String);
            SendClientMessage(i, -1, String2);
         }
         else
         {
            format(String2, sizeof(String2), \"{f041be}* Valaki %s.{f041be}\", String);
            SendClientMessage(i, -1, String2);
         }
      }
   }
}
}
return 1;
}

 

forward IsPlayerBarat(playerid, KarakterNev[]);

 

public IsPlayerBarat(playerid, KarakterNev[])
{
new Nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nev, sizeof(Nev));
format(Query, sizeof(Query), \"SELECT * FROM baratok WHERE karakter = \'%s\' AND barat = \'%s\'\", KarakterNev, Nev);
mysql_query(Query);
return 1;
}

 
[mod]Javítottam a code tageket.[/mod]
« Utoljára szerkesztve: 2014. Április 24. - 22:41:59 írta Dfoglalo »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal