Jump to content

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

Geplaatst:
comment_1756073

[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
  • Bezichtigingen 10.8k
  • Created
  • Laatste reactie

Top Posters In This Topic

Featured Replies

Geplaatst:
  • Auteur
comment_1756337

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:
  • Auteur
comment_1756934

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:
comment_1756964

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:
  • Auteur
comment_1756996

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:
comment_1760917

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:
  • Auteur
comment_1761025

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:
comment_1767410

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;
			}
			}

Geplaatst:
  • Auteur
comment_1767425

lol ik weet niet wat jij allemaal doet maar ten eerste ga je een tweede bestand aanmaken alleen maar voor het wachtwoord, je kan beter gewoon de variable "UserFile" defineren als een GetPlayerName.

maja als je hem zelf heb gemaakt dan kan je hem eens vergelijken met mijne en kijken wat ik doe en anders moet je me maar PMmen als het nog niet lukt want als ik hier antwoorden op ga geven dan krijgen we posts van halve pagina's duz...

>>> Door VWO-er: Het is niet voor niets een forum, toch..? Je kunt altijd de

 BBcode gebruiken <<<

maar ik wil er ook graag uitleg bij geven en dit en dat en dan die code geven maar dat vind ik gewoon te veel om in 1 keer te typen, verder had ik nog zijn OnPlayerDisconnect nodig.

Bewerkt: door Morph1

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

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.