Jump to content

[TUT][SA-MP 0.3]Dialog Box


Recommended Posts

Geplaatst:

Hallo Megadreas,

Ik maak een account systeem met dialogs, nu is mijn vraag :

Zou jij ook een dialog kunnen maken met register?

Want als ik dat doe, dan komt er in die accountfile

niet "password" te staan, maar "362939266"

Heb je er een verklaring voor?

Wat doe ik verkeerd?

Bvd,

- Lex

  • Reacties 50
  • Created
  • Laatste reactie

Top Posters In This Topic

  • Megadreams

    12

  • Big Boss

    6

  • Johannetje2

    6

  • 1112rutger

    5

Geplaatst: (bewerkt)

Ik kan niet veel eraan doen als ik niet een deel van je script kan zien. ;)

Dus wil je een deel van je script posten?

Bewerkt: door megadreams
Geplaatst:

Want als ik dat doe, dan komt er in die accountfile

niet "password" te staan, maar "362939266"

Heb je er een verklaring voor?

Wat doe ik verkeerd?

Passwoorden houd je normaal gezien liever privé. Ik zou me niet registreren op een server waar er geen enkele vorm van beveiliging is ...

De methode die je gebruikt (en waarschijnlijk gekopiëerd hebt, anders wist je het wel) heet udb_hash.

Geplaatst: (bewerkt)

Want als ik dat doe, dan komt er in die accountfile

niet "password" te staan, maar "362939266"

Heb je er een verklaring voor?

Wat doe ik verkeerd?

Passwoorden houd je normaal gezien liever privé. Ik zou me niet registreren op een server waar er geen enkele vorm van beveiliging is ...

De methode die je gebruikt (en waarschijnlijk gekopiëerd hebt, anders wist je het wel) heet udb_hash.

Klopt, dat deel heb ik wél gekopieerd, maar natuurlijk kijk ik niet naar die wachtwoorden, alleen als iemand zijn wachtwoord kwijt is..

Script :

if(dialogid == 1)
{
    if(response)
    {
		PlayerInfo[playerid][pPassword] = dini_Int(udb_encode(pName), "pPassword");
		if(PlayerInfo[playerid][pPassword] == udb_hash(inputtext))
		{
		    LoginPlayer(playerid);
		}
		else
		{
		    pLoginTries[playerid] = pLoginTries[playerid]+1;
			format(string, sizeof(string), "Wrong password, %d/3 logintries left!", pLoginTries);
			SendClientMessage(playerid, COLOR_RED, string);
			ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Login", "Enter your password below:","Login", "Kick me");
		}
	}
	else
	{
		Kick(playerid);
	}
}

Ik hoop dat jullie mij kunnen helpen! Bedankt alvast!

EDIT : Als ik dan wel het wachtwoord intyp, wat ik bij het registreren heb gebrukt, doet hij het wel..

Maar in het bestand slaat hij het dus op als een nummer

- Lex

Bewerkt: door WebGhost
Geplaatst:

Ik zie dat je udb_hash gebruikt hebt dan is het normaal dat het cijfers zijn. ;)

Ik kan je probleem natuurlijk in je laatste post verkeerd begrepen hebben. ;)

  • 1 maand later...
  • 1 maand later...
Geplaatst: (bewerkt)

Ik heb nu 2 commando's:

/cmds

/teles

Maar als ik /teles typ, krijg ik de commando lijst :S

EDIT:

Ook als ik een ander CMD intyp, krijg ik nog steeds het Commando Dialog!

Opgelost:

Er zat een foutje in de commands!

Bewerkt: door Johannetje2
Geplaatst:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 10)
{
	if(response)
	{
		if(!strcmp(inputtext, "", true))
		{
			SendClientMessage(playerid, COLOR_RED, "Verkeerd wachtwoord!");
			ShowPlayerDialog(playerid,10,DIALOG_STYLE_INPUT,"Registratie","Registreer jezelf!\n\Wachtwoord:","Registreer","Annuleer");
		}
		else
		{
			dini_Create(udb_encode(playername));
           	dini_IntSet(udb_encode(playername), "password", udb_hash(inputtext));
           	dini_IntSet(udb_encode(playername), "adminlevel", 0);
  	         	dini_IntSet(udb_encode(playername), "money", 0);
           	SendClientMessage(playerid, COLOR_RED, "Registratie succesvol, je bent automatisch ingelogd!");
           	logged[playerid] = 1;
		}
	}
	return 1;
}
return 1;
}

Bij het account systeem van Sandra lukt het me niet het registreren in een InputDialog te krijgen...

Ik wil dat als er niks is ingevuld, dat je een foutmelding krijgt, en als dat wel is dat je dan wordt geregistreerd. Waar zit de fout?

Geplaatst:
#define isnull(%0) (%0[0] == 0 || (%0[0] == 1 && %0[1] == 0))

if(isnull(inputtext)) // je kan ook !strlen gebruiken, maar dat is naar het schijnt trager
{
   // niets ingevuld
}

Geplaatst:

#define isnull(%0) (%0[0] == 0 || (%0[0] == 1 && %0[1] == 0))

if(isnull(inputtext)) // je kan ook !strlen gebruiken, maar dat is naar het schijnt trager
{
   // niets ingevuld
}

Super bedankt Big Boss!

Geplaatst: (bewerkt)

Nog een vraagje, nu ben ik bij het inloggen de functie om te kijken of je al bent ingelogd moet ik er nog eventjes bijzetten...

if(dialogid == 11)
{
	if(response)
	{
	    if (udb_hash(inputtext) != strval(dini_Get(file), "password"))
		{
			SendClientMessage(playerid, COLOR_RED, "Verkeerd wachtwoord!");
			ShowPlayerDialog(playerid,11,DIALOG_STYLE_INPUT,"Inloggen","Inloggen...\n\nWachtwoord:","Inloggen","Annuleer");
		}
		else
		{
           	logged[playerid] = 1;
               money[playerid] = dini_Int(udb_encode(playername), "money");
               adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel");
               GivePlayerMoney(playerid, money[playerid]);
               SendClientMessage(playerid, COLOR_RED, "Gefeliciteerd, ingelogd!");
		}
	}
	return 1;
}

Hij zegt met elk woord, enzo 'Verkeerd wachtwoord!'

ERRORS:

C:\SAMP Server\Ultimate Stuntages\filterscripts\Zadmin1.pwn(182) : warning 202: number of arguments does not match definition

C:\SAMP Server\Ultimate Stuntages\filterscripts\Zadmin1.pwn(182) : warning 202: number of arguments does not match definition

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

2 Warnings.

Sorry voor uitlijning, dat doet het GTAForum,

Lijn 182 is deze:

if (udb_hash(inputtext) != strval(dini_Get(file), "password"))

Bewerkt: door Johannetje2
Geplaatst: (bewerkt)

En alweer, zit ik vast met de code :bonk::bonk:

Bekijk

Eventjes op Pastebin gezet, de uitlijning is een beetje raar, maar in m'n code is hij goed, geen errors in PAWNO maar ingame bij het registreren geeft hij het volgende aan: Account bestaat al! en bij het inloggen: Verkeerd wachtwoord!

Kan iemand me helpen?

OPGELOST, Ik had een define verkeerd staan!

Bewerkt: door Johannetje2

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.

×
×
  • Create New...