Павел57rus
Умник
Помогите пожалуйста вшить FS дравосек в мод, а то баги исправил и хз как вшить когда пробую павно вылетает xD
Вот сам FS http://pawno-info.ru/threads/69476-Fs-дровосек
А вот код этого скрипта без моего редактирования
Буду благодарен
Ну и + само сабой
---------- Post added at 23:13 ---------- Previous post was at 22:18 ----------
подниму
Вот сам FS http://pawno-info.ru/threads/69476-Fs-дровосек
А вот код этого скрипта без моего редактирования
PHP:
#include <a_samp>
new picjob1;
new bool:PlayerStartJob1[MAX_PLAYERS];
new bool:PlayerOnJob1[MAX_PLAYERS];
new GetPlayerMetall1[MAX_PLAYERS];
new GetPlayerMetallEx1[MAX_PLAYERS];
new AllPlayerMetall1[MAX_PLAYERS];
new AllPlayerMetallEx1[MAX_PLAYERS];
new ExtraMetall1[MAX_PLAYERS];
new PlayerSavedSkin1[MAX_PLAYERS];
#define DIALOG_STAR1 49
#define DIALOG_END1 50
forward TimerGiveMiner1(playerid);
forward TimerGiveMinerEx1(playerid);
forward UpdateExit1();
forward UpdateDoors1();
public OnFilterScriptInit()
{
CreateObject(18248,-2012.59997559,-2347.10009766,37.70000076,0.00000000,0.00000000,50.00000000); //object(cuntwjunk01) (1)
CreateObject(13369,-1995.00000000,-2343.60009766,32.00000000,0.00000000,0.00000000,0.00000000); //object(sw_logs07) (1)
CreateObject(16337,-1983.19995117,-2397.39990234,29.60000038,0.00000000,0.00000000,0.00000000); //object(des_cranecontrol) (1)
CreateObject(3214,-2003.30004883,-2371.39990234,25.00000000,0.00000000,0.00000000,45.00000000); //object(quarry_crusher) (1)
CreateObject(1226,-1978.00000000,-2391.30004883,33.50000000,0.00000000,0.00000000,0.00000000); //object(lamppost3) (1)
CreateObject(1226,-2002.09997559,-2361.89990234,33.50000000,0.00000000,0.00000000,90.00000000); //object(lamppost3) (2)
CreateObject(2780,-2001.69995117,-2370.00000000,30.00000000,0.00000000,0.00000000,0.00000000); //object(cj_smoke_mach) (1)
CreateObject(2780,-2005.00000000,-2373.30004883,31.20000076,0.00000000,0.00000000,30.00000000); //object(cj_smoke_mach) (2)
CreateObject(18565,-2000.63281250,-2372.55468750,30.71093750,0.00000000,0.00000000,46.99951172); //object(cs_logs03) (1)
CreateObject(18565,-1995.40002441,-2378.30004883,31.00000000,0.00000000,0.00000000,46.99951172); //object(cs_logs03) (2)
CreateObject(18565,-1995.30004883,-2376.60009766,31.00000000,0.00000000,0.00000000,90.00000000); //object(cs_logs03) (3)
CreateObject(1410,-1994.19995117,-2384.69995117,30.39999962,0.00000000,0.00000000,50.00000000); //object(dyn_f_r_wood_1b) (1)
CreateObject(1410,-1991.19995117,-2381.19995117,30.39999962,0.00000000,0.00000000,49.99877930); //object(dyn_f_r_wood_1b) (2)
CreateObject(1410,-1988.30004883,-2377.69995117,30.39999962,0.00000000,0.00000000,49.99877930); //object(dyn_f_r_wood_1b) (3)
CreateObject(736,-1952.59997559,-2413.19995117,40.79999924,0.00000000,0.00000000,0.00000000); //object(ceasertree01_lvs) (1)
CreateObject(736,-1960.09997559,-2405.30004883,40.79999924,0.00000000,0.00000000,0.00000000); //object(ceasertree01_lvs) (2)
CreateObject(736,-1967.09997559,-2399.00000000,40.79999924,0.00000000,0.00000000,0.00000000); //object(ceasertree01_lvs) (3)
CreateObject(736,-1973.59997559,-2392.50000000,40.79999924,0.00000000,0.00000000,0.00000000); //object(ceasertree01_lvs) (4)
Create3DTextLabel("Дерево {00FF00}Дуб\n{C1C1C1}Для начала работы подойдите к дереву",0xFFFFFFFF, -1931.2471,-2361.0310,30.8343,30,0,1);
Create3DTextLabel("Дерево {00FF00}Сосна\n{C1C1C1}Для начала работы подойдите к дереву",0xFFFFFFFF, -1914.4443,-2369.0176,29.8065,30,0,1);
Create3DTextLabel("Дерево {00FF00}Дуб\n{C1C1C1}Для начала работы подойдите к дереву",0xFFFFFFFF, -1903.7417,-2361.6228,31.1536,30,0,1);
Create3DTextLabel("Дерево {00FF00}Пихта\n{C1C1C1}Для начала работы подойдите к дереву",0xFFFFFFFF, -1913.1897,-26341.5491,34.3723,30,0,1);
Create3DTextLabel("Дерево {00FF00}Ель\n{C1C1C1}Для начала работы подойдите к дереву",0xFFFFFFFF, -1941.4768,-2389.6550,30.4179,30,0,1);
picjob1 = CreatePickup(1275, 23, -1991.5521,-2389.9045,30.6250, 0);
Create3DTextLabel("Работа лесоруба",0x00FF00FF, -1991.5521,-2389.9045,30.6250,20.0,0);
return 1;
}
public OnPlayerConnect(playerid)
{
PlayerOnJob1[playerid] = false;
PlayerStartJob1[playerid] = false;
GetPlayerMetall1[playerid] = 0;
AllPlayerMetall1[playerid] = 0;
GetPlayerMetallEx1[playerid] = 0;
AllPlayerMetallEx1[playerid] = 0;
ExtraMetall1[playerid] = 0;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
PlayerOnJob1[playerid] = false;
PlayerStartJob1[playerid] = false;
GetPlayerMetall1[playerid] = 0;
AllPlayerMetall1[playerid] = 0;
GetPlayerMetallEx1[playerid] = 0;
AllPlayerMetallEx1[playerid] = 0;
ExtraMetall1[playerid] = 0;
return 1;
}
public OnPlayerUpdate(playerid)
{
if(PlayerOnJob1[playerid] && !PlayerStartJob1[playerid] && !IsPlayerInAnyVehicle(playerid))
{
if(IsPlayerInRangeOfPoint(playerid, 1, -1931.2471,-2361.0310,30.8343)
|| IsPlayerInRangeOfPoint(playerid, 1, -1914.4443,-2369.0176,29.8065)
|| IsPlayerInRangeOfPoint(playerid, 1, -1903.7417,-2361.6228,31.1536))
{
SendClientMessage(playerid, -1, "Вы начали добывать дрова.");
SetTimerEx("TimerGiveMiner1", 5000, false, "i", playerid);
ApplyAnimation(playerid, "CHAINSAW", "weapon_csaw", 4.0, 1, 0, 0, 0, 0);
PlayerStartJob1[playerid] = true;
}
if(IsPlayerInRangeOfPoint(playerid, 1, -1913.1897,-2341.5491,34.3723)
|| IsPlayerInRangeOfPoint(playerid, 1, -1941.4768,-2389.6550,30.4179))
{
SendClientMessage(playerid, -1, "Вы начали добывать дрова.");
SetTimerEx("TimerGiveMinerEx1", 5000, false, "i",playerid);
ClearAnimations(playerid);
ApplyAnimation(playerid, "CHAINSAW", "weapon_csaw", 4.0, 1, 0, 0, 0, 0);
PlayerStartJob1[playerid] = true;
}
return 1;
}
if(PlayerStartJob1[playerid])
{
if(IsPlayerApplyAnimation(playerid, "FALL_back")
|| IsPlayerApplyAnimation(playerid, "FALL_collapse")
|| IsPlayerApplyAnimation(playerid, "FALL_fall")
|| IsPlayerApplyAnimation(playerid, "FALL_front")
|| IsPlayerApplyAnimation(playerid, "FALL_glide")
|| IsPlayerApplyAnimation(playerid, "FALL_land")
|| IsPlayerApplyAnimation(playerid, "FALL_skyDive")
|| IsPlayerApplyAnimation(playerid, "JUMP_glide")
|| IsPlayerApplyAnimation(playerid, "JUMP_land")
|| IsPlayerApplyAnimation(playerid, "JUMP_launch")
|| IsPlayerApplyAnimation(playerid, "JUMP_launch_R")
|| IsPlayerApplyAnimation(playerid, "WEAPON_csaw"))
{
if(!IsPlayerInRangeOfPoint(playerid, 3, -1931.2471,-2361.0310,30.8343)
&& !IsPlayerInRangeOfPoint(playerid, 3, -1914.4443,-2369.0176,29.8065)
&& !IsPlayerInRangeOfPoint(playerid, 3, -1903.7417,-2361.6228,31.1536)
&& !IsPlayerInRangeOfPoint(playerid, 3, -1913.1897,-2341.5491,34.3723)
&& !IsPlayerInRangeOfPoint(playerid, 3, -1941.4768,-2389.6550,30.4179))
{
SendClientMessage(playerid, -1, "Вы уронили дрова.");
DisablePlayerCheckpoint(playerid);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 1);
PlayerStartJob1[playerid] = false;
RemovePlayerAttachedObject(playerid, 4);
SetPlayerAttachedObject(playerid, 3, 341, 6, 0.078222, 0.000000, 0.110844, 180.897308, 264.126861, 193.350555, 1.000000, 1.000000, 1.000000);
GetPlayerMetall1[playerid] = 0;
GetPlayerMetallEx1[playerid] = 0;
return 1;
}
}
}
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == picjob1)
{
if(!PlayerOnJob1[playerid])
{
ShowPlayerDialog(playerid, DIALOG_STAR1, DIALOG_STYLE_MSGBOX, "{FFFFFF}Работа лесоруба", "{FFFFFF}Вы согласны устроится на работу {FFFF00}лесоруба?", "Да", "Нет");
}
else
{
ShowPlayerDialog(playerid, DIALOG_END1, DIALOG_STYLE_MSGBOX, "{FFFFFF}Работа лесоруба", "{FFFFFF}Вы согласны уволится с работы {FFFF00}лесоруба?", "Да", "Нет");
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_STAR1 && response)
{
PlayerStartJob1[playerid] = false;
PlayerOnJob1[playerid] = true;
PlayerSavedSkin1[playerid] = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, 16);
SetPlayerAttachedObject(playerid, 3, 341, 6, 0.078222, 0.000000, 0.110844, 180.897308, 264.126861, 193.350555, 1.000000, 1.000000, 1.000000);
SendClientMessage(playerid, -1, "Вы устроились на работу лесоруба. {00FF00}Места добычи дров находится возле деревьев.");
return 1;
}
if(dialogid == DIALOG_END1 && response)
{
new string[128];
new money = AllPlayerMetall1[playerid]*2+AllPlayerMetallEx1[playerid]*5;
PlayerStartJob1[playerid] = false;
PlayerOnJob1[playerid] = false;
GetPlayerMetall1[playerid] = 0;
AllPlayerMetall1[playerid] = 0;
GetPlayerMetallEx1[playerid] = 0;
AllPlayerMetallEx1[playerid] = 0;
ExtraMetall1[playerid] = 0;
SetPlayerSkin(playerid, PlayerSavedSkin1[playerid]);
GivePlayerMoney(playerid, money);
format(string, sizeof(string), "Вы закончили работу. Ваш заработок: {00FF00}$%d", money);
SendClientMessage(playerid, -1, string);
RemovePlayerAttachedObject(playerid, 3);
RemovePlayerAttachedObject(playerid, 4);
DisablePlayerCheckpoint(playerid);
return 1;
}
return 0;
}
public TimerGiveMiner1(playerid)
{
RemovePlayerAttachedObject(playerid, 3);
SendClientMessage(playerid, -1, "Вы добыли гнилые дрова. Теперь отнесите их на склад.");
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 1, 1);
SetPlayerAttachedObject(playerid, 4, 1463, 1, 0.184699, 0.426247, 0.000000, 259.531341, 80.949592, 0.000000, 0.476124, 0.468181, 0.470769);
SetPlayerCheckpoint(playerid, -1996.7354,-2374.3306,30.9409, 3.0);
ClearAnimations(playerid);
ExtraMetall1[playerid] = 1;
return 1;
}
public TimerGiveMinerEx1(playerid)
{
RemovePlayerAttachedObject(playerid, 3);
SendClientMessage(playerid, -1, "Вы добыли отличные дрова. Теперь отнесите их на склад.");
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 1, 1);
SetPlayerAttachedObject(playerid, 4, 1463, 1, 0.184699, 0.426247, 0.000000, 259.531341, 80.949592, 0.000000, 0.476124, 0.468181, 0.470769);
SetPlayerCheckpoint(playerid, -1996.7354,-2374.3306,30.9409, 3.0);
ClearAnimations(playerid);
ExtraMetall1[playerid] = 1;
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
if(PlayerStartJob1[playerid])
{
new string[256];
DisablePlayerCheckpoint(playerid);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 1);
PlayerStartJob1[playerid] = false;
RemovePlayerAttachedObject(playerid, 4);
SetPlayerAttachedObject(playerid, 4, 341, 6, 0.078222, 0.000000, 0.110844, 180.897308, 264.126861, 193.350555, 1.000000, 1.000000, 1.000000);
if(ExtraMetall1[playerid] == 1)
{
GetPlayerMetallEx1[playerid] = 20+random(20);
AllPlayerMetallEx1[playerid] = AllPlayerMetallEx1[playerid] + GetPlayerMetallEx1[playerid];
format(string, sizeof(string), "Вы принесли {9ACD32}%d{FFFFFF} кг. дров.", GetPlayerMetallEx1[playerid]);
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "+%d", GetPlayerMetallEx1[playerid]);
SetPlayerChatBubble(playerid, string, 0x00FF00FF, 20.0, 3000);
GetPlayerMetallEx1[playerid] = 0;
}
else
{
GetPlayerMetallEx1[playerid] = 20+random(40);
AllPlayerMetall1[playerid] = AllPlayerMetall1[playerid] + GetPlayerMetall1[playerid];
format(string, sizeof(string), "Вы принесли {FFA500}%d{FFFFFF} кг. дров.", GetPlayerMetall1[playerid]);
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "+%d", GetPlayerMetall1[playerid]);
SetPlayerChatBubble(playerid, string, 0x00FF00FF, 20.0, 3000);
GetPlayerMetall1[playerid] = 0;
}
format(string, sizeof(string), "Всего принесено дров: {FFA500}Гнелых: {FFFFFF}%d {9ACD32}Хороших: {FFFFFF}%d", AllPlayerMetall1[playerid], AllPlayerMetallEx1[playerid]);
SendClientMessage(playerid, -1, string);
return 1;
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_FIRE && PlayerStartJob1[playerid])
{
if(!IsPlayerInRangeOfPoint(playerid, 3, -1854.7035,-1650.9668,25.7248)
&& !IsPlayerInRangeOfPoint(playerid, 3, -1803.5344,-1655.2640,25.8294)
&& !IsPlayerInRangeOfPoint(playerid, 3, -1788.5780,-1640.7179,27.0669)
&& !IsPlayerInRangeOfPoint(playerid, 3, -1869.1316,-1634.7915,-58.500)
&& !IsPlayerInRangeOfPoint(playerid, 3, -1868.9603,-1643.6682,-58.046))
{
SendClientMessage(playerid, -1, "Вы уронили дерево.");
DisablePlayerCheckpoint(playerid);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 1);
PlayerStartJob1[playerid] = false;
RemovePlayerAttachedObject(playerid, 4);
SetPlayerAttachedObject(playerid, 3, 341, 6, 0.078222, 0.000000, 0.110844, 180.897308, 264.126861, 193.350555, 1.000000, 1.000000, 1.000000);
GetPlayerMetall1[playerid] = 0;
GetPlayerMetallEx1[playerid] = 0;
}
}
return 1;
}
stock IsPlayerApplyAnimation(playerid, animation[])
{
if(!GetPlayerAnimationIndex(playerid)) return 0;
new animlib[32], animname[32];
GetAnimationName(GetPlayerAnimationIndex(playerid), animlib, sizeof(animlib), animname, sizeof(animname));
if(strcmp(animname, animation, true) == 0) return 1;
return 0;
}
---------- Post added at 23:13 ---------- Previous post was at 22:18 ----------
подниму
