Люди пожалуста помогите мне из The Godfather в CSOLS v1.02 перенести команду /ticket, а так же для неё /accept и /cancel
----------------------
Если я всё правельно понял, то вот скрипт из GF от и до (т.е. то что нужно взять) new TicketOffer[MAX_PLAYERS];
new TicketMoney[MAX_PLAYERS];
StartTime[playerid] = 0; TicketOffer[playerid] = 999; TicketMoney[playerid] = 0;
//ACCEPT COMMANDS (Cops)
if(strcmp(cmd,"/accept",true)==0 || strcmp(cmd, "/принять", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new x_job[256];
x_job = strtok(cmdtext, idx);
if(!strlen(x_job)) {
SendClientMessage(playerid, COLOR_WHITE, " |__________________ /Принять __________________|");
SendClientMessage(playerid, COLOR_WHITE, " ИСПОЛЬЗОВАНИЕ: /accept [название]");
SendClientMessage(playerid, COLOR_GREY, " Названиеs: Ticket");
SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
return 1;
}
if(strcmp(x_job,"ticket",true) == 0)
{
if(TicketOffer[playerid] < 999)
{
if(IsPlayerConnected(TicketOffer[playerid]))
{
if (ProxDetectorS(5.0, playerid, TicketOffer[playerid]))
{
GetPlayerName(TicketOffer[playerid], giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Вы заплатили штраф $%d выписанный ментом %s.", TicketMoney[playerid], giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s заплатил штраф $%d.", sendername, TicketMoney[playerid]);
SendClientMessage(TicketOffer[playerid], COLOR_LIGHTBLUE, string);
GivePlayerMoney(playerid, - TicketMoney[playerid]);
GivePlayerMoney(TicketOffer[playerid], TicketMoney[playerid]);
TicketOffer[playerid] = 999;
TicketMoney[playerid] = 0;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Мент не около вас !");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " No-one offered you a Ticket !");
return 1;
}
}
else { return 1; }
}//not connected
return 1;
}
//-----------------------------------------------------------------------------------
if(strcmp(cmd, "/ticket", true) == 0 || strcmp(cmd, "/штраф", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] != 2)
{
SendClientMessage(playerid, COLOR_GREY, " Вы не мент!");
return 1;
}
if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
{
SendClientMessage(playerid, COLOR_GREY, " Вы не при исполнении служебных обязанностей!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " ИСПОЛЬЗОВАНИЕ: /ticket [playerid/часть ника] [стоимость] [причина]");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " ИСПОЛЬЗОВАНИЕ: /ticket [playerid/часть ника] [стоимость] [причина]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 99999) { SendClientMessage(playerid, COLOR_GREY, " Билет может стоить не ниже 1 и не выше 99999 !"); return 1; }
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(8.0, playerid, giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, " ИСПОЛЬЗОВАНИЕ: /ticket [playerid/часть ника] [стоимость] [причина]");
return 1;
}
format(string, sizeof(string), "* Ты выписал играку %s штраф $%d, причина: %s", giveplayer, moneys, (result));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* МЕНТ %s выписал вам штраф $%d, причина: %s", sendername, moneys, (result));
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* Используйти /accept ticket, чтоб принять штраф или тебя посадят.");
TicketOffer[giveplayerid] = playerid;
TicketMoney[giveplayerid] = moneys;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Игрок находится не рядом с вами !");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Игрок не в игре !");
return 1;
}
}
return 1;
}
//------------------------------------------------------------------------------
if(strcmp(cmd,"/cancel",true)==0)
{
if(IsPlayerConnected(playerid))
{
new x_job[256];
x_job = strtok(cmdtext, idx);
if(!strlen(x_job)) {
SendClientMessage(playerid, COLOR_WHITE, " |__________________ /cancel __________________|");
SendClientMessage(playerid, COLOR_WHITE, " ИСПОЛЬЗОВАНИЕ: /cancel [название]");
SendClientMessage(playerid, COLOR_GREY, " Название: Ticket");
SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
return 1;
}
if(strcmp(x_job,"ticket",true) == 0) { TicketOffer[playerid] = 999; TicketMoney[playerid] = 0; }
else { return 1; }
format(string, sizeof(string), " * Вы отменили: %s.", x_job);
SendClientMessage(playerid, COLOR_YELLOW, string);
}//not connected
return 1;
}
Добавлено (04.06.2008, 00:59)
---------------------------------------------
Ну народ помогите же нубу!
Кто поможет, тому + 