qwe123
Умник
Всем привет, я расскажу вам как создать фракцию "школа".Те кто не умеет создавать фракции в дальнейшем пригодится.
1. Для начала мы должны добавить в команду /makeleader:
2. Так же нам надо изменить в команде /makeleader максимальное количество организаций:
3. Теперь мы должны добавить в /invite:
4.Теперь в /giverank:
а)
б)
5.Теперь добавим в /uninvite:
6. Теперь нам надо добавить фракцию в /r чат:
7.Теперь нам осталось добавить в /d и /gov чат для этого мы добавим форвард :
8.Теперь создадим новый паблик :
9.теперь добавим в /d чат:
10.Далее в ищем вот эту строчку если она есть
и заменяем на:
если этой строчки не имеется то не стоит ее добавлять
11.Теперь в сам /gov чат:
и еще вот это:
12. Далее нам нужно добавить в pInfo:
13. Теперь ко всем командам:
14. теперь в public OnPlayerConnect(playerid):
15.Далее ищем public OnPlayerRegister(playerid, password[]) и вставим:
16.Теперь нам нужно все это сохранить в .ini файле, для этого ищем public SavessAkk(playerid,string3[]) и вставляем туда:
17.И теперь когда заходит игрок нам нужно его как сказать то, вообщем загрузить. Значит ищем public OnPlayerLogin(playerid,password[]) и вставим:
18. Теперь нам нужно сделать так, чтобы принимало в гос. фракцию если имеется диплом. Вот строчка вставляйте ее в /invite в фракции которые вам нужны:
Вот и все. Мы сделали фракцию. Ставьте + =)
1. Для начала мы должны добавить в команду /makeleader:
PHP:
else if(level == 31) { PlayerInfo[para1][pRank] = 5; InviteSkin[para1] = 295; if(PlayerInfo[para1][pAdmin] <=0) { ini_removeKey (iniFile, "School" );ini_setString(iniFile, "School",giveplayer);}} //31-это id нашей фракции(ставить свое), 5-это ранг когда дают лидерку, 295-скин как дают лидерку
PHP:
if(level > 31 || level < 1) { SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 1 и больше 31!"); return 1; }// 31 это сколько всего фракций (ставить свое)
PHP:
else if (PlayerInfo[playerid][pLeader] == 31 || PlayerInfo[playerid][pMember] == 31 && PlayerInfo[playerid][pRank] == 4)// повторяю 31 это id фракции ставить свой
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[para1][pPbiskey] !=255) return SendClientMessage(playerid, COLOR_GREY, "Гражданин бизнесмен!");
if (PlayerInfo[para1][pAvtomas] !=255) return SendClientMessage(playerid, COLOR_GREY, "Гражданин владеет автомастерской!");
if(IsPlayerInAnyVehicle(para1)) return SendClientMessage(playerid, COLOR_GREY, "Гражданин в машине!");
if (PlayerInfo[para1][pLevel] < 1) return SendClientMessage(playerid, COLOR_GREY, "Прием возможен с 1 lvl");
if (PlayerInfo[para1][pMember] != 0) return SendClientMessage(playerid, COLOR_GREY, "Человек состоит в организации");
if(PlayerInfo[para1][pWarns] >= 1) return SendClientMessage(playerid, COLOR_GRAD1,"У игрока Warn.");
if(PlayerInfo[playerid][pLeader] == 31 || PlayerInfo[playerid][pMember] == 31 && PlayerInfo[playerid][pRank] == 4) { ftext = "Scholl"; InviteSkin[para1] = 70; }
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
InviteOffer[para1] = PlayerInfo[playerid][pMember];
format(string, sizeof(string), "Вы пригласили %s присоединится к %s.", giveplayer,ftext);
SendClientMessage(playerid, COLOR_BLUE, string);
format(invite,sizeof(invite), "%s приглашает присоединится вас к %s\n- Вы согласны?", sendername,ftext);
ShowPlayerDialog(para1,76,DIALOG_STYLE_MSGBOX,"Приглашение",invite, "да", "нет");
}
}//not connected
}
а)
PHP:
else if(PlayerInfo[playerid][pMember] == 31) { if(level > 4 || level < 1) { SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 1 и больше 4!"); return 1; } }
PHP:
else if (PlayerInfo[playerid][pMember] == 31 &&PlayerInfo[playerid][pRank] >= 4)
{
if(IsPlayerConnected(para1))
{
if (PlayerInfo[playerid][pMember] == PlayerInfo[para1][pMember])
{
if(para1 != INVALID_PLAYER_ID)
{
if(para1 == playerid) { SendClientMessage(playerid, COLOR_GREY, "Вы указали свой ID"); return 1; }
if (PlayerInfo[para1][pLeader] >= 1) { SendClientMessage(playerid, COLOR_GREY, "Вы указали ID лидера"); return 1; }
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pRank] = level;
format(string, sizeof(string), "Вы были повышены %d ранга %s",level, sendername);
SendClientMessage(para1, 0x6495EDFF, string);
format(string, sizeof(string), "Вы повысили %s до %d ранга.", giveplayer,level);
SendClientMessage(playerid, 0x6495EDFF, string);
}
}
PHP:
else if (PlayerInfo[playerid][pLeader] == 31 || PlayerInfo[playerid][pMember] == 31 && PlayerInfo[playerid][pRank] >= 4)
{
if (PlayerInfo[giveplayerid][pMember] != PlayerInfo[playerid][pMember]) return SendClientMessage(playerid, COLOR_GRAD1, "Человек не вашей организации");
if(para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[para1][pMember] > 0)
{
if(para1 == playerid) { SendClientMessage(playerid, COLOR_GREY, "Вы указали свой ID"); return 1; }
if (PlayerInfo[para1][pLeader] >= 1) { SendClientMessage(playerid, COLOR_GREY, "Вы указали ID лидера"); return 1; }
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
//printf(" %s âûêèíóë %s.", sendername, giveplayer);
format(string, sizeof(string), "Вы были уволены из организации %s.", sendername);
SendClientMessage(para1, 0x6495EDFF, string);
format(string, sizeof(string), "Вы уволили %s из организации", giveplayer);
SendClientMessage(playerid, 0x6495EDFF, string);
PlayerInfo[para1][pMember] = 0;
PlayerInfo[para1][pRank] = 0;
PlayerInfo[para1][pLeader] = 0;
PlayerInfo[para1][pJob] = 0;
SetPlayerArmourAC(para1,0);
SpawnPlayer(para1);
}
}
}//not connected
PHP:
else if(PlayerInfo[playerid][pMember] == 31 || PlayerInfo[playerid][pLeader] == 31)//PD Ranks
{
if(PlayerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "[R] Директор %s: %s", sendername, result); }
else if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "[R] Завуч %s: %s", sendername, result); }
else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "[R] Ученик 9 класса %s: %s", sendername, result); }
else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "[R] Ученик 8 класса %s: %s", sendername, result); }
else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "[R] Ученик 7 класса %s: %s", sendername, result); }
else { format(string, sizeof(string), "[R] Ученик 7 класса: %s", sendername, result); }
SendRadioMessage(31, TEAM_BLUE_COLOR, string);
format(string, sizeof(string), "%s передал сообщение по рации", sendername);
ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
//printf("%s", string);
return 1;
}
PHP:
forward IsASchool(playerid);
PHP:
public IsASchool(playerid)
{
if(IsPlayerConnected(playerid))
{
new leader = PlayerInfo[playerid][pLeader];
new member = PlayerInfo[playerid][pMember];
if(member==31)
{
return 1;
}
else if(leader==31)
{
return 1;
}
}
return 0;
}
PHP:
case 31:
{
if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "Ранг %s: %s", sendername, result); }
else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "Ранг%s: %s", sendername, result); }
else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "Ранг %s: %s", sendername, result); }
else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "Ранг %s: %s", sendername, result); }
else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "Ранг %s: %s", sendername, result); }
else
{
format(string, sizeof(string), "Ранг %s: %s", sendername, result);
}
SendTeamMessage(1, COLOR_ALLDEPT, string);
format(string, sizeof(string), "%s сообщил в департамент", sendername);
ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
//printf("%s", string);
return 1;
}
PHP:
if(IsAArm(playerid) || IsAMayor(playerid) || IsAMedic(playerid))
PHP:
if(IsAArm(playerid) || IsAMayor(playerid) || IsAMedic(playerid) || IsASchool(playerid))
11.Теперь в сам /gov чат:
PHP:
else if(PlayerInfo[playerid][pMember] == 31 || PlayerInfo[playerid][pLeader] == 31)//PD Ranks
{
if(PlayerInfo[playerid][pRank] >= 4) { rtext = "новости:"; }
else if(PlayerInfo[playerid][pRank] == 5) { rtext = "Директор школы"; }
}
PHP:
else if(PlayerInfo[playerid][pMember] == 31 || PlayerInfo[playerid][pLeader] == 31)
{
SendClientMessageToAll(COLOR_WHITE, "---========== Государственные новости ==========---");
format(string, sizeof(string), "%s %s: %s", rtext, sendername, result);
SendClientMessageToAll(0x6495EDFF, string);
}
PHP:
pObr,
PHP:
else if(strcmp(cmd, "/diplom", true) == 0)
{
new para1;
new ftext[25];
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pLeader] == 31 || PlayerInfo[playerid][pMember] == 31 && PlayerInfo[playerid][pRank] == 4)
{
if (PlayerInfo[para1][pObr] > 0) return SendClientMessage(playerid, COLOR_GREY, "Гражданин уже получил диплом");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Введите: /diplom [id]");
para1 = ReturnUser(tmp);
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pObr] = 1;
format(string, sizeof(string), "---------------==Вы получили диплом. Выдал(а): %s==---------------", sendername,ftext);
SendClientMessage(para1, COLOR_GREEN, string);
format(string, sizeof(string), "---------------==Вы выдали диплом. Был выдан: %s==---------------", giveplayer,ftext);
SendClientMessage(playerid, COLOR_GREEN, string);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать команду!");
}
}
}
PHP:
PlayerInfo[playerid][pObr] = 0;
PHP:
ini_setInteger(File,"pObr",PlayerInfo[playerid][pObr]);
PHP:
ini_setInteger(File,"pObr",PlayerInfo[playerid][pObr]);
PHP:
ini_getInteger(File,"pObr",PlayerInfo[playerid][pObr]);
PHP:
if (PlayerInfo[para1][pObr] < 1) return SendClientMessage(playerid, COLOR_GREY, "Гражданин без образования");
Последнее редактирование:
