Jump to content

Nog een vraag :S


Recommended Posts

Geplaatst:

Hoi,

Daar is ie weer met een vraag hoor ..

Ik heb snel een lijstje met regels gebouwd waarna als je ze hebt gelezen $5000 krijgt. Het probleem is dat je oneindig vaak /rules kan intikken en zo telkens geld kan innen! Dat is natuurlijk niks aan :N

Zou iemand me kunnen helpen hiermee?

Dit heb ik op het moment:

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/rules", cmdtext, true, 10) == 0)
{
	ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Rules","Have respect towards EVERYONE\nDo not Advertise/Spam\nLast but not least ... Have Fun","OK","");
	GivePlayerMoney(playerid,5000);
	SendClientMessage(playerid,0x007BB7FF,"Thank you for reading the rules! Here, have a little bonus ");
	return 1;
}
return 0;
}

Ik heb eerlijk gezegd ook geen idee hoe je ergens voor kan zorgen dat een command one time is. :$

M.V.G

checkkill

Geplaatst:

Ik ken zelf niet goed SA-MP script, maar als je een registersysteem hebt waarbij je spelerdata in bestanden opslaat, zou je misschien daarin ook kunnen opslaan of die speler de regels al eens gelezen heeft. Dan elke keer bij het aanvragen van /rules dat controleren, en als hij ze nog niet gelezen heeft gewoon het geld geven, anders niet.

Geplaatst:

Ik ken zelf niet goed SA-MP script, maar als je een registersysteem hebt waarbij je spelerdata in bestanden opslaat, zou je misschien daarin ook kunnen opslaan of die speler de regels al eens gelezen heeft. Dan elke keer bij het aanvragen van /rules dat controleren, en als hij ze nog niet gelezen heeft gewoon het geld geven, anders niet.

Ik weet dus niet hoe je moet scripten dan je een bepaalde command maar 1 keer kan invoeren :S

Geplaatst: (bewerkt)

Zo zou het er dan moeten uitzien. :)

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/rules", cmdtext, true, 10) == 0)
{
	ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Rules","Have respect towards EVERYONE\nDo not Advertise/Spam\nLast but not least ... Have Fun","OK","");
	// Check of the speler de regels al heeft gelezen door in het accountsbestand van de speler te kijken
	if (dini_Int(udb_encode(playername), "regelsgelezen") == 0) // == 0 geeft aan dat de speler de regels nog niet heeft gelezen, aangezien het script de variable waarschijnlijk niet kan vinden
	{
		dini_IntSet(udb_encode(playername), "regelsgelezen", 1); // Sla op dat de speler de regels heeft gelezen
		GivePlayerMoney(playerid,5000);
		SendClientMessage(playerid,0x007BB7FF,"Thank you for reading the rules! Here, have a little bonus ");
		return 1;
	}
	else // Als de speler de regels al eens eerder heeft gelezen, krijgt de speler geen geld meer
		{
		SendClientMessage(playerid,0x007BB7FF,"Thank you for reading the rules!");
		return 1;
	}
}
return 0;
}

Bewerkt: door Basssss
Geplaatst:

Zo zou het er dan moeten uitzien. :)

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/rules", cmdtext, true, 10) == 0)
{
	ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Rules","Have respect towards EVERYONE\nDo not Advertise/Spam\nLast but not least ... Have Fun","OK","");
	// Check of the speler de regels al heeft gelezen door in het accountsbestand van de speler te kijken
	if (dini_Int(udb_encode(playername), "regelsgelezen") == 0) // == 0 geeft aan dat de speler de regels nog niet heeft gelezen, aangezien het script de variable waarschijnlijk niet kan vinden
	{
		dini_IntSet(udb_encode(playername), "regelsgelezen", 1); // Sla op dat de speler de regels heeft gelezen
		GivePlayerMoney(playerid,5000);
		SendClientMessage(playerid,0x007BB7FF,"Thank you for reading the rules! Here, have a little bonus ");
		return 1;
	}
	else // Als de speler de regels al eens eerder heeft gelezen, krijgt de speler geen geld meer
		{
		SendClientMessage(playerid,0x007BB7FF,"Thank you for reading the rules!");
		return 1;
	}
}
return 0;
}

Bedankt voor dit en natuurlijk de uitleg, maar als ik hem nu probeer te compilen kreeg ik 6 errors. 2 heb ik weg weten te werken door

#include <dini>

neer te zetten boven aan. Toen had ik nog 2 errors:

C:\Users\Ashwin\Desktop\SAMP Server\gamemodes\MyGameMode.pwn(178) : error 017: undefined symbol "udb_encode"
C:\Users\Ashwin\Desktop\SAMP Server\gamemodes\MyGameMode.pwn(180) : error 017: undefined symbol "udb_encode"
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Ook die heb ik weten weg te werken door

#include <ladmin>

erin te kwakken..

Nu de laatste 2 waar ik gewoon echt niet uit kom :N

C:\Users\Ashwin\Desktop\SAMP Server\gamemodes\MyGameMode.pwn(179) : error 017: undefined symbol "playername"
C:\Users\Ashwin\Desktop\SAMP Server\gamemodes\MyGameMode.pwn(181) : error 017: undefined symbol "playername"
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Kun je me hierbij helpen?

Geplaatst:

Tralallaa gebruik dit Klikkie!

Of kant en klaar Ready2use Klikkie!

Heel erg bedankt voor deze!

I thank all of you! _O_

Eigenlijk had ik deze zelf gemaakt voordat ik de posts van een ander las. ik had al eerder op reageren knopje gedrukt had de nieuwe post's niet gelezen xD

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