Jump to content

verschillende soorten van praten. Hoe in te stellen?


robbie21496

Recommended Posts

Hallo,

Ik ben bezig met een roleplay server. Ja, ik heb geen ervaring met scripting en het zal waarschijnlijk heel lang duren, maar dit lijkt mij het ideale project om eens kennis op te doen. Ik wil geen kant-en-klaar script downloaden.

Omdat het erg onrealistisch is dat ik bijvoorbeeld in Los Santos hoor wat iemand 3 kilometer verderop zegt, wil ik graag dat het normale praten een maximaal bereik heeft. Hoe stel ik dat in? En hoe stel ik andere vormen van praten in?

Ik wil namelijk:

'normale' chat, bereik zo'n 50 meter

/s(hout), bereik zo'n 100 meter

/n(ewbie), in andere kleur en iedereen moet kunnen horen

/report, om bericht te sturen naar ALLE adminleden

een command zodat de admin over de hele server aan iedereen kan spreken

een /pm [iD] functie

En het liefst ook een soort admin talk die ook kan om te bouwen naar faction talk, zoals politie.

Wie kan me op weg helpen?

Link to comment
Delen op andere websites

Hallo,

Ik ben bezig met een roleplay server. Ja, ik heb geen ervaring met scripting en het zal waarschijnlijk heel lang duren, maar dit lijkt mij het ideale project om eens kennis op te doen. Ik wil geen kant-en-klaar script downloaden.

Omdat het erg onrealistisch is dat ik bijvoorbeeld in Los Santos hoor wat iemand 3 kilometer verderop zegt, wil ik graag dat het normale praten een maximaal bereik heeft. Hoe stel ik dat in? En hoe stel ik andere vormen van praten in?

Ik wil namelijk:

'normale' chat, bereik zo'n 50 meter

/s(hout), bereik zo'n 100 meter

/n(ewbie), in andere kleur en iedereen moet kunnen horen

/report, om bericht te sturen naar ALLE adminleden

een command zodat de admin over de hele server aan iedereen kan spreken

een /pm [iD] functie

En het liefst ook een soort admin talk die ook kan om te bouwen naar faction talk, zoals politie.

Wie kan me op weg helpen?

	if(strcmp(cmd, "/report", true) == 0)
{
	new length = strlen(cmdtext);
	while ((idx < length) && (cmdtext[idx] <= ' '))
	{
		idx++;
	}
	new offset = idx;
	new result[64];
	while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
	{
		result[idx - offset] = cmdtext[idx];
		idx++;
	}
	result[idx - offset] = EOS;

	getdate(Years, Months, Days);
	gettime(Hours, Minutes, Seconds);

 		if(!strlen(result))
	{
		SendClientMessage(playerid, COLOR_GREY, "USAGE: /report [information]");
		return 1;
	}
	SendClientMessage(playerid, COLOR_GREY, "Report send.");
	format(string, sizeof(string), "Report from: %s(%d): %s",PlayerName[playerid], playerid, result);
	SendReportMessage(COLOR_YELLOW, string, 101);
	printf("[%d:%d:%d][info] %s has reported (%s)", Hours, Minutes, Seconds, PlayerName[playerid], result);
	return 1;
}

dcmd_pm(playerid, params[])
{
new giveplayerid, text[128];
   if(sscanf(params, "ds", giveplayerid, text))
{
       SendClientMessage(playerid, COLOR_GREY, "USAGE: /pm [playerid] [message]");
       return 1;
   }
   if(IsPlayerConnected(giveplayerid))
	{
	    if(PlayerAway[giveplayerid] == 1)
   	{
       	SendClientMessage(playerid, COLOR_RED, "He is afk/brb dumbass! check /afklist the next time!");
       	return 0;
   	}
	    new string[128];
	    format(string, sizeof(string), "Message to: %s [%d]: %s", PlayerName[giveplayerid], giveplayerid, text);
	    SendClientMessage(playerid, COLOR_YELLOW, string);

	    format(string, sizeof(string), "Message from: %s [%d]: %s", PlayerName[playerid], playerid, text);
	    SendClientMessage(giveplayerid, COLOR_YELLOW, string);

   	getdate(Years, Months, Days);
	gettime(Hours, Minutes, Seconds);
       format(string, sizeof(string), "PM from %s(%d) to %s(%d): %s", PlayerName[playerid], playerid, PlayerName[giveplayerid], giveplayerid, text);
   	SendPrivmsgToAdmins(COLOR_YELLOW, string);

   	format(string, sizeof(string), "[pm] [%02d/%02d/%02d] [%02d:%02d:%02d]: %s to %s: %s\n", Days, Months, Years, Hours, Minutes, Seconds, PlayerName[playerid], PlayerName[giveplayerid], text);
   	pmlog(string);
	    return 1;
 	}
 	else
	{
		SendClientMessage(playerid, COLOR_GREY, "That playerid is not connected to the server!");
	}
return 1;
}

 Onder OnPlayerText kan je dit nog zetten:
pmlog(string[])
{
new File:hFile;
hFile = fopen("/logs/pm.log", io_append);
fwrite(hFile, string);
fclose(hFile);
}

dcmd_say(playerid, params[])
{
   if(!strlen(params))
   {
       SendClientMessage(playerid, COLOR_GREY, "USAGE: /say [text]");
       return 1;
   }
   new string[128];
   format(string, sizeof(string), "** %s says: %s **", PlayerName[playerid], params);
SendGlobalChatRadiusMessage(playerid, 20.0, COLOR_WHITE, string);
return 1;
}

Link to comment
Delen op andere websites

Die pm is heel simpel op te lossen door mijn pm.inc te downloaden (hij word meer en meer aanpasbaar en v3 is er bijna, in die versie kan je zo goed als alles vanuit je gm regelen.

EDIT: klik hier om naar mijn topic van pm.inc te gaan ;)

Bewerkt: door megadreams
Link to comment
Delen op andere websites

Die pm is heel simpel op te lossen door mijn pm.inc te downloaden (hij word meer en meer aanpasbaar en v3 is er bijna, in die versie kan je zo goed als alles vanuit je gm regelen.

EDIT: klik hier om naar mijn topic van pm.inc te gaan ;)

Okay ik zal eens een kijkje nemen. Maar de report functie, als ik inlog op m,n server en dan /report do, dan is het een unknown cmd. Als ik hem in het script onder de commands zet, dan krijg ik foutmelding, of moet ik ook de kleurdefinities alvast hebben, als color_grey enz...?

Link to comment
Delen op andere websites

Die pm is heel simpel op te lossen door mijn pm.inc te downloaden (hij word meer en meer aanpasbaar en v3 is er bijna, in die versie kan je zo goed als alles vanuit je gm regelen.

EDIT: klik hier om naar mijn topic van pm.inc te gaan ;)

Als ik hem in het script onder de commands zet, dan krijg ik foutmelding, of moet ik ook de kleurdefinities alvast hebben, als color_grey enz...?

Die kan je makkelijk aanmaken via de Colorpicker tool.

Maak adhv dat programma een kleur aan, typ in het vakje "Colorname" bijvoorbeeld color_grey (hoofdlettergevoelig!), kopieeër de blauwe code die daaronder verschijnt, en plaats hem bovenaan je script.

ColorPicker Tool.zip

Bewerkt: door vice
Link to comment
Delen op andere websites

Die pm is heel simpel op te lossen door mijn pm.inc te downloaden (hij word meer en meer aanpasbaar en v3 is er bijna, in die versie kan je zo goed als alles vanuit je gm regelen.

EDIT: klik hier om naar mijn topic van pm.inc te gaan ;)

Als ik hem in het script onder de commands zet, dan krijg ik foutmelding, of moet ik ook de kleurdefinities alvast hebben, als color_grey enz...?

Die kan je makkelijk aanmaken via de Colorpicker tool.

Maak adhv dat programma een kleur aan, typ in het vakje "Colorname" bijvoorbeeld color_grey (hoofdlettergevoelig!), kopieeër de blauwe code die daaronder verschijnt, en plaats hem bovenaan je script.

ColorPicker Tool.zip

Thanks voor het reageren. Nog een vraagje; moet je elk script, van bijv. de /pm service, helemaal kopiëren naar het main script, of moet je die in de map Include zetten en dan in het main script '#include <BESTANDSNAAM>'?

Link to comment
Delen op andere websites

Als ik hem in het script onder de commands zet, dan krijg ik foutmelding, of moet ik ook de kleurdefinities alvast hebben, als color_grey enz...?

#define COLOR_GREY 0xAFAFAFAA

Bewerkt: door powerkip96
Link to comment
Delen op andere websites

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