Jump to content

Hoe maak je verschillende factions?!


1112rutger

Recommended Posts

format(string,sizeof(string),"(%s):%s",name,cmdtext[8]);

Dat had ik eerst ook aar de eror gaat over de regel eronder:

dini_IntSet("Job.txt", string);

warning 202: number of arguments does not match definition

Link to comment
Delen op andere websites

Mhm hoe maak je dan rangen, dat als mensen /r(adio) [text] doen dat ze zien:

POLICE OFFICER I/ POLICEOFFICER II/III / SERGEANT I : [TEXT]

??

Je zou zoiets kunnen maken:

new teamnaam[128];
if(team[playerid] == 1) format(teamnaam, sizeof(teamnaam), "POLICE OFFICER I");
if(team[playerid] == 2) format(teamnaam, sizeof(teamnaam), "POLICE OFFICER II");
if(team[playerid] == 3) format(teamnaam, sizeof(teamnaam), "SERGEANT I");

// bericht ophalen en opslaan in message, code moet je zelf maar maken

new string[256];
format(string, sizeof(string), "%s: %s", teamnaam, message);
SendClientMessageToAll(KLEUR, string);

Link to comment
Delen op andere websites

Ik heb nog een andere,

ergens bovenaan of onderaan:

SendCopMessage(color, text[]) {
for(new i = 0; i < MAX_PLAYERS; i ++) {
	if(IsPlayerConnected(i)) {
		if (gTeam[i] == TEAM_COP0 || gTeam[i] == TEAM_COP1) {
			SendClientMessage(i, color, text);
		}
	}
}
}

bij tekstcommand

				if(strcmp(cmd,"/cc",true)==0)
{
if (gTeam[playerid] == TEAM_COP0)
{
if ((strlen(cmdtext) >= 1)&&(strlen(cmdtext) <= 3)) { SendClientMessage(playerid,COLOR_RED1, "Syntax: /cc <MESSAGE>"); return 1; }
GetPlayerName(playerid,name,sizeof(name));	format(string,sizeof(string),"Cop Chat(%s):%s",name,cmdtext[3]); SendCopMessage(COLOR_0, string);
}
if (gTeam[playerid] == TEAM_COP1)
{
if ((strlen(cmdtext) >= 1)&&(strlen(cmdtext) <= 3)) { SendClientMessage(playerid,COLOR_RED1, "Syntax: /cc <MESSAGE>"); return 1; }
GetPlayerName(playerid,name,sizeof(name));	format(string,sizeof(string),"Cop Chat(%s):%s",name,cmdtext[3]); SendCopMessage(COLOR_1, string);
}

nu word het verschil in rang aangegeven meet een lichter blauwe kleur

Bewerkt: door mosweg
Link to comment
Delen op andere websites

Je kan het ook nog mooier (moeilijkerer :7) aanpakken, door een enum en een variabele te gebruiken. Voorbeeldje:

enum FACTION_INFO
{
naam[128],
kleur
}

new Factions[][FACTION_INFO] = {
{"Cops 1", 0xFFFFFFAA},
{"Cops 2", 0xFFFF00AA}
// etc.
};

En dan bij je command:

new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "%s (%s): %s", pName, Factions[rank[playerid]][naam], message);
SendClientMessageToAll(Factions[rank[playerid]][kleur], string);

Iets geavanceerder, maar wel simpeler in het gebruik :puh:

Bewerkt: door David22
Link to comment
Delen op andere websites

Voornamelijk als je veel data moet opslaan. Bijvoorbeeld:

enum pInfo {
Kills,
Deaths,
Team,
Skin
};

new PlayerInfo[MAX_PLAYERS][pInfo];

public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != 255)
{
	PlayerInfo[playerid][Deaths]++;
	PlayerInfo[killerid][Kills]++;
}
return 1;
}

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