Jump to content

Adminchat


Recommended Posts

Geplaatst:

Hallo! Ik heb nu dit stuk code:

if(!strcmp(Zcmd, "/a", true))
{
	if(adminlevel[playerid] >= 1)
	{
		Ztmp = strtok(cmdtext, Zidx);
		if(!strlen(Ztmp))
		{
			SendClientMessage(playerid, COLOR_RED, "USAGE: /a [message]");
			return 1;
		}

		for(new i=0; i<MAX_PLAYERS; i++)
		{
		    if(gTeam[i] == TEAM_ADMIN)
		    {
		        new saystring[128];
		        GetPlayerName(playerid, pName, sizeof(pName));
		        format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, Zidx);
          			SendClientMessage(i, COLOR_YELLOW, saystring);
			}
		}
	}
	else
	{
	    SendClientMessage(playerid, COLOR_RED, "Je hebt niet het benodigde level om dit commando te gebruiken!");
	    return 1;
	}
	return 1;
}

Ik weet zeker dat ik iets fout heb gedaan bij dit stukje:

for(new i=0; i<MAX_PLAYERS; i++)
		{
		    if(gTeam[i] == TEAM_ADMIN)
		    {
		        new saystring[128];
		        GetPlayerName(playerid, pName, sizeof(pName));
		        format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, Zidx);
          			SendClientMessage(i, COLOR_YELLOW, saystring);
			}
		}

Dit omdat iedereen het te zien krijgt. Maar alleen admins moeten het te zien krijgen!

Kunnen jullie helpen?

Geplaatst:

volgens mij heb jij nergens een pName gedeclareerd. je server weet niet wat dat is???

verder hoop ik wel dat als iemand admin word hij ook dus de gTeam TEAM_ADMIN krijgt.

Geplaatst:

volgens mij heb jij nergens een pName gedeclareerd. je server weet niet wat dat is???

verder hoop ik wel dat als iemand admin word hij ook dus de gTeam TEAM_ADMIN krijgt.

Na het inloggen wordt er gekeken of je adminlevel 1 of 2 is. Als dat waar is dan stopt hij je in het admin-team.

Wat betreft die pName:

new pName[MAX_PLAYER_NAME];

(Staat aan het begin)

Geplaatst: (bewerkt)

SendClientMessage(i, COLOR_YELLOW, saystring);

moet dit niet gewoon worden :

SendClientMessage(TEAM_ADMIN, COLOR_YELLOW, saystring);

ik weet het ook niet hoor, maar probeer gewoon maar wat.

los van bovenstaande/B.T.W. : ik heb net zoals waarschijnlijk bijna iedereen hier geen ervaring met Zcmd. mischien zit daar wel een fout in.

Bewerkt: door Morph1
Geplaatst:

SendClientMessage(i, COLOR_YELLOW, saystring);

moet dit niet gewoon worden :

SendClientMessage(TEAM_ADMIN, COLOR_YELLOW, saystring);

ik weet het ook niet hoor, maar probeer gewoon maar wat.

ik heb net zoals waarschijnlijk bijna iedereen hier geen ervaring met Zcmd. mischien zit daar wel een fout in.

Dit is geen ZCMD, staat gewoon in OnPlayerCommandText vermoed ik.

Geplaatst: (bewerkt)

dat regeltje staat eronder dus los van het onderwerp erboven, en hij gebruikt wel degelijk Zcmd :

if(!strcmp(Zcmd, "/a", true))

maar goed ik zal me reactie wel aanpassen ;)

B.T.W : mischien ligt het daar juist wel aan, Zcmd moet geloof ik los staan en bij onplayercommandtext moet geloof ik:

Zcmd(a, 1, cmdtext);

of zoiets. (dit is het principe met Dcmd waarbij het dus wel zo werkt)

Bewerkt: door Morph1
Geplaatst:

SendClientMessage(i, COLOR_YELLOW, saystring);

moet dit niet gewoon worden :

SendClientMessage(TEAM_ADMIN, COLOR_YELLOW, saystring);

ik weet het ook niet hoor, maar probeer gewoon maar wat.

B.T.W. : ik heb net zoals waarschijnlijk bijna iedereen hier geen ervaring met Zcmd. mischien zit daar wel een fout in.

Dat jij het naar het hele team stuurt werkt volgensmij niet... Over dat ZCMD, zie hieronder.

new Zidx, Zcmd[256],Ztmp[256];
Zcmd = strtok(cmdtext, Zidx);

Begrijp je het nu?

Geplaatst:

werkt volgensmij niet

al geprobeerd?

verder is het toch de bedoeling dat het naar iedereen in het adminteam gaat, of maak je er meer een PM systeem van. dan heb je multi param commando's nodig en moet je gebruik maken van scanff.

Geplaatst: (bewerkt)

Heb je al geprobeerd om in plaats van te kijken of de speler in TEAM_ADMIN zit, te kijken of de speler een admin is?

Dus dan vervang je deze regel:

if(gTeam[i] == TEAM_ADMIN)

met deze regel:

if(adminlevel[i] >= 1)

Als het dan wel werkt, dan is er dus iets fout gegaan bij de teamindeling van TEAM_ADMIN.

Bewerkt: door killer37
Geplaatst:

Zo te zien werkt het nu, maar wat moet ik in het format invullen:

format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, WAT MOET HIER?);

om alles achter het commando /a daar neer te zetten?

Geplaatst:

Zo te zien werkt het nu, maar wat moet ik in het format invullen:

format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, WAT MOET HIER?);

om alles achter het commando /a daar neer te zetten?

Ik denk dat je "Ztmp" erachter moet zetten, dus dan wordt het zo:

format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, Ztmp);

Geplaatst: (bewerkt)

Zo te zien werkt het nu, maar wat moet ik in het format invullen:

format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, WAT MOET HIER?);

om alles achter het commando /a daar neer te zetten?

dat moet jij als gebruiker van Zcmd zelf weten.

als het goed is wordt hetgeen wat achter het commando komt opgeslagen in een variable. bij jou zo te zien als

strtok(cmdtext, Zidx);

dit wijs je dan toe aan een variable, bijvoorbeeld:

tekst = strtok(cmdtext, Zidx);

wel opletten natuurlijk dat je ook daarboven ergens heb staan

new tekst[256];

nu wordt je format :

format(saystring, 128, "ADMINCHAT - %s(%d): %s", pName, playerid, tekst);

meer uitleg kan ik er niet over geven

succes ermee :tu:

Bewerkt: door Morph1
Geplaatst:

dat moet jij als gebruiker van Zcmd zelf weten.

Voor alle duidelijkheid: dit is geen ZCMD. Commando's in ZCMD worden op deze manier in elkaar gestoken:

COMMAND:blah(playerid, params[])
{
   return 1;
}

Geplaatst:

dat moet jij als gebruiker van Zcmd zelf weten.

Voor alle duidelijkheid: dit is geen ZCMD. Commando's in ZCMD worden op deze manier in elkaar gestoken:

COMMAND:blah(playerid, params[])
{
   return 1;
}

dat wijst er al op dat ik er helemaal geen ervaring mee heb, maar ik zag dit staan :

if(!strcmp(Zcmd, "/a", true))

dus ik dacht dat het Zcmd was :puh:

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