[POMOC]Netačan password

Započeo V_More
20. Jul 2013. Zaključano
2,311
pregleda
19
postova
Hustley
4
Made Man
20. Jul 2013.
Skripta koju koristim: Moj mod od 0
Detaljan opis problema: Pa ako neko pogreši password da ga kickuje sa servera ali pre toga ispiše poruku. Sada trenutno ako nema poklapanja sa unesenim imenom i passwordom onda ne uradi server ništa nego samo skloni dialog i to je to, a kada izađem svi statsi se restartuju jer čuva podatke 0 jer nisu ubačeni iz baze podaci pravi jer nije unio tačan password i to mi stvara problem.
Dio skripte:
case DIALOG_LOGIN:
        {
            if (!response)
{
Kick (playerid);
}
            if( response )
            {     
mysql_format(connectionHandle, Query, "SELECT * FROM `users` WHERE `Ime i prezime` = '%e' AND Password = '%e'", GetName(playerid), inputtext);
mysql_function_query(connectionHandle, Query, false, "LoginPlayer", "ds", playerid, inputtext);
//kako ovde da stavim da provjeri ako nema podudaranja na liniji gde formiram query, ne ova iznad, već dve iznad ove, else nece.
                    {
                    SendClientMessage(playerid, -1, "{039EFF}MG:RP || {FFFFFF}Password koji ste unijeli nije tacan, kickovani ste!");
                    Kick(playerid);
}
}
}
             

Neke slike/video za lakse dobivanje pomoci(neobavezno): //

Ako može samo što prije, hitno je.
Hustley
4
Made Man
20. Jul 2013.
Izvinjavam se za double post:

Stavio sam sada ovako, ali sada i kada ukucam i tačan i netačan igrač može da uđe na server, statistika se očita i sve:
        case DIALOG_LOGIN:
        {
            if (!response)
{
Kick (playerid);
}
            if( response )
            {     
mysql_format(connectionHandle, Query, "SELECT * FROM `users` WHERE `Ime i prezime` = '%e' AND Password = '%e'", GetName(playerid), inputtext);
new result = mysql_function_query(connectionHandle, Query, false, "LoginPlayer", "ds", playerid, inputtext);

if(result == 0)
                    {
                    SendClientMessage(playerid, -1, "{039EFF}MG:RP || {FFFFFF}Password koji ste unijeli nije tacan, kickovani ste!");
                    Kick(playerid);
}
}
}
Johnâ„¢
5
Godfather
21. Jul 2013.
Koju verziju mySQL plugina koristiš?
Hustley
4
Made Man
22. Jul 2013.
Hmm, gde da proverim, davno sam ga skinuo pa se ne sjećam ?
Johnâ„¢
5
Godfather
22. Jul 2013.
Server log.
Hustley
4
Made Man
22. Jul 2013.
mySQL R7 od BlueG, al' to sam skinuo kad je 0.3d bio jedino ako treba opet možda neki koji je za SAMP 0.3e prilagođen ?

edit: skinuo sam sad trenutni nije do toga.
Johnâ„¢
5
Godfather
22. Jul 2013.
Već neko vrijeme nisam radio u mySQL, al' ako se ne varam da bi ovo trebalo radit.

case DIALOG_LOGIN:
{
if (!response)
{
Kick (playerid);
}
if( response )
{     
mysql_format(connectionHandle, Query, "SELECT * FROM `users` WHERE `Ime i prezime` = '%e' AND Password = '%e'", GetName(playerid), inputtext);
mysql_function_query(connectionHandle, Query, false, "LoginPlayer", "ds", playerid, inputtext);
}
}

forward LoginPlayer(playerID, password[]);
public LoginPlayer(playerID, password[])
{
mysql_store_result();

if (mysql_num_rows() == 0)
{
SendClientMessage(playerid, -1, "{039EFF}MG:RP || {FFFFFF}Password koji ste unijeli nije tacan, kickovani ste!");
        Kick(playerid);
}

mysql_free_result();
return 1;
}
Hustley
4
Made Man
23. Jul 2013.
Hvala Joey, tako sam bio uradio kad sam ovo vidio međutim opet se bila restatovala statistika igrača, to jest sve varijable u bazi za toga igrača jer ustvari očitavanje i stavljanje u Enume je bilo kad se igrač uloguje ako je tačan password, a onda sačuva te Enume, a pošto ih nije mogao učitati jer nije ulogovan sve su ostale nule prilikom sačuvavanja pa sam učitavanje premestio odmah prilikom pojavljivanja dialoga i sada to radi, no pojavila su se dva nova sitna problema ( sva sreća sitna ). To su da neće da ispiše onu poruku ako se šifra pogreši kao Kikovani ste jer ste pogrešli password... nego samo piše Server closed to connection ono, a poruku ne ispiše.

Dalje, kad se registrujem pojavilo se ono dole <<, >>, Spawn dugmad pa ne znam sad kako to da uklonim ...
Johnâ„¢
5
Godfather
23. Jul 2013.
Za poruku poslije kicka: to je novo uvedeno u 0.3x verziji SA:MP-a i svaka poruka poslana neposredno prije Kick() funkcije neće bit poslana. Zato moraš napraviti jedan timer koji će se izvršiti recimo za 1 sekundu i u njoj kickat igrača, a u liniji prije pokretanja timera staviš da pošalje poruku igraču vezano uz kick.

Što se tiče spawn gumba i ostalog oko toga, moraš koristit TogglePlayerSpectating() u OnPlayerConnect callbacku, a da igrača odmah spawnaš koristi odmah poslije logina SpawnPlayer() funkciju.
Hustley
4
Made Man
23. Jul 2013.
Da radim sa SetTimer ili kako, jer ako radmi sa SetTimer onda će mi tražiti dole u funkciji ono playerid, a ne znam kako u funkciju da ga proslijedim ?

A to TogglePlayerSpectating() to ako pozovem u OnPlayerConnect callbacku i ako imam više dijaloga on će i nakon toga ostati ono bez te dugmadi ili ? A SpawnPlayer anravno to je već namešteno tako da u LoginPlayer() bude spawnan ako upiše tačan passwor što sada radi.
Hustley
4
Made Man
24. Jul 2013.
Rešio sam ovo za dugmad, a za poruku ne, ovaj timer kako onda treba biti ?

SetTimer("kickujigraca(playerid)" ... ili SetTimer("kickujigraca .. ?
[Bp]D.N
5
Kingpin
24. Jul 2013.
Kao sto ti je Joey_ reko odradi da posalje poruku,pa onda timer da pozoves koji ce kick igraca za 1 sec.
Primer:
SetTimerEx("KickIgraca",1000,false,"i",playerid);


forward KickIgraca(playerid);
public KickIgraca(playerid)
{
        Kick(playerid);
return 1;
}

http://wiki.sa-mp.com/wiki/SetTimerEx
Hustley
4
Made Man
24. Jul 2013.
Zahvaljujem, sve sam sredio 🙂

Možete mi samo reći kako da povećam onu distance da mi ono zgrade i svi objekti budu vidljivi sa veće udaljenosti ? 🙂
Johnâ„¢
5
Godfather
24. Jul 2013.
Otvori streamer.inc i nađi liniju:
native CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0);


I promijeni ovo 200.0 na kraju na udaljenost koju ti želiš i to je to. Ili kod svake linije gdje koristiš CreateDynamicObject() funkciju, na kraju nje staviš: .streamdistance = 200.0
S time da ovo 200.0 promijeniš na svoju udaljenost.
Hustley
4
Made Man
24. Jul 2013.
LakÅ¡e mi je ovako na jednu liniju da promjenim nego na svaku pojedinačno, nego ovo će kočiti server neÅ¡to, usporavati ili nema nikakvih posljedica ako povećam ? 🙂

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha