1121
Умник
нашёл в 1 моде код) ну уж больно он прям... в оптимизации не силён, если не сложно оптимизируйте пожалуйста)
PHP:
if(ConnectedToPC[playerid] == 255)
{
new idx;
tmp = strtok(text, idx);
if ((strcmp("Contracts", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Contracts")))
{
if(PlayerInfo[playerid][pRank] < 4)
{
SendClientMessage(playerid, COLOR_GREY, "Только наёмник 4 ранга может найти и выполнить этот контракт.");
return 0;
}
SearchingHit(playerid);
return 0;
}
else if ((strcmp("News", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("News")))
{
new x_nr[256];
x_nr = strtok(text, idx);
if(!strlen(x_nr)) {
SendClientMessage(playerid, COLOR_WHITE, "|__________________ Hitman Agency News __________________|");
SendClientMessage(playerid, COLOR_WHITE, "Новость [number] новость удалить [number] или удалить всё");
format(string, sizeof(string), "1: %s :: Hitman: %s", News[hAdd1], News[hContact1]);
SendClientMessage(playerid, COLOR_GREY, string);
format(string, sizeof(string), "2: %s :: Hitman: %s", News[hAdd2], News[hContact2]);
SendClientMessage(playerid, COLOR_GREY, string);
format(string, sizeof(string), "3: %s :: Hitman: %s", News[hAdd3], News[hContact3]);
SendClientMessage(playerid, COLOR_GREY, string);
format(string, sizeof(string), "4: %s :: Hitman: %s", News[hAdd4], News[hContact4]);
SendClientMessage(playerid, COLOR_GREY, string);
format(string, sizeof(string), "5: %s :: Hitman: %s", News[hAdd5], News[hContact5]);
SendClientMessage(playerid, COLOR_GREY, string);
SendClientMessage(playerid, COLOR_WHITE, "|________________________________________________________|");
return 0;
}
if(strcmp(x_nr,"1",true) == 0)
{
if(PlacedNews[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, "Новость уже установлена, удалите сначало ненужную новость."); return 0; }
if(PlayerInfo[playerid][pRank] < 3) { SendClientMessage(playerid, COLOR_GREY, "Вы должны быть 3 ранга чтобы оставлять новые сообщения."); return 0; }
if(News[hTaken1] == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(strlen(text)-(strlen(x_nr)) < 9) { SendClientMessage(playerid, COLOR_GREY, "Следующая новость."); return 0; }
format(string, sizeof(string), "%s",right(text,strlen(text)-7)); strmid(News[hAdd1], string, 0, strlen(string), 255);
format(string, sizeof(string), "%s",sendername); strmid(News[hContact1], string, 0, strlen(string), 255);
News[hTaken1] = 1; PlacedNews[playerid] = 1;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "В установили новое сообщение, в агенстве наёмников.");
return 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Обявление 1 уже используется.");
return 0;
}
}
else if(strcmp(x_nr,"2",true) == 0)
{
if(PlacedNews[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, "Новость уже установлена, удалите сначало ненужную новость."); return 0; }
if(PlayerInfo[playerid][pRank] < 3) { SendClientMessage(playerid, COLOR_GREY, "Вы должны быть 3 ранга чтобы оставлять новые сообщения."); return 0; }
if(News[hTaken2] == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(strlen(text)-(strlen(x_nr)) < 9) { SendClientMessage(playerid, COLOR_GREY, "News Text to short."); return 0; }
format(string, sizeof(string), "%s",right(text,strlen(text)-7)); strmid(News[hAdd2], string, 0, strlen(string), 255);
format(string, sizeof(string), "%s",sendername); strmid(News[hContact2], string, 0, strlen(string), 255);
News[hTaken2] = 1; PlacedNews[playerid] = 1;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "В установили новое сообщение, в агенстве наёмников.");
return 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Обявление 2 уже используется.");
return 0;
}
}
else if(strcmp(x_nr,"3",true) == 0)
{
if(PlacedNews[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, "Новость уже установлена, удалите сначало ненужную новость."); return 0; }
if(PlayerInfo[playerid][pRank] < 3) { SendClientMessage(playerid, COLOR_GREY, "Вы должны быть 3 ранга чтобы оставлять новые сообщения."); return 0; }
if(News[hTaken3] == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(strlen(text)-(strlen(x_nr)) < 9) { SendClientMessage(playerid, COLOR_GREY, "Следующая новость."); return 0; }
format(string, sizeof(string), "%s",right(text,strlen(text)-7)); strmid(News[hAdd3], string, 0, strlen(string), 255);
format(string, sizeof(string), "%s",sendername); strmid(News[hContact3], string, 0, strlen(string), 255);
News[hTaken3] = 1; PlacedNews[playerid] = 1;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "В установили новое сообщение, в агенстве наёмников.");
return 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Обявление 3 уже используется.");
return 0;
}
}
else if(strcmp(x_nr,"4",true) == 0)
{
if(PlacedNews[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, "Новость уже установлена, удалите сначало ненужную новость."); return 0; }
if(PlayerInfo[playerid][pRank] < 3) { SendClientMessage(playerid, COLOR_GREY, "Вы должны быть 3 ранга чтобы оставлять новые сообщения."); return 0; }
if(News[hTaken4] == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(strlen(text)-(strlen(x_nr)) < 9) { SendClientMessage(playerid, COLOR_GREY, "Следующая новость."); return 0; }
format(string, sizeof(string), "%s",right(text,strlen(text)-7)); strmid(News[hAdd4], string, 0, strlen(string), 255);
format(string, sizeof(string), "%s",sendername); strmid(News[hContact4], string, 0, strlen(string), 255);
News[hTaken4] = 1; PlacedNews[playerid] = 1;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "В установили новое сообщение, в агенстве наёмников.");
return 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Обявление 4 уже используется.");
return 0;
}
}
else if(strcmp(x_nr,"5",true) == 0)
{
if(PlacedNews[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, "Новость уже установлена, удалите сначало ненужную новость."); return 0; }
if(PlayerInfo[playerid][pRank] < 3) { SendClientMessage(playerid, COLOR_GREY, "Вы должны быть 3 ранга чтобы оставлять новые сообщения."); return 0; }
if(News[hTaken5] == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(strlen(text)-(strlen(x_nr)) < 9) { SendClientMessage(playerid, COLOR_GREY, "News Text to short."); return 0; }
format(string, sizeof(string), "%s",right(text,strlen(text)-7)); strmid(News[hAdd5], string, 0, strlen(string), 255);
format(string, sizeof(string), "%s",sendername); strmid(News[hContact5], string, 0, strlen(string), 255);
News[hTaken5] = 1; PlacedNews[playerid] = 1;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "В установили новое сообщение, в агенстве наёмников.");
return 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Обявление 5 уже используется.");
return 0;
}
}
else if(strcmp(x_nr,"delete",true) == 0)
{
if(PlayerInfo[playerid][pRank] < 4)
{
SendClientMessage(playerid, COLOR_GREY, "Вы должны быть 4 Ранга чтобы удалять сообщения.");
return 0;
}
new string1[MAX_PLAYER_NAME];
new x_tel[256];
x_tel = strtok(text, idx);
if(!strlen(x_tel)) {
SendClientMessage(playerid, COLOR_WHITE, "News delete [number] or News delete all.");
return 0;
}
if(strcmp(x_tel,"1",true) == 0)
{
format(string, sizeof(string), "Nothing"); strmid(News[hAdd1], string, 0, strlen(string), 255);
format(string1, sizeof(string1), "No-one"); strmid(News[hContact1], string1, 0, strlen(string1), 255);
News[hTaken1] = 0;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы удалили сообщение (1) ");
return 0;
}
else if(strcmp(x_tel,"2",true) == 0)
{
format(string, sizeof(string), "Nothing"); strmid(News[hAdd2], string, 0, strlen(string), 255);
format(string1, sizeof(string1), "No-one"); strmid(News[hContact2], string1, 0, strlen(string1), 255);
News[hTaken2] = 0;
SendClientMessage(playerid, COLOR_LIGHTBLUE, " Вы удалили сообщение (2).");
return 0;
}
else if(strcmp(x_tel,"3",true) == 0)
{
format(string, sizeof(string), "Nothing"); strmid(News[hAdd3], string, 0, strlen(string), 255);
format(string1, sizeof(string1), "No-one"); strmid(News[hContact3], string1, 0, strlen(string1), 255);
News[hTaken3] = 0;
SendClientMessage(playerid, COLOR_LIGHTBLUE, " Вы удалили сообщение (3) .");
return 0;
}
else if(strcmp(x_tel,"4",true) == 0)
{
format(string, sizeof(string), "Nothing"); strmid(News[hAdd4], string, 0, strlen(string), 255);
format(string1, sizeof(string1), "No-one"); strmid(News[hContact4], string1, 0, strlen(string1), 255);
News[hTaken4] = 0;
SendClientMessage(playerid, COLOR_LIGHTBLUE, " Вы удалили сообщение (4) ");
return 0;
}
else if(strcmp(x_tel,"5",true) == 0)
{
format(string, sizeof(string), "Nothing"); strmid(News[hAdd5], string, 0, strlen(string), 255);
format(string1, sizeof(string1), "No-one"); strmid(News[hContact5], string1, 0, strlen(string1), 255);
News[hTaken5] = 0;
SendClientMessage(playerid, COLOR_LIGHTBLUE, " Вы удалили сообщение (5) ");
return 0;
}
else if(strcmp(x_tel,"all",true) == 0)
{
format(string, sizeof(string), "Nothing"); strmid(News[hAdd1], string, 0, strlen(string), 255);
format(string1, sizeof(string1), "No-one"); strmid(News[hContact1], string1, 0, strlen(string1), 255);
News[hTaken1] = 0;
format(string, sizeof(string), "Nothing"); strmid(News[hAdd2], string, 0, strlen(string), 255);
format(string1, sizeof(string1), "No-one"); strmid(News[hContact2], string1, 0, strlen(string1), 255);
News[hTaken2] = 0;
format(string, sizeof(string), "Nothing"); strmid(News[hAdd3], string, 0, strlen(string), 255);
format(string1, sizeof(string1), "No-one"); strmid(News[hContact3], string1, 0, strlen(string1), 255);
News[hTaken3] = 0;
format(string, sizeof(string), "Nothing"); strmid(News[hAdd4], string, 0, strlen(string), 255);
format(string1, sizeof(string1), "No-one"); strmid(News[hContact4], string1, 0, strlen(string1), 255);
News[hTaken4] = 0;
format(string, sizeof(string), "Nothing"); strmid(News[hAdd5], string, 0, strlen(string), 255);
format(string1, sizeof(string1), "No-one"); strmid(News[hContact5], string1, 0, strlen(string1), 255);
News[hTaken5] = 0;
SendClientMessage(playerid, COLOR_LIGHTBLUE, " Вы удалили все новости из списка новостей агенства.");
return 0;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "новое удаление [number] или удаление всех новостей.");
return 0;
}
}
else { return 0; }
}
else if ((strcmp("Givehit", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Givehit")))
{
if(PlayerInfo[playerid][pRank] < 4) return SendClientMessage(playerid, COLOR_GREY, "Вам нужен 4 ранг чтобы давать контракты наемникам.");
if(hitfound == 0) return SendClientMessage(playerid, COLOR_GREY, "Сначало посмотрите контракт в /portable>>Contracts.");
tmp = strtok(text, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD1, "Используй: /givehit [id игрока]");
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pMember] != 8 && PlayerInfo[giveplayerid][pLeader] != 8) return SendClientMessage(playerid, COLOR_GREY, "Этот игрок не Хитман.");
if(GoChase[giveplayerid] < 999) return SendClientMessage(playerid, COLOR_GREY, "Этот наёмник уже занят контрактом.");
if(IsPlayerConnected(hitidd))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giver, sizeof(giver));
GetPlayerName(hitidd, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "%s назначил %s убить %s[%d] за %d$.", sendername, giver, giveplayer, hitidd, PlayerInfo[hitidd][pHeadValue]);
SendFamilyMessage(8, COLOR_YELLOW, string);
GoChase[giveplayerid] = hitidd;
GetChased[hitidd] = giveplayerid;
GotHit[hitidd] = 1;
hitidd = 0;
hitfound = 0;
return 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Человек на которго контракт щас не в игре, посмотрите список контрактов.");
return 0;
}
}
return 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Этот Хитман не в игре.");
return 0;
}
}
else if ((strcmp("Ranks", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Ranks")))
{
SendClientMessage(playerid, COLOR_WHITE, "|__________________ Ранги Агенства __________________|");
for(new i=0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 7||PlayerInfo[i][pLeader] == 7)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "%s[%d]: Ранг %d", giveplayer,i,PlayerInfo[i][pRank]);
SendClientMessage(playerid, COLOR_GREY, string);
}
}
}
}
else if ((strcmp("Order", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Order")))
{
if(OrderReady[playerid] > 0) return SendClientMessage(playerid, COLOR_GREY, "Вы уже заказали пакет.");
tmp = strtok(text, idx);
if ((strcmp("1", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("1")))
{
if(PlayerInfo[playerid][pRank] < 1) return SendClientMessage(playerid, COLOR_WHITE, "Ваш Ранг - не достаточно высокий, чтобы заказать этот пакет!.");
if(PlayerInfo[playerid][pMoney] < 2500) return SendClientMessage(playerid, COLOR_WHITE,"Вы не можете позволить себе этот пакет.");
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы заказали себе пакет 1 ($2500), он будет доставлен до вашей двери Head Quarter's.");
OrderReady[playerid] = 1;
return 0;
}
}
else if ((strcmp("2", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("2")))
{
if(PlayerInfo[playerid][pRank] < 2) return SendClientMessage(playerid, COLOR_WHITE, "Ваш Ранг - не соответствует заказанному пакету!.");
if(PlayerInfo[playerid][pMoney] < 3000) return SendClientMessage(playerid, COLOR_WHITE,"Вы не можете позволить себе этот Пакет.");
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы заказали себе пакет 2 ($3000), он будет доставлен до вашей двери Head Quarter's.");
OrderReady[playerid] = 2;
return 0;
}
}
else if ((strcmp("3", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("3")))
{
if(PlayerInfo[playerid][pRank] < 2) return SendClientMessage(playerid, COLOR_WHITE, "Ваш Ранг - не соответствует заказанному пакету!.");
if(PlayerInfo[playerid][pMoney] < 3000) return SendClientMessage(playerid, COLOR_WHITE,"Вы не можете позволить себе этот Пакет.");
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы заказали себе пакет 3 ($3000), он будет доставлен до вашей двери Head Quarter's.");
OrderReady[playerid] = 3;
return 0;
}
}
else if ((strcmp("4", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("4")))
{
if(PlayerInfo[playerid][pRank] < 3) return SendClientMessage(playerid, COLOR_WHITE, "Ваш Ранг - не соответствует заказанному пакету!.");
if(PlayerInfo[playerid][pMoney] < 4000) return SendClientMessage(playerid, COLOR_WHITE,"Вы не можете позволить себе этот Пакет.");
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы заказали себе пакет 4 ($4000), он будет доставлен до вашей двери Head Quarter's.");
OrderReady[playerid] = 4;
return 0;
}
}
else if ((strcmp("5", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("5")))
{
if(PlayerInfo[playerid][pRank] < 3) return SendClientMessage(playerid, COLOR_WHITE, "Ваш Ранг - не соответствует заказанному пакету!.");
if(PlayerInfo[playerid][pMoney] < 4000) return SendClientMessage(playerid, COLOR_WHITE,"Вы не можете позволить себе этот Пакет.");
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы заказали себе пакет 5 ($4000), он будет доставлен до вашей двери Head Quarter's.");
OrderReady[playerid] = 5;
return 0;
}
}
else if ((strcmp("6", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("6")))
{
if(PlayerInfo[playerid][pRank] < 4) return SendClientMessage(playerid, COLOR_WHITE, "Ваш Ранг - не соответствует заказанному пакету!.");
if(PlayerInfo[playerid][pMoney] < 4250) return SendClientMessage(playerid, COLOR_WHITE,"Вы не можете позволить себе этот Пакет.");
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы заказали себе пакет 6 ($4250), он будет доставлен до вашей двери Head Quarter's.");
OrderReady[playerid] = 6;
return 0;
}
}
else if ((strcmp("7", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("7")))
{
if(PlayerInfo[playerid][pRank] < 4) { SendClientMessage(playerid, COLOR_WHITE, "Ваш Ранг - не высокий достаточно, чтобы заказать этот пакет!."); return 0; }
if(PlayerInfo[playerid][pMoney] < 4250) return SendClientMessage(playerid, COLOR_WHITE,"Вы не можете позволить себе этот Пакет.");
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы заказали себе пакет 7 ($4250), он будет доставлен до вашей двери Head Quarter's .");
OrderReady[playerid] = 7;
return 0;
}
}
else
{
SendClientMessage(playerid, COLOR_LAWNGREEN, "--------------------[ Доступные наборы ]--------------------");
if(PlayerInfo[playerid][pRank] >= 1) { SendClientMessage(playerid, COLOR_GREY, "|(1) ( $2500 ) Rank 1 - 5: Knife, Eagle, Shotgun, Sniper"); }
if(PlayerInfo[playerid][pRank] >= 2) { SendClientMessage(playerid, COLOR_GREY, "|(2) ( $3000 ) Rank 2 - 5: Knife, SD Pistols, M4, Shotgun, Sniper"); }
if(PlayerInfo[playerid][pRank] >= 2) { SendClientMessage(playerid, COLOR_GREY, "|(3) ( $3000 ) Rank 2 - 5: Knife, SD Pistols, AK47, Shotgun, Sniper"); }
if(PlayerInfo[playerid][pRank] >= 3) { SendClientMessage(playerid, COLOR_GREY, "|(4) ( $4000 ) Rank 3 - 5: Knife, SD Pistols, M4, Shotgun, Sniper"); }
if(PlayerInfo[playerid][pRank] >= 3) { SendClientMessage(playerid, COLOR_GREY, "|(5) ( $4000 ) Rank 3 - 5: Knife, SD Pistols, AK47, Shotgun, Sniper"); }
if(PlayerInfo[playerid][pRank] >= 4) { SendClientMessage(playerid, COLOR_GREY, "|(6) ( $4250 ) Rank 4 - 5: Knife, SD Pistols, M4, Shotgun, Sniper"); }
if(PlayerInfo[playerid][pRank] >= 4) { SendClientMessage(playerid, COLOR_GREY, "|(7) ( $4250 ) Rank 4 - 5: Knife, SD Pistols, AK47, Shotgun, Sniper"); }
SendClientMessage(playerid, COLOR_LAWNGREEN, "--------------------------------------------------------------------");
return 0;
}
}
else if ((strcmp("Logout", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Logout")))
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "У вас есть сообщение, подключите свой ПК к агентсву.");
ConnectedToPC[playerid] = 0;
return 0;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "|___ Hitman Agency ___|");
SendClientMessage(playerid, COLOR_YELLOW2, "| - News");
SendClientMessage(playerid, COLOR_YELLOW2, "| - Contracts");
SendClientMessage(playerid, COLOR_YELLOW2, "| - Givehit");
SendClientMessage(playerid, COLOR_YELLOW2, "| - Backup");
SendClientMessage(playerid, COLOR_YELLOW2, "| - Order");
SendClientMessage(playerid, COLOR_YELLOW2, "| - Ranks");
SendClientMessage(playerid, COLOR_YELLOW2, "| - Logout");
SendClientMessage(playerid, COLOR_YELLOW2, "|");
SendClientMessage(playerid, COLOR_WHITE, "|______________|00:00|");
return 0;
}
return 0;
}
