Command for faction -
jorambo - 09.07.2010
Hi guys.
I am busy with making a faction script, not like gteam but something else.
I have now this:
Код:
if(strcmp(cmd, "/groveleader", true)==0)
{
if(adminlevel[playerid] >=3)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /groveleader [id]");
return 1; //Stopt het commando
}
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid))
{
SendClientMessage(playerid, 0xFF0000AA, "Speler is niet online"); return 1;
}
grove[giveplayerid] = 10;
SendClientMessage(playerid, 0x00FF00AA, "Deze speler heeft nu grove level 10");
SendClientMessage(giveplayerid, 0xFF0000AA, "Je bent nu grove level 10");
}
else
{
SendClientMessage(playerid,COLOR_RED,"Je mag dit niet doen");
}
return 1;
}
This is only for grove
So when you have 12 gangs or something you have 12 commands
It would be better when this is one command.
I was thinking something like /setleader (playerid) (grove/...)
Further I have these command
Код:
if(strcmp(cmd,"/grovepromote", true) == 0)
{
if(grove[giveplayerid] >= 1)
{
new name [MAX_PLAYER_NAME];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
return SendClientMessage(playerid, 0xE3E3E3FF, "USAGE: /grovepromote [playerid]");
giveplayerid = strval(tmp);
if(IsPlayerConnected(giveplayerid))
if(grove[giveplayerid] >= 1)
{
{
if(grove[playerid] >= 9) {
grove[giveplayerid] += 1;
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s heeft je gepromote naar een hoger grove level", name);
SendClientMessage(giveplayerid,0xE3E3E3FF,string);
format(string, sizeof(string), "je grove level is nu %d", grove);
SendClientMessage(playerid,0xE3E3E3FF,string);
GetPlayerName(giveplayerid, name, sizeof(name));
format(string, sizeof(string), "Je hebt %s gepromote tot een hoger grove level", name);
SendClientMessage(playerid,0xE3E3E3FF,string);
format(string, sizeof(string), "Hij is nu grove level %d", grove);
SendClientMessage(playerid,0xE3E3E3FF,string);
}
else
{
SendClientMessage(playerid,0xE3E3E3FF,"Je mag dit niet doen");
}
}
}
}
return 1;
}
if(strcmp(cmd,"/grovedemote", true) == 0)
{
new name [MAX_PLAYER_NAME];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
return SendClientMessage(playerid, 0xE3E3E3FF, "USAGE: /grovedemote [playerid]");
giveplayerid = strval(tmp);
if(IsPlayerConnected(giveplayerid))
if(grove[giveplayerid] >= 1) {
{
if(grove[playerid] >= 9) {
grove[giveplayerid] -= 1;
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s heeft je gedemote naar een lager grove level", name);
SendClientMessage(giveplayerid,0xE3E3E3FF,string);
format(string, sizeof(string), "je grove level is nu %d", grove);
SendClientMessage(playerid,0xE3E3E3FF,string);
GetPlayerName(giveplayerid, name, sizeof(name));
format(string, sizeof(string), "Je hebt %s gedemote tot een lager grove level", name);
SendClientMessage(playerid,0xE3E3E3FF,string);
format(string, sizeof(string), "Hij is nu grove level %d", grove);
SendClientMessage(playerid,0xE3E3E3FF,string);
}
else
{
SendClientMessage(playerid,0xE3E3E3FF,"Je mag dit niet doen");
}
}
}
return 1;
}
Maybe this could also be one command for more gangs?
1: I am sorry but i don't know how to put this nicely in such a dialog or something the script
2: I thought that this was good under scripting discussion if not, sorry.
Re: Command for faction -
CAR - 09.07.2010
Yes you could just do the same as now and create a balla[MAX_PLAYERS] or something and the command exactly the same only everything with balla[playerid] / balla[giveplayerid]
Re: Command for faction -
jorambo - 09.07.2010
No look what I want is not 100000 commands for 12 factions.
I would like to make a command like
/setteam (playerid) (sapd/ballas/grove/everything)
I looked to the tutorial but did not get it.
Re: Command for faction -
CAR - 09.07.2010
Ik denk dat dit gaat werken (kunnen foutjes in zitten)
pawn Код:
//top
#define TEAM_NONE 0
#define TEAM_BALLAS 1
#define TEAM_GROVE 2
#define TEAM_SAPD 3
//top
new Team[MAX_PLAYERS];
//-----------
public OnPlayerConnect(playerid)
{
Team[playerid] = TEAM_NONE;
}
pawn Код:
if(!strcmp(cmd, "/setteam", true))
{
new tmp[256], tmp2[256], idx;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /setteam [playerid] [team]");
tmp2 = strtok(cmdtext, idx);
if(!strlen(tmp2)) return SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /setteam [playerid] [team]");
new giveplayerid = strval(tmp);
new team = strval(tmp2);
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, "Die speler is niet online!");
new teamid;
if(!strcmp(team, "grove", true)) { teamid = TEAM_GROVE; }
if(!strcmp(team,"ballas",true)) { teamid = TEAM_BALLAS; }
if(!strcmp(team, "sapd", true)) { teamid = TEAM_SAPD; }
{
team[giveplayerid] = teamid;
SendClientMessage(playerid, 0xFF0000AA, "Team gezet!");
} else return SendClientMessage(playerid, 0xFF0000AA, "Dat team bestaat niet!");
return 1;
}
Re: Command for faction -
jorambo - 09.07.2010
I tried it
Super bedankt man
I am sorry maybe it is noob action or something but I now got this:
Код:
if(!strcmp(cmd, "/setteam", true))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /setteam [playerid] [team]");
tmp2 = strtok(cmdtext, idx);
if(!strlen(tmp2)) return SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /setteam [playerid] [team]");
new team = strval(tmp2);
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, "Die speler is niet online!");
new teamid;
if(!strcmp(team, "grove", true)) { teamid = TEAM_GROVE; }
if(!strcmp(team,"ballas",true)) { teamid = TEAM_BALLAS; }
if(!strcmp(team, "sapd", true)) { teamid = TEAM_SAPD; }
{
team[giveplayerid] = teamid
SendClientMessage(playerid, 0xFF0000AA, "Team gezet!");
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Dat team bestaat niet!");
}
return 1;
}
(i have removed some news because I all ready had them
I get now these errors:
D:\joram server\gamemodes\Dutchlife.pwn(146
: error 035: argument type mismatch (argument 1)
D:\joram server\gamemodes\Dutchlife.pwn(1469) : error 035: argument type mismatch (argument 1)
D:\joram server\gamemodes\Dutchlife.pwn(1470) : error 035: argument type mismatch (argument 1)
D:\joram server\gamemodes\Dutchlife.pwn(1472) : error 028: invalid subscript (not an array or too many subscripts): "team"
D:\joram server\gamemodes\Dutchlife.pwn(1472) : warning 215: expression has no effect
D:\joram server\gamemodes\Dutchlife.pwn(1472) : error 001: expected token: ";", but found "]"
D:\joram server\gamemodes\Dutchlife.pwn(1472) : error 029: invalid expression, assumed zero
D:\joram server\gamemodes\Dutchlife.pwn(1472) : fatal error 107: too many error messages on one line
1468-1470 are these lines with if strcm... grove
1472 is the line of team(giveplayerid) = teamid
Re: Command for faction -
dice7 - 09.07.2010
pawn Код:
if(!strcmp(cmd, "/setteam", true))
{
tmp = strtok(cmdtext, idx); //get the playerid as a string
if(!strlen(tmp)) return SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /setteam [playerid] [team]");
new giveplayerid = strval(tmp); //transforming the string into a number
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, "Die speler is niet online!");
tmp = strtok(cmdtext, idx); //getting the team
if(!strlen(tmp2)) return SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /setteam [playerid] [team]");
new teamid;
if(!strcmp(tmp, "grove", true)) { teamid = TEAM_GROVE; }
else if(!strcmp(tmp,"ballas",true)) { teamid = TEAM_BALLAS; }
else if(!strcmp(tmp, "sapd", true)) { teamid = TEAM_SAPD; }
else
{
SendClientMessage(playerid, 0xFF0000AA, "Dat team bestaat niet!");
return 1;
}
team[giveplayerid] = teamid
SendClientMessage(playerid, 0xFF0000AA, "Team gezet!");
return 1;
}