Jump to content

[Tutorial]Dialog Box


Recommended Posts

Geplaatst: (bewerkt)

[Tutorial]Dialog Box

[Tutorial]by Scofield6

De nieuwe 0.3 menu's zijn al een tijdje in gebruik maar er was hier nog geen tutorial van, dus bij deze: de tutorial van de dialog box! :)

*Hiervoor hebben we dus ook 0.3 client en server voor nodig, je weet waar ze staan neem ik aan.

We beginnen al gelijk bij OnPlayerCommandText (zoek dus de regel op)...

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}

Nu gaan we enkele regels aanpassen van hierboven die van toepassing zijn om de dialog box te openen in-game.

De regel...

if (strcmp("/mycommand", cmdtext, true, 10) == 0)

Passen we aan naar...

	if (strcmp("/dialogbox1", cmdtext, true, 11) == 0)

Deze regel hierboven is voor het intypen van de command in-game, hierbij heb je de naam veranderd voor het intypen en het cijfer 10 in dit geval, let op: de tekens zijn inclusief het / streepje dus omdat we de naam veranderd hebben naar /dialogbox1 moet de 10 in 11 worden veranderd.

Volgende regel...

Waar...

	// Do something here

Stond, zetten we nu...

	ShowPlayerDialog(playerid, 1, 2, "GTA-Forum", "Keuze1\nKeuze2\nKeuze3\nKeuze4\nKeuze5\nKeuze6\nKeuze7\nKeuze8\nKeuze9", "Select", "Cancel");

Deze regel zorgt dat na het intypen van /dialogbox1 het menu geopend wordt.

Even wat toelichten...

1=id kun je veranderen naar elk getal, maar let op: je kunt niet meerdere dialog boxes hetzelfde id geven anders gaat het fout.

2=style kun je kiezen uit 1,2 of 3

0 - DIALOG_STYLE_MSGBOX

1 - DIALOG_STYLE_INPUT

2 - DIALOG_STYLE_LIST

ik heb dus voor 2 gekozen

GTA-Forum=tekst bovenaan de dialog, kun je dus naar jouw eigen wensen veranderen

Keuze1 enzovoort zijn de keuze's die we kunnen kiezen als het menu geopend is let goed op dat je vanaf de tweede keuze na de eerste \ dus een 'n' zet anders krijg je errors.

select=voor het geval als je een keuze wilt maken kun je op die knop klikken.

cancel=voor het geval als je geen keuze wilt maken kun je op die knop klikken.

Om het werkend te krijgen hebben we nu dit totaal...

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/dialogbox1", cmdtext, true, 11) == 0)
{
ShowPlayerDialog(playerid, 1, 2, "GTA-Forum", "Keuze1\nKeuze2\nKeuze3\nKeuze4\nKeuze5\nKeuze6\nKeuze7\nKeuze8\nKeuze9", "Select", "Cancel");
return 1;
}
return 0;
}

Daarvoor zijn we dus klaar met het eerste gedeelte, nu gaan we naar het tweede gedeelte wat tevens ook het laatste gedeelte is, nu moet je nog iets beter opletten wat de regels precies inhouden. Ik probeer het dan ook zo goed mogelijk voor jou duidelijk te maken.

Zoek de volgende regels op...

	public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}

Staan die nog niet in je script, voeg ze dan nu toe.

Als eerste komt de regel...

	if (dialogid == 1)
{

Erbij, je moet wel het id nummer hetzelfde laten wat je bij het eerste gedeelte ook had, dit zorgt ervoor dat het eerder opgegeven keuze's en het id (bij het eerste gedeelte) dus overeen komt met elkaar.

De regel die nu komt is...

	if (response)
{

Dit zorgt voor het bevestigen van het kloppende id.

En nu de keuze en eventuele uitvoeringen die erbij komen kijken...

	if (listitem == 0)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze1 gekozen.");
}

De eerste regel van hierboven zorgt dat als keuze1 wordt gekozen dat regel 3 dan verschijnt. Regel 3 kun je zelf ook veranderen, je kunt ook meerdere regels erbij toevoegen, het is aan jou, kies daarom je eigen wensen. Ik heb dus voor een tekst gekozen oftewel SendClientMessage, dit zorgt ervoor dat in-game een tekst verschijnt als je de betreffende keuze hebt gekozen.

In totaal hebben we nu het volgende...

	public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 1)
{
if (response)
{
if (listitem == 0)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze1 gekozen.");
}
return 1;
}

Echter zijn we nu nog niet klaar, want we hebben nog maar voor alleen keuze1 de uitvoering behandeld, dus doen we dat nu ook even met alle andere overige 8 keuze's...

Dan komt het er dus zo uit te zien in het totaal...

	public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 1)
{
if (response)
{
if (listitem == 0)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze1 gekozen.");
}
if (listitem == 1)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze2 gekozen.");
}
if (listitem == 2)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze3 gekozen.");
}
if (listitem == 3)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze4 gekozen.");
}
if (listitem == 4)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze5 gekozen.");
}
if (listitem == 5)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze6 gekozen.");
}
if (listitem == 6)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze7 gekozen.");
}
if (listitem == 7)
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze8 gekozen.");
}
if (listitem == 
{
SendClientMessage(playerid, 0xFFFFFFAA, "Gefeliciteerd, je hebt keuze9 gekozen.");
}
}
return 1;
}
return 0;
}

Let op dat je tekens: } niet twee keer vergeet boven de regel: return 1; en dat je de regels return 0; en } niet vergeet anders werkt het niet, dit is om de callback af te sluiten.

In het kort: wat we hebben gedaan bij dit gedeelte is dus het zorgen voor dat het id overeen komt, een bevestiging maken, het uitvoeren van regels die overeen komen met de gekozen keuze.

Nu zijn we klaar, hopelijk heb je het gesnapt...

Resultaat:

gtaforumtutorial.png

Hopelijk is het zo duidelijk anders moet je het maar even melden, als iets onduidelijk is. :cya:

Bewerkt: door Scofield6
Geplaatst:

De nieuwe 0.3 menu's zijn al een tijdje in gebruik maar er was hier nog geen tutorial van en ik zag dat er ook een bericht was van hoe het te maken is, dus bij deze: de tutorial van de dialog box! :)

Dit zet je dus bij OnPlayerCommandText...

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/dialogbox1", cmdtext, true) == 0)
{
ShowPlayerDialog(playerid, 1, 2, "GTA-Forum", "Keuze1\nKeuze2\nKeuze3\nKeuze4\nKeuze5\nKeuze6\nKeuze7\nKeuze8\nKeuze9", "Select", "Cancel");//1=id, 2=style, GTA-Forum=tekst bovenaan de dialog, Keuze1=de eerste keuze enzovoort, let goed op dat je vanaf de tweede keuze na de eerste \ dus een 'n' zet anders krijg je errors.
return 1;
}
return 0;
}

En dit zet je helemaal onderaan...

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 1)//de 1 moet weer gelijk zijn aan het eerder opgegeven id
{
if (response)
{
if (listitem == 0)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 1
}
if (listitem == 1)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 2
}
if (listitem == 2)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 3
}
if (listitem == 3)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 4
}
if (listitem == 4)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 5
}
if (listitem == 5)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 6
}
if (listitem == 6)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 7
}
if (listitem == 7)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 8
}
if (listitem == 
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 9
}
}
return 1;
}
return 0;

Resultaat:

gtaforumtutorial.png

Hopelijk is het zo duidelijk anders moet je het maar even melden, als iets onduidelijk is. :cya:

Wat jij doet , is gewoon het bijna kant-en-klare script geven . Jij geeft ons geen uitleg wat alles wilt zeggen , waarom , ... Dit is geen tutorial ...

Geplaatst:

Wat jij doet , is gewoon het bijna kant-en-klare script geven . Jij geeft ons geen uitleg wat alles wilt zeggen , waarom , ... Dit is geen tutorial ...

Ik vind zelf dat deze genoeg info bevat, dingen die ik niet benoem die zijn vanzelf sprekend.

Ik weet wel bijna zeker dat een beginnende scripter met deze info overweg kan.

Maarja jij mag dat vinden, ik vind dat van jou niet kloppen.

Geplaatst:

-Tutorial-

Eigenlijk is dit inderdaad geen tutorial, maar een voorbeeld van hoe je een dialog kan gebruiken. Toch heb ik wat verbeterpuntjes voor je voorbeeld.

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/dialogbox1", cmdtext, true) == 0)
{
ShowPlayerDialog(playerid, 1, 2, "GTA-Forum", "Keuze1\nKeuze2\nKeuze3\nKeuze4\nKeuze5\nKeuze6\nKeuze7\nKeuze8\nKeuze9", "Select", "Cancel");
return 1;
}
return 0;
}

Hier is niet veel mis mee, alleen mist er wat goede indentitatie.

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/dialogbox1", cmdtext, true) == 0)
{
	ShowPlayerDialog(playerid, 1, 2, "GTA-Forum", "Keuze1\nKeuze2\nKeuze3\nKeuze4\nKeuze5\nKeuze6\nKeuze7\nKeuze8\nKeuze9", "Select", "Cancel");
	return 1;
}
return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 1)//de 1 moet weer gelijk zijn aan het eerder opgegeven id
{
if (response)
{
if (listitem == 0)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 1
}
if (listitem == 1)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 2
}
if (listitem == 2)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 3
}
if (listitem == 3)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 4
}
if (listitem == 4)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 5
}
if (listitem == 5)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 6
}
if (listitem == 6)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 7
}
if (listitem == 7)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 8
}
if (listitem == 
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 9
}
}
return 1;
}
return 0;

Dit is dus een minder goed voorbeeld van hoe je het kan gebruiken. Ik zou je aanraden de switch functie te gebruiken, aangezien dat op deze manier sneller en overzichtelijker is.

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response) // Als de persoon op de eerste knop heeft geklikt.
{
	switch(dialogid)
	{
		case 1: // Het dialogid
		{
			switch(listitem)
			{
				case 0:
				{
					// De persoon heeft het eerste onderdeel in de lijst geselecteerd.
				}
				case 1:
				{
					// De persoon heeft het tweede onderdeel in de lijst geselecteerd.
				}
				case 2:
				{
					// De persoon heeft het derde onderdeel in de lijst geselecteerd.
				}
				case 3:
				{
					// De persoon heeft het vierde onderdeel in de lijst geselecteerd.
				}
				case 4:
				{
					// De persoon heeft het vijfde onderdeel in de lijst geselecteerd.
				}
				case 5:
				{
					// De persoon heeft het zesde onderdeel in de lijst geselecteerd.
				}
				case 6:
				{
					// De persoon heeft het zevende onderdeel in de lijst geselecteerd.
				}
				case 7:
				{
					// De persoon heeft het achtste onderdeel in de lijst geselecteerd.
				}
				case 8:
				{
					// De persoon heeft het negende onderdeel in de lijst geselecteerd.
				}
			}
		}
		case 2: // Ander dialogid
		{
			// Hier de acties. Zie hierboven.
		}
	}
}
else  // Als de persoon op de tweede knop heeft geklikt.
{
	switch(dialogid)
	{
		case 1: // Het dialogid
		{
			// Actie als de speler op de tweede knop heeft gedrukt.
		}
		case 2: // Ander dialogid
		{
			// Hier de acties. Zie hierboven.
		}
	}

}
return 1;
}

MVG,

Wanted

Geplaatst: (bewerkt)

@scofield6 :Je zegt waar je het moet zetten , maar je laat ons niet schrijven . Je moet ons stap voor stap het script laten opbouwen . Dus nogmaals , geen tutorial . We leren niets bij , alleen dat we dat daar moeten zetten en dat daaronder ... :duh:

scofield6 , ben jij Micheal scofield ?

Bewerkt: door Dakendak
Geplaatst: (bewerkt)

Ooh ik ging die Dialox Boxes tutorial schrijven, naja ik noem dit ook niet zeer een tutorial omdat je niet echt uitlegt wat de soorten dialogs zijn en hoe je ze stap voor stap maakt knipoog.gif

Er zijn 3 verschillende dialogs en zover ik kan zien heb jij gewoon rondom dialox box 1 (als ik me niet vergis) geschreven.

Bewerkt: door megadreams
Geplaatst:

Even wat aangepast, nu goed en duidelijk?

Dit is al een stuk beter. Maar vergeet niet wat ik een paar posts geleden verteld heb.

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/dialogbox1", cmdtext, true) == 0)
{
ShowPlayerDialog(playerid, 1, 2, "GTA-Forum", "Keuze1\nKeuze2\nKeuze3\nKeuze4\nKeuze5\nKeuze6\nKeuze7\nKeuze8\nKeuze9", "Select", "Cancel");
return 1;
}
return 0;
}

Hier is niet veel mis mee, alleen mist er wat goede indentitatie.

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/dialogbox1", cmdtext, true) == 0)
{
	ShowPlayerDialog(playerid, 1, 2, "GTA-Forum", "Keuze1\nKeuze2\nKeuze3\nKeuze4\nKeuze5\nKeuze6\nKeuze7\nKeuze8\nKeuze9", "Select", "Cancel");
	return 1;
}
return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 1)//de 1 moet weer gelijk zijn aan het eerder opgegeven id
{
if (response)
{
if (listitem == 0)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 1
}
if (listitem == 1)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 2
}
if (listitem == 2)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 3
}
if (listitem == 3)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 4
}
if (listitem == 4)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 5
}
if (listitem == 5)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 6
}
if (listitem == 6)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 7
}
if (listitem == 7)
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 8
}
if (listitem == 
{
//zet hier de commands bijv. GivePlayerMoney... enz. voor keuze 9
}
}
return 1;
}
return 0;

Dit is dus een minder goed voorbeeld van hoe je het kan gebruiken. Ik zou je aanraden de switch functie te gebruiken, aangezien dat op deze manier sneller en overzichtelijker is.

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response) // Als de persoon op de eerste knop heeft geklikt.
{
	switch(dialogid)
	{
		case 1: // Het dialogid
		{
			switch(listitem)
			{
				case 0:
				{
					// De persoon heeft het eerste onderdeel in de lijst geselecteerd.
				}
				case 1:
				{
					// De persoon heeft het tweede onderdeel in de lijst geselecteerd.
				}
				case 2:
				{
					// De persoon heeft het derde onderdeel in de lijst geselecteerd.
				}
				case 3:
				{
					// De persoon heeft het vierde onderdeel in de lijst geselecteerd.
				}
				case 4:
				{
					// De persoon heeft het vijfde onderdeel in de lijst geselecteerd.
				}
				case 5:
				{
					// De persoon heeft het zesde onderdeel in de lijst geselecteerd.
				}
				case 6:
				{
					// De persoon heeft het zevende onderdeel in de lijst geselecteerd.
				}
				case 7:
				{
					// De persoon heeft het achtste onderdeel in de lijst geselecteerd.
				}
				case 8:
				{
					// De persoon heeft het negende onderdeel in de lijst geselecteerd.
				}
			}
		}
		case 2: // Ander dialogid
		{
			// Hier de acties. Zie hierboven.
		}
	}
}
else  // Als de persoon op de tweede knop heeft geklikt.
{
	switch(dialogid)
	{
		case 1: // Het dialogid
		{
			// Actie als de speler op de tweede knop heeft gedrukt.
		}
		case 2: // Ander dialogid
		{
			// Hier de acties. Zie hierboven.
		}
	}

}
return 1;
}

MVG,

Wanted

Geplaatst:

Even reageren op het een en ander...

Wanted: wat betreft de identitatie, ik vind het zo fijner en overzichtelijker maar als veel mensen het op de andere manier juist overzichtelijker vinden wil ik wel het ene en ander veranderen. wat betreft de switch functie, dat vind ik wel een goed idee, dus morgen wil ik deze tutorial daarvoor wel nog een keer aanpassen.

Dakendak: mijn naam is inderdaad afgeleid van de held Michael Scofield in de serie Prison Break, maar ik zag laatst ook een keer dat er nog een Michael Scofield op het forum rond hangt, dat ben ik in ieder geval niet.

Megadreams: jij ging de tutorial schrijven? duurde wel lang zeker. maargoed hij is er hier... en ja ik heb gewoon de normale style zonder extra tussenkeuze's geschreven.

Geplaatst:

Ik vind het wel spijtig dat ik hem dan niet meer kan schrijven naja dan zoek ik wel een andere 0.3 functie om een tut over te schrijven ;)

Nu is hij al wat beter maar mss toch echt alle dialogs uitleggen ;)

Geplaatst: (bewerkt)

dus morgen

Vandaag is morgen :roll:

Je tutorial ziet er netjes uit, alleen even hetgeen doen waar Wanted het over had. En houd de identitatie aan die Wanted gaf. Jij vind het misschien niet fijn werken, maar het bespaart een warning "Loose identitation" voor de scriptbeginners.

Daarnaast wil ik nog iets toevoegen over je "Toelichting". De tekens \n (Geen /n dus!) en \t kun je gebruiken in je tekst. Met \n maak je een nieuwe regel, en met \t een nieuwe tabel. Voorbeeld:

ShowPlayerDialog(playerid, 1, 2, "Banaan", "Rij 1, tabel 1\tRij 1, tabel2\nRij 2, tabel 1\n\tRij 3, tabel 2", "Ok", "Cancel");

[table=border]

Rij 1, tabel 1 | Rij 1, tabel 2

Rij 2, tabel 1 |

| Rij 3, tabel 2

Ok | Cancel

[/table]

Let op: Je kan alleen op een RIJ klikken, tabbellen selecteer je automatisch mee, per rij. Klik je dus de eerste rij aan, selecteer je beide tabellen.

Daarnaast, waar megadreams je ook al op wees: Leg alle types uit, en niet alleen de list.

Toegevoegd aan de PMTL, met als voorwaarde dat je deze kleine dingetjes verbeterd ;) EDIT: Tot mijn grote verbazing is de hele lay-out van de PMTL verkloot als ik hem zou editten, dus ik voeg hem z.s.m. toe, als ik tijd heb om die lay-out in orde te krijgen.

Succes :)

Bewerkt: door Remi-X
Geplaatst:

Kan iemand er ff een tut over maken met Input

En hoe doe je zoals bij /login (wachtwoord)

dat als er niks word ingevuld zoiets van if(!strlen) maar dan voor dialog

Danke

Geplaatst:

Hallo,

Weet iemand hoe je een inputbox maakt? En dan checkt wat hij/zij in heeft gevuld.

Alvast bedankt

Geplaatst: (bewerkt)

Een tekstvak (input box) gebruikt dezelfde functie als een lijst. Maar de style die is bij een tekstvak DIALOG_STYLE_INPUT. Dus als voorbeeld kun je dit gebruiken voor een soort login systeem:

ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Inloggen", "Voer hieronder je wachtwoord in", "Oke", "Terug");

Ook bij een tekstvak gebruik je de callback OnDialogResponse. Maar nu gebruik je niet de variable listitem, maar de variable inputtext. Dus de inhoud van wat de speler in het tekstvak invoert, komt te staan in die variable.

Hier een klein voorbeeldje:

public OnPlayerCommandText(playerid, cmdtext[])
{
       if (strcmp("/naam", cmdtext, true) == 0) // Als de speler het command: /naam invoert....
       {
               ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Jouw naam", "Hallo, wat is je naam?", "Oke", "Terug"); // Laat een dialog weergeven, met een tekstvak waar de speler zijn naam in kan vullen.
               return 1;
       }
       return 0;
}



public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
       if(response) // Als de persoon op de eerste knop heeft geklikt.
       {
               switch(dialogid)
               {
                       case 1: // Het dialogid, in het voorbeeld hebben we 1 daarvoor ingevuld, dus gebruiken we dat hier weer.
                       {
                               new string[128]; // Maakt een variable aan met 128 cellen, waarin we de zin in gaan opslaan, die we gaan verzenden naar de speler.
                               format(string, 128, "Hallo %s, welkom op deze server!", inputtext); // Maakt de zin aan, en zet op de plaats van %s de inhoud van de variable inputtext.
                               SendClientMessage(playerid, 0xFF0000AA, string); // Verzend de zin naar de speler, met een groene kleur.
                       }
               }
       }
       return 1;
}

EDIT: Typfoutjes eruit gehaald.

Bewerkt: door Wanted

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