Merlin
Умник
Автор вырезки: Merlin
Мод: Eliment RolePlay
Ко всем new Добавим
PHP:
new bool:MinerJoins[MAX_PLAYERS], MinerP[2], MinerCP[2][MAX_PLAYERS], MinerPay[MAX_PLAYERS];
new RandomMiner[][1] =
{
{23},
{36},
{31},
{56},
{27},
{39},
{51},
{28},
{45}
};
PHP:
playerid ID игрока, который подобрал пикап.
PHP:
pickupid ID пикапа, возвращаемый функцией CreatePickup.
PHP:
for(new t=0;t<TOTAL_TELEPORT;t++)//цикл
{
if(pickupid == TeleportInfo[t][tPickup])//проверка на пикап который встали
{
SetPlayerPos(playerid,TeleportInfo[t][txX],TeleportInfo[t][txY],TeleportInfo[t][txZ]);//тп на координаты
SetPlayerInterior(playerid, TeleportInfo[t][txIntor]);//устанавливаем инт
SetPlayerVirtualWorld(playerid, TeleportInfo[t][txVW]);//устанавливаем мир
}
}
if(pickupid == MinerP[0])
{
if(MinerJoins[playerid] == false)
{
new string[512];
format(string, sizeof(string),"{FFFFFF}Здраствуйте...\nВы находитесь на территории карьера по добычи железа\nНаш карьер постовляет железо заводам штата\nНам сейчас нужны люди для работы на заводе\nМы предлогаем тебе немного поработать на Карьере. Ты согласен?\n\n\t{FF9900}Примечание:\n\t-Работать можно сколько угодно\n\t-За каждый кг ты будешь получать 5$");
ShowPlayerDialog(playerid,160, DIALOG_STYLE_MSGBOX,"{6699FF}Работа | {FFFFFF}Шахтера", string, "Согласен", "Не согласен");
}
else ShowPlayerDialog(playerid, 160, DIALOG_STYLE_MSGBOX, "{6699FF}Работа | {FFFFFF}Шахтера", "{FFFFFF}Вы хотите собрать свои честно заработаные деньги?\nВы так же можете продолжать работу", "Заберу", "Продолжу");
}
if(pickupid == MinerP[1])
{
new string[520];
SetPlayerCameraPos(playerid, 517.1011, 818.7740, -9.1641);
SetPlayerCameraLookAt(playerid, 517.8467, 819.4469, -9.5541, 1);
TogglePlayerControllable(playerid, 0);
format(string, sizeof(string), "{FFFFFF}Добро пожаловать на карьер по добычи железа штата {6699FF}\n{FFFFFF}Тут вы можете заработать денег.\nШахтер одна из важных работ нашего штат.\nБез нашего железа завод не сможет производить продукты\nРаботать шахтером может любой и в любое время суток.\nЦена за 1 кг железа 5$.");
ShowPlayerDialog(playerid, 17, DIALOG_STYLE_MSGBOX, "{6699FF}Работа | {FFFFFF}Шахтер | Информация", string, "Ок", "");
}
PHP:
playerid ID игрока, который совершил действие с диалогом
PHP:
dialogid ID диалога, в котором игрок совершил действие.
PHP:
response Возвращает 1 - при выборе первой кнопки и 0 при выборе второй кнопки
PHP:
listitem ID выбранного пункта из списка
PHP:
inputtext[] Текст, введенный игроком в поле ввода или текст из выбранного пункта списка
PHP:
//=========
case 160:
{
if(response)
{
if(MinerJoins[playerid] == false)
{
MinerJoins[playerid] = true;
SetPlayerSkin(playerid, 16);
ApplyAnimation(playerid, "CARRY", "liftup", 4.1, 0, 0, 0, 0, 0);
ApplyAnimation(playerid, "SWORD", "sword_4", 4.0, 1, 0, 0, 0, 0);
ClearAnimations(playerid);
SetPlayerAttachedObject(playerid, 1, 18634, 6, 0.078222, 0.000000, 0.110844, 298.897308, 264.126861, 193.350555, 1.000000, 1.000000, 1.000000 );
switch(random(8))
{
case 0: MinerCP[0][playerid] = CreateDynamicCP(573.8541,936.7878,-42.1241, 1, 0, 0, playerid, 100);
case 1: MinerCP[0][playerid] = CreateDynamicCP(569.7633,935.4153,-42.0132, 1, 0, 0, playerid, 100);
case 2: MinerCP[0][playerid] = CreateDynamicCP(564.0020,933.9018,-42.0097, 1, 0, 0, playerid, 100);
case 3: MinerCP[0][playerid] = CreateDynamicCP(556.6031,932.1396,-42.0140, 1, 0, 0, playerid, 100);
case 4: MinerCP[0][playerid] = CreateDynamicCP(532.6036,919.5311,-42.2788, 1, 0, 0, playerid, 100);
case 5: MinerCP[0][playerid] = CreateDynamicCP(584.7632,940.2222,-42.8882, 1, 0, 0, playerid, 100);
case 6: MinerCP[0][playerid] = CreateDynamicCP(594.8290,941.3293,-41.1934, 1, 0, 0, playerid, 100);
case 7: MinerCP[0][playerid] = CreateDynamicCP(601.6733,941.4015,-39.6197, 1, 0, 0, playerid, 100);
}
}
else if(MinerJoins[playerid] == true)
{
new string[128];
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
MinerJoins[playerid] = false;
if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
GivePlayerMoney(playerid, MinerPay[playerid]*5);
format(string, sizeof(string), "~g~+%d$", MinerPay[playerid]*5);
GameTextForPlayer(playerid, string, 5000, 1);
DestroyDynamicCP(MinerCP[0][playerid] || MinerCP[1][playerid]);
format(string, sizeof(string), "Вы закончили рабочий день.Всего вы пренисли {FFFFFF}%d кг{33AA33} сырья. Ваш заработок {FFFFFF}%d$", MinerPay[playerid], MinerPay[playerid]*5);
SendClientMessage(playerid, COLOR_GREEN, string);
}
}
}
case 17: if(response) SetCameraBehindPlayer(playerid),TogglePlayerControllable(playerid, 1);
PHP:
forward Joins(playerid);
public Joins(playerid)
{
new JoinsTimer[MAX_PLAYERS];
if(MinerJoins[playerid] == true)
{
ApplyAnimation(playerid, "CARRY", "liftup", 4.1, 0, 0, 0, 0, 0);
SetPlayerAttachedObject(playerid, 1, 2912, 5, -0.0370, 0.1920, -0.1909, 8.09, 15.10, -3.50, 0.57, 0.40, 1.00);
JoinsTimer[playerid] = SetTimerEx("JoinSklad",1500,false,"i", playerid);
}
return true;
}
forward JoinSklad(playerid);
public JoinSklad(playerid)
{
if(MinerJoins[playerid] == true)
{
ClearAnimations(playerid);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
MinerCP[1][playerid] = CreateDynamicCP(562.0928,892.8556,-43.1236, 2, 0, 0, playerid, 300);
}
return true;
}
PHP:
MinerP[0] = CreateDynamicPickup(1275, 23, 601.8524,867.9759,-42.9609, 0, 0, -1, 100);
MinerP[1] = CreateDynamicPickup(1239, 2, 586.1956,869.9437,-42.4973, 0, 0, -1, 100);
PHP:
new JoinsTimer[MAX_PLAYERS];
if(IsPlayerInRangeOfPoint(playerid, 1,573.8541,936.7878,-42.1241) ||
IsPlayerInRangeOfPoint(playerid, 1, 569.7633,935.4153,-42.0132) ||
IsPlayerInRangeOfPoint(playerid, 1, 564.0020,933.9018,-42.0097) ||
IsPlayerInRangeOfPoint(playerid, 1, 556.6031,932.1396,-42.0140) ||
IsPlayerInRangeOfPoint(playerid, 1, 532.6036,919.5311,-42.2788) ||
IsPlayerInRangeOfPoint(playerid, 1, 584.7632,940.2222,-42.8882) ||
IsPlayerInRangeOfPoint(playerid, 1, 594.8290,941.3293,-41.1934) ||
IsPlayerInRangeOfPoint(playerid, 1, 601.6733,941.4015,-39.6197))
{
ApplyAnimation(playerid, "SWORD", "sword_4", 4.1, 1, 1, 1, 1, 0);
JoinsTimer[playerid] = SetTimerEx("Joins",9800,false,"i",playerid);
DestroyDynamicCP(MinerCP[0][playerid]);
}
if(IsPlayerInRangeOfPoint(playerid, 2,562.0928,892.8556,-43.1236))
{
new minerkol[MAX_PLAYERS], string[128];
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
minerkol[playerid] = RandomMiner[random(sizeof(RandomMiner))][0];
MinerPay[playerid] += minerkol[playerid];
format(string, sizeof(string), "Вы пренисли {FFFFFF}%d кг {33AA33}сырья. Всего вы пренисли {FFFFFF}%d кг {33AA33}сырь.",minerkol[playerid], MinerPay[playerid]);
SendClientMessage(playerid, COLOR_GREEN, string);
SetPlayerAttachedObject(playerid, 1, 18634, 6, 0.078222, 0.000000, 0.110844, 298.897308, 264.126861, 193.350555, 1.000000, 1.000000, 1.000000 );
DestroyDynamicCP(MinerCP[1][playerid]);
ApplyAnimation(playerid, "CARRY", "PUTDWN", 4.1, 0, 1, 1, 0, 0, 1);
switch(random(8))
{
case 0: MinerCP[0][playerid] = CreateDynamicCP(573.8541,936.7878,-42.1241, 1, 0, 0, playerid, 100);
case 1: MinerCP[0][playerid] = CreateDynamicCP(569.7633,935.4153,-42.0132, 1, 0, 0, playerid, 100);
case 2: MinerCP[0][playerid] = CreateDynamicCP(564.0020,933.9018,-42.0097, 1, 0, 0, playerid, 100);
case 3: MinerCP[0][playerid] = CreateDynamicCP(556.6031,932.1396,-42.0140, 1, 0, 0, playerid, 100);
case 4: MinerCP[0][playerid] = CreateDynamicCP(532.6036,919.5311,-42.2788, 1, 0, 0, playerid, 100);
case 5: MinerCP[0][playerid] = CreateDynamicCP(584.7632,940.2222,-42.8882, 1, 0, 0, playerid, 100);
case 6: MinerCP[0][playerid] = CreateDynamicCP(594.8290,941.3293,-41.1934, 1, 0, 0, playerid, 100);
case 7: MinerCP[0][playerid] = CreateDynamicCP(601.6733,941.4015,-39.6197, 1, 0, 0, playerid, 100);
}
}
PHP:
enum tTeleport
{
tID,//ид в базе
tModel,//модель
Float:tX,//Координата пикапа
Float:tY,//Координата пикапа
Float:tZ,//Координата пикапа
tVW,//ид мира пикапа
tIntor,//ид интора пикапа
Float:txX,//Координата телепорта
Float:txY,//Координата телепорта
Float:txZ,//Координата телепорта
txVW,//ид мира телепорта
txIntor,//ид мира телепорта
tPickup//используется для создания пикапа
}
new TeleportInfo[MAX_TELEPORT][tTeleport];
new TOTAL_TELEPORT = 0;
