Jump to content

[REL|0.3C] Login / Register Systeem in Dialoog


Recommended Posts

Geplaatst: (bewerkt)

[REL] [0.3C]Register en Login dialoog. V2.1

Voor verplicht Inloggen

idd, de veelbesproken nieuwe versie van samp is uit : 0.3C. dus dan moet mijn iets meer dan een maand oude release ook maar weer eens aangepast worden. tevens was de vorige versie van deze release nog wat rommelig, omdat ik wel het filterscript had geupdated en niet de codes die hier stonden etc. daarom om te verkomen dat dat weer gebeurt heb ik alleen maar het filterscript gepost en die vorige filterscript scheen ook niet helemaal foutloos te werken.

de Credits van dit script gaan gedeeltelijk naar Sandra voor het deel waarin in dit script word ingelogd en geregistreerd.

vanaf hier word het belangrijk XD

voor dit script heb je

dini by dracoblue,

dutils by dracoblue

dudb by dracoblue

sscanf2 by Y_Less

nodig.(klik op de namen voor download, hoe te gebruiken zit er bij)

er zijn in totaal 7 lijnen die aangepast moeten worden in het .pwn bestand, daar moet je namelijk een verkorte versie van je servernaam zetten. verkort??? ja verkort. voorbeeld:

(even voor admins, ik gebruik gewoon mijn eigen servernaam omdat ook iedereen zijn ip en servernaam in zijn sig komt en dat binnenkort ook bij mij gaat gebeuren.)

mijn servernaam is : "The Flying Dutchmen Roleplay/Stunt"

in de dialoog is het : "TFD RoleStunt"

nu zal je het wel begrijpen denk :D

de nummers van die lijnen zijn:

87.
92.
128.
133.
156.
211.
227.

verder zitten er 6 commands bij:

/makeadmin [iD] //als je rank 3 of hoger heb kan je degene waarvan je het id intypt ook rank 3 geven.

/maakmeadmin // als je met Rcon bent ingelogd en je typt dit word je rank 3

/kick [iD] [Reason] // je typt erachter het id van degene die je wilt kicken en een reden erachteraan.

/ban [iD] [Reason] // hetzelfde als kick, alleen dan met ban.

/boost[iD] // hierdoor geef je de speler die je intypt 10.000 dollar, 200 punten en 20 kills

/getplayerdata [iD] //hierdoor kan je precies zien wat een speler heeft aan geld, score etc.

er worden in totaal bij elke speler 9 dingen opgeslagen, dat zijn:

het wachtwoord
rank
geld
score
kills
deaths
hoevaak hij in is gelogd
kicks
en bans

Download:

[0.3C] login/register dialog.pwn by Morph1Release fixed

[0.3C] login/register dialog.amx by Morph1Release fixed

Release fixed omdat dialogID's niet klopten, ik maakte ze aan als 153 t/t 157 en verwerkte ze als 1 t/m 5. (nu hebben de dialogen de id's 1 t/m 5)

ik hoop dat iedereen er veel aan heeft en al mocht je nog problemen of vragen hebben kun je een berichtje hieronder achterlaten of mij een pm sturen. have fun :bier:

©Morph1, Special Thanks to Sandra.

Bewerkt: door Morph1
  • Reacties 32
  • Created
  • Laatste reactie

Top Posters In This Topic

  • Morph1

    13

  • 1112rutger

    5

  • MATHIJS

    3

  • powerkip96

    2

Geplaatst: (bewerkt)

Alleen jammer dat er zo weinig opgeslagen wordt :puh:

hehe, misschien in v2 :puh:

EDIT: maar ik denk dat ik eerst effe dat fsje ga nakijken

EDIT2: heb score er al bij gemaakt maar weet iemand waarom in mijn filterscript ondialogresponse niet word opgeroepen, hij staat in het topic ergens onderaan met een rood textje erachter.

fs was al goed, ik heb alleen ergens anders een fs in mijn server waardoor hij het niet doet, ik heb alle filterscripts verwijderd uit server.cfg en ga ze nu 1 voor 1 toevoegen en dan kijken bij welke hij het niet meer doet.

Bewerkt: door Morph1
Geplaatst: (bewerkt)

update: v2(22-11-10 19:00)

de release is geupdated, ik heb er 3 nieuwe dingen bij toegevoegd, namelijk:

- score

- kills

- deaths.

enjoy :puh:

Bewerkt: door Morph1
Geplaatst:

Ziet er goed uit :tu:

Alleen jammer dat er zo weinig opgeslagen wordt :puh:

Je kunt zoveel eigen variables toevoegen als je wilt. ;) Wát je wilt opslaan is alleen verschillend per server. Als je dus wilt opslaan welke skin de persoon heeft, voeg je die variable toe.

Geplaatst: (bewerkt)

idd, ik heb ook de meest neutrale dingen gebruikt, anders had ik er ook nog wel racepoints en stuntpoints bij toegevoegd, maar bijna bij elke server word de score, kills, geld, rank en deaths wel opgeslagen.

Bewerkt: door Morph1
Geplaatst:

Niet, hoor.

helemaal bovenaan onder "#include <a_samp>" zet je:

#include <dudb>

Als je dudb.inc opent (met Kladblok, bijvoorbeeld) zie je bovenaan staan: #include <dini>.

Geplaatst:

Als je dudb.inc opent (met Kladblok, bijvoorbeeld) zie je bovenaan staan: #include <dini>.

Wierd, ik moest die dini er bij doen :s

Geplaatst:

Het is handig voor de beginners die nog niet kunnen omgaan met dialogs. Zelf heb ik het systeem niet getest maar het idee ervan vind ik al zeer goed.

Geplaatst:

Het is handig voor de beginners die nog niet kunnen omgaan met dialogs. Zelf heb ik het systeem niet getest maar het idee ervan vind ik al zeer goed.

hehe thanks, dankzij jou tut heb ik er ook mee leren omgaan, ik moet alleen de rest van me server omzetten in een dialoog want mijn /teles is nog steeds in de oude menu stijl. :bier:

  • 2 weken later...
Geplaatst:

Yo guys!

Ik werk met een vergelijkbaar systeem (nja.. het zelfde laat maar zeggen).

Maar! Zodra ik meerder userfiles heb opgeslagen in mijn UserFiles map dan haalt dini (of dudb) alle gegevens door elkaar!

Stel je voor: Persoon A is een owner en logt in. Persoon B is een game admin en logt niet in. Persoon A krijgt persoon B zijn stats (geld, bankgeld, adminlevel enz).

Ook als persoon B al is ingelogt kan dit voorkomen.

Oftewel; er is hoogstwaarschijnlijk wat mis met: of het saven van de variabelen (betwijfel ik) of dini leest de userfile niet goed.

Ook passwords worden door elkaar gehaald dat in loggen onmogelijk maakt als je niet alle wachtwoorden weet van iedereen

Enig idee?

Script codes:

Dit gedeelte is het gedeelte waarin de speler een passwoord heeft ingegeven, ook word hier een nieuwe UserFile.txt aangemaakt.

if(response)
    {
        format(UserFile, sizeof(UserFile), "UserFiles/%s.txt", udb_encode(playername));
        dini_Create(UserFile);
        dini_IntSet(UserFile, "password", udb_hash(inputtext));
		ShowPlayerDialog(playerid,4, DIALOG_STYLE_INPUT,"RP Registration","Please fill in an age for your character","Submit","Back");
	}

Dit is de login dialog. Zoals je ziet word alles opgehaald en checkt dini of het ingevulde password goed werkt

if(response)
	{
	    format(UserFile, sizeof(UserFile), "UserFiles/%s.txt", udb_encode(playername));
    	 	new message[128];
     		if(dini_Int(UserFile, "password") != udb_hash(inputtext))
 		{
   			SendClientMessage(playerid, COLOR_RED, "The password is wrong.");
			SendClientMessage(playerid, COLOR_ORANGE, "Want to quit? Type 'quit' in the login bar.");
 				ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"Welcome to the RP project","Please enter your password","Login","Cancel");
     		}
			else
 		{
 		    if(logged[playerid] == 0)
 		    {
 		    	PlayerInfo[playerid][money] = dini_Int(UserFile, "money:");
               	format(message, sizeof(message), "%s you have succesfully logged in.", playername, inputtext);
               	SendClientMessage(playerid, COLOR_YELLOW, message);
               	logged[playerid] = 1;
               	GivePlayerMoney(playerid, PlayerInfo[playerid][money]);
               	TogglePlayerControllable(playerid,1);
               	SetPlayerColor(playerid, COLOR_WHITE);
    	 			PlayerInfo[playerid][Frank] = dini_Int(UserFile, "Frank:");
    	 			PlayerInfo[playerid][Faction] = dini_Int(UserFile, "Faction:");
     				PlayerInfo[playerid][adminlevel] = dini_Int(UserFile, "adminlevel:");
     				PlayerInfo[playerid][money] = dini_Int(UserFile, "money:");
     				PlayerInfo[playerid][bankmoney] = dini_Int(UserFile, "Bankmoney:");
     				PlayerInfo[playerid][job] = dini_Int(UserFile,"job:");
     				PlayerInfo[playerid][pBizKey] = dini_Int(UserFile,"pBizKey:");
				dini_Get(UserFile, "Origin:");
				PlayerInfo[playerid][Phone] = dini_Int(UserFile,"Phone:");
			}
			else
			{
			    SendClientMessage(playerid, COLOR_YELLOW, "You're already logged in!");
			    return 0;
			}
			}

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...