Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Проблема с Тиром (Помогите)

Статус
В этой теме нельзя размещать новые ответы.

AmigoWalles

Новичок
Здравствуйте пользователи Pawno-info​
Я взял за основу мод Full Rp ( Не реклама ) и там есть такой бизнес как Тир в котором по идеи берешь Абонемент и стреляешь по мишени при этом качается скил того оружия с которого стреляешь.
Суть моей проблемы в том что нет ни пикапа не чего подобного что вызовет мишень для того чтобы игрок мог начать стрельбу по мишени и при этом качать свой скилл.

Вот код Тира, так как я не совсем опытен, все что нашел, все вам показываю

PHP:
#define MAX_TIRS 24
#define NONE_3D_TEXT (Text3D:-1)
new Tir_CP[MAX_TIRS];
new Text3D:TirText[MAX_TIRS] = {NONE_3D_TEXT, ...};
new Target_Object[MAX_TIRS];
new PlayerTir[MAX_PLAYERS] = {-1,...};
new TirPlayer[MAX_PLAYERS];
new bool:HitPoint[MAX_PLAYERS][5];
new HitCount[MAX_PLAYERS][5];
new TargetCount[MAX_PLAYERS];
new bool:TirBusy[MAX_TIRS];
new TimerTime[MAX_PLAYERS];
new TargetTimer[MAX_TIRS] = {-1,...};
new TirGun[MAX_PLAYERS];
new Text:TirBGDraw;
new StartCount[MAX_PLAYERS];
new TirAmmo[MAX_PLAYERS];
new bool:TargetGo[MAX_TIRS];
new Float:TargetMoveSpeed[MAX_PLAYERS];
new Text:TirDraw[5];

enum tirinfo
{
	Float:tirPos[3],
	Float:tirTPos[6],
	tirInt,
	tirWorld
}
new TirInfo[][tirinfo] =
{
	{ 	{289.20,-24.89,1001.0},	{289.10000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 32	},
	{ 	{290.79,-24.89,1001.0},	{290.60000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 32	},
	{ 	{292.20,-24.89,1001.0},	{292.10000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 32	},
	{ 	{293.70,-24.89,1001.0},	{293.60000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 32	},
	{ 	{295.29,-24.89,1001.0},	{295.10000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 32	},
	{ 	{296.79,-24.89,1001.0},	{296.60000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 32	},
	{ 	{298.29,-24.89,1001.0},	{298.10000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 32	},
	{ 	{299.79,-24.89,1001.0},	{299.60000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 32	},
	{ 	{289.20,-24.89,1001.0},	{289.10000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 33	},
	{ 	{290.79,-24.89,1001.0},	{290.60000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 33	},
	{ 	{292.20,-24.89,1001.0},	{292.10000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 33	},
	{ 	{293.70,-24.89,1001.0},	{293.60000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 33	},
	{ 	{295.29,-24.89,1001.0},	{295.10000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 33	},
	{ 	{296.79,-24.89,1001.0},	{296.60000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 33	},
	{ 	{298.29,-24.89,1001.0},	{298.10000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 33	},
	{ 	{299.79,-24.89,1001.0},	{299.60000610,-7.7,1000.5,270.0,0.0,0.0}, 1, 33	}
};
enum tirguninfo
{
	tgGunname[30],
	tgGunid,
	tgCost
}
new TGunInfo[][tirguninfo] =
{
    {"Pistols", 22, 10},
	{"Desert Eagle", 24, 15},
	{"ShotGun", 25, 20},
	{"MP5", 29, 25},
	{"AK47", 30, 35},
	{"M4", 31, 35},
	{"Sniper Rifle", 34, 50}
};

PHP:
case dTirD: if(response) return ShowTirDialog(playerid);
		case dTirD1:
  		{
  		    if(!response) return true;
  		    if(GetPlayerMoneyEx(playerid) < TGunInfo[listitem][tgCost]) return SendClientMessage(playerid,CGRAY,"Недостаточно средств");
            ResetPlayerWeapons(playerid);
            PlayerTir[playerid] = TirPlayer[playerid];
            new tir = PlayerTir[playerid];
            for(new i;i < 5;i ++)
            {
                HitPoint[playerid][i] = false;
        		HitCount[playerid][i] = 0;
            }
            TargetCount[playerid] = 0;
            TirBusy[tir] = true;
            TimerTime[playerid] = 10000; //10000
            if(TargetTimer[tir] != -1) KillTimer(TargetTimer[tir]);
            TargetTimer[tir] = SetTimerEx("MoveTarget", 1000, false, "i", playerid);
            TirGun[playerid] = TGunInfo[listitem][tgGunid];
            TransferMoney(playerid,-1,TGunInfo[listitem][tgCost]);
			new id = pTemp[playerid][pSelectedBusinessID];
			gBusiness[id][busiBank] += TGunInfo[listitem][tgCost];
			gBusiness[id][busiProduct] -= TGunInfo[listitem][tgCost] - 5;
			UpdateDynamic3DTextLabelText(TirText[tir],CGREEN,"-== Тир ==-\n\n{AFAFAF}Занято");
			TextDrawShowForPlayer(playerid, TirBGDraw);
			for(new idxf=0, i=0; idxf<cvector_size(players); idxf++)
		    {
		        i = cvector_get(players, idxf);
		        if(!IsPlayerConnected(i)) continue;
		        TogglePlayerDynamicCP(i, Tir_CP[tir], false);
			}
		}

PHP:
for(new i;i < sizeof(TirInfo);i ++)
	{
	    Tir_CP[i] = CreateDynamicCP(TirInfo[i][tirPos][0], TirInfo[i][tirPos][1], TirInfo[i][tirPos][2], 1.0, TirInfo[i][tirWorld], TirInfo[i][tirInt], -1, 10.0);
	    TirText[i] = CreateDynamic3DTextLabel("-== Тир ==-\n\n{FFFFFF}Место для стрельбы",CGREEN,TirInfo[i][tirPos][0], TirInfo[i][tirPos][1], TirInfo[i][tirPos][2],5.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, TirInfo[i][tirWorld], TirInfo[i][tirInt]);
	    Target_Object[i] = CreateDynamicObject(1586, TirInfo[i][tirTPos][0], TirInfo[i][tirTPos][1], TirInfo[i][tirTPos][2], TirInfo[i][tirTPos][3], TirInfo[i][tirTPos][4], TirInfo[i][tirTPos][5], TirInfo[i][tirWorld], TirInfo[i][tirInt]);
	}
	
	TirBGDraw = TextDrawCreate(518,341,"-");
	TextDrawUseBox(TirBGDraw,1);
	TextDrawColor(TirBGDraw,0xFFFFFFFF);//
	TextDrawBackgroundColor(TirBGDraw,0x00000000);
	TextDrawBoxColor(TirBGDraw,0x00000055);
	TextDrawTextSize(TirBGDraw,105.0,40.0);
	TextDrawAlignment(TirBGDraw,2);
	TextDrawLetterSize(TirBGDraw,0.00,5.09);
	TextDrawSetOutline(TirBGDraw,1);
	TextDrawFont(TirBGDraw,0);

	TirDraw[0] = TextDrawCreate(499, 300, "-");
	TextDrawFont(TirDraw[0], 1);
	TextDrawLetterSize(TirDraw[0], 3.5, 8.7);
	TextDrawColor(TirDraw[0], 0xFFFFFFFF);
	TextDrawBackgroundColor(TirDraw[0],0xAFAFAFFF);
	TextDrawSetOutline(TirDraw[0], 1);

	TirDraw[1] = TextDrawCreate(500, 315, "-");
	TextDrawFont(TirDraw[1], 1);
	TextDrawLetterSize(TirDraw[1], 1.47, 8.7);
	TextDrawColor(TirDraw[1], 0xFFFFFFFF);
	TextDrawBackgroundColor(TirDraw[1],0xAFAFAFFF);
	TextDrawSetOutline(TirDraw[1], 1);

	TirDraw[2] = TextDrawCreate(520, 315, "-");
	TextDrawFont(TirDraw[2], 1);
	TextDrawLetterSize(TirDraw[2], 1.47, 8.7);
	TextDrawColor(TirDraw[2], 0xFFFFFFFF);
	TextDrawBackgroundColor(TirDraw[2],0xAFAFAFFF);
	TextDrawSetOutline(TirDraw[2], 1);

	TirDraw[3] = TextDrawCreate(500, 330, "-");
	TextDrawFont(TirDraw[3], 1);
	TextDrawLetterSize(TirDraw[3], 1.47, 8.7);
	TextDrawColor(TirDraw[3], 0xFFFFFFFF);
	TextDrawBackgroundColor(TirDraw[3],0xAFAFAFFF);
	TextDrawSetOutline(TirDraw[3], 1);

	TirDraw[4] = TextDrawCreate(520, 330, "-");
	TextDrawFont(TirDraw[4], 1);
	TextDrawLetterSize(TirDraw[4], 1.47, 8.7);
	TextDrawColor(TirDraw[4], 0xFFFFFFFF);
	TextDrawBackgroundColor(TirDraw[4],0xAFAFAFFF);
	TextDrawSetOutline(TirDraw[4], 1);

PHP:
stock CheckTir(playerid)
{
	new tir = PlayerTir[playerid];
	if(tir != -1)
	{
	    if(TirBusy[tir])
	    {
		    TirBusy[tir] = false;
		    TargetTimer[tir] = -1;
		    TargetGo[tir] = false;
		    if(TargetTimer[tir] != -1) KillTimer(TargetTimer[tir]);
		    DestroyDynamicObject(Target_Object[tir]);
		    Target_Object[tir] = CreateDynamicObject(1586, TirInfo[tir][tirTPos][0], TirInfo[tir][tirTPos][1], TirInfo[tir][tirTPos][2], TirInfo[tir][tirTPos][3], TirInfo[tir][tirTPos][4], TirInfo[tir][tirTPos][5], TirInfo[tir][tirWorld], TirInfo[tir][tirInt]);
		    UpdateDynamic3DTextLabelText(TirText[tir],CGREEN,"-== Тир ==-\n\n{FFFFFF}Место для стрельбы");
		    for(new idxf=0, i=0; idxf<cvector_size(players); idxf++)
		    {
		        i = cvector_get(players, idxf);
		        if(!IsPlayerConnected(i)) continue;
		        TogglePlayerDynamicCP(i, Tir_CP[tir], true);
			}
	    }
	    ResetPlayerWeapons(playerid);
	    PlayerTir[playerid] = -1;
		for(new i;i < 5;i ++)
	    {
	        HitPoint[playerid][i] = false;
	        HitCount[playerid][i] = 0;
	    }
		TargetCount[playerid] = 0;
		TargetMoveSpeed[playerid] = 0.5; //1.0
		TimerTime[playerid] = 20000; //10000
		StartCount[playerid] = 4;
		TextDrawHideForPlayer(playerid, TirDraw[0]);
		TextDrawHideForPlayer(playerid, TirDraw[1]);
		TextDrawHideForPlayer(playerid, TirDraw[2]);
		TextDrawHideForPlayer(playerid, TirDraw[3]);
		TextDrawHideForPlayer(playerid, TirDraw[4]);
        TextDrawHideForPlayer(playerid, TirBGDraw);
	}
	return true;
}

PHP:
stock ShowSkills(playerid, giveplayerid)
{
	new str[500],string[50];
    format(string,sizeof(string),"{FFFFFF}Pistol: \t\t\t{10F441}%d/100%%\n",pData[giveplayerid][pPistol]/100);
	strcat(str,string);
	format(string,sizeof(string),"{FFFFFF}Desert Eagle: \t\t{10F441}%d/100%%\n",pData[giveplayerid][pEagle]/100);
	strcat(str,string);
	format(string,sizeof(string),"{FFFFFF}ShotGun: \t\t{10F441}%d/100%%\n",pData[giveplayerid][pShotgun]/100);
	strcat(str,string);
	format(string,sizeof(string),"{FFFFFF}MP5: \t\t\t{10F441}%d/100%%\n",pData[giveplayerid][pMP5]/100);
	strcat(str,string);
	format(string,sizeof(string),"{FFFFFF}AK47: \t\t\t{10F441}%d/100%%\n",pData[giveplayerid][pAK47]/100);
	strcat(str,string);
	format(string,sizeof(string),"{FFFFFF}M4A1: \t\t\t{10F441}%d/100%%\n",pData[giveplayerid][pM4]/100);
	strcat(str,string);
	format(string,sizeof(string),"{FFFFFF}Sniper: \t\t\t{10F441}%d/100%%\n",pData[giveplayerid][pSniper]/100);
	strcat(str,string);
	ShowPlayerDialog(playerid,dMes,0,"{"#cGREEN"}ТИР:{"#cWHITE"} выписка",str,"Закрыть","");
	return true;
}
stock SetPlayerSkills(playerid)
{
	SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,			pData[playerid][pPistol]/10);
	SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,		pData[playerid][pEagle]/10);
	SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,			pData[playerid][pShotgun]/10);
	SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,				pData[playerid][pMP5]/10);
	SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,				pData[playerid][pAK47]/10);
	SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,				pData[playerid][pM4]/10);
	SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,		pData[playerid][pSniper]/10);
	return true;
}
stock ShowTirTutDialog(playerid, tirid)
{
	new string[600];
	strcat(string, "{FFD700}Здравствуйте! {FFFFFF}Вы заглянули в тир.\n");
	strcat(string, "В тире вы можете практиковать свои навыки стрельбы.\n");
	strcat(string, "Для стрельбы вам будет предложено несколько видов оружия.\n");
	strcat(string, "Выбрав одно из них, нужно будет стрелять по мишени.\n");
	strcat(string, "На мишени отмечены 5 точек, в которые нужно попадать.\n");
	strcat(string, "Успешные пападания будут отображены в нижнем правом углу.\n");
	strcat(string, "Для усложнения, мишень будет двигаться на вас.\n\n");
	strcat(string, "{FF6322}1. Попасть надо во все 5 точек определенное кол-во раз.\n");
	strcat(string, "{FF6347}2. С каждым разом скорость будет увеличиваться\n\n");
	strcat(string, "{AFAFAF}\t\tНажмите 'Далее' для продолжения.\n");
	TirPlayer[playerid] = tirid;
	ShowPlayerDialog(playerid, dTirD, 0, "Тир | Вступление", string, "Далее", "Закрыть");
	return true;
}
stock ShowTirDialog(playerid)
{
    new str[500], string[70];
    for(new g; g < sizeof(TGunInfo);g ++)
    {
		format(string,sizeof(string),"%i. %s $%d\n", g+1, TGunInfo[g][tgGunname], TGunInfo[g][tgCost]);
		strcat(str, string);
	}
	ShowPlayerDialog(playerid, dTirD1, 2, "Тир | Выберите оружие", str, "Выбор", "Закрыть");
	return true;
}
stock GetTirAmmo(weaponid)
{
	new ammo;
	switch(weaponid)
	{
	    case 22: ammo = 25;
	    case 23: ammo = 25;
	    case 24: ammo = 20;
	    case 25: ammo = 15;
	    case 29: ammo = 50;
	    case 30: ammo = 50;
	    case 31: ammo = 50;
	    case 34: ammo = 10;
	}
	return ammo;
}

Прошу помочь разобраться

P.S Я еще не очень опытен​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу