Перейти к содержанию
Авторизация  
Zishka

Система скиллов

Рекомендуемые сообщения

Zishka

Привет, поможете в чем может быть проблема? Стреляю но скиллы не прибавляются, может вы знаете в чем проблема?

tock SetPlayerSkills(playerid)
{
	SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 		pInfo[playerid][pGunSkill][0]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, 		pInfo[playerid][pGunSkill][1]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, 				pInfo[playerid][pGunSkill][2]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, 					pInfo[playerid][pGunSkill][3]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, 				pInfo[playerid][pGunSkill][4]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, 					pInfo[playerid][pGunSkill][5]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 				pInfo[playerid][pGunSkill][6]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 			pInfo[playerid][pGunSkill][7]*10);
	return 1;
}

stock OnPlayerGiveWeaponSkill(playerid, weaponid)
{
	switch(weaponid)
	{
	    case 22:
		{
		    Shot[playerid][6]++;
			if(Shot[playerid][6] >= AMMO_PISTOL && pInfo[playerid][pGunSkill][6] < 100 && (!pInfo[playerid][pVip] && !doubling_skills))
			{
				pInfo[playerid][pGunSkill][6]++;
				if(pInfo[playerid][pGunSkill][6] == 100) SetPlayerSkills(playerid);
				Shot[playerid][6] = 0;
			}
			else if(Shot[playerid][6] >= AMMO_PISTOL_VIP && pInfo[playerid][pGunSkill][6] < 100 && (pInfo[playerid][pVip] || doubling_skills))
			{
				pInfo[playerid][pGunSkill][6]++;
				if(pInfo[playerid][pGunSkill][6] == 100) SetPlayerSkills(playerid);
				Shot[playerid][6] = 0;
			}
		}
	    case 23:
		{
		    Shot[playerid][0]++;
			if(Shot[playerid][0] >= AMMO_SDPISTOL && pInfo[playerid][pGunSkill][0] < 100 && (!pInfo[playerid][pVip] && !doubling_skills))
			{
				pInfo[playerid][pGunSkill][0]++;
				if(pInfo[playerid][pGunSkill][0] == 100) SetPlayerSkills(playerid);
				Shot[playerid][0] = 0;
			}
			else if(Shot[playerid][0] >= AMMO_SDPISTOL_VIP && pInfo[playerid][pGunSkill][0] < 100 && (pInfo[playerid][pVip] || doubling_skills))
			{
				pInfo[playerid][pGunSkill][0]++;
				if(pInfo[playerid][pGunSkill][0] == 100) SetPlayerSkills(playerid);
				Shot[playerid][0] = 0;
			}
		}
		case 24:
		{
		    Shot[playerid][1]++;
			if(Shot[playerid][1] >= AMMO_DEAGLE && pInfo[playerid][pGunSkill][1] < 100 && (!pInfo[playerid][pVip] && !doubling_skills))
			{
				pInfo[playerid][pGunSkill][1]++;
				if(pInfo[playerid][pGunSkill][1] == 100) SetPlayerSkills(playerid);
				Shot[playerid][1] = 0;
			}
			else if(Shot[playerid][1] >= AMMO_DEAGLE_VIP && pInfo[playerid][pGunSkill][1] < 100 && (pInfo[playerid][pVip] || doubling_skills))
			{
				pInfo[playerid][pGunSkill][1]++;
				if(pInfo[playerid][pGunSkill][1] == 100) SetPlayerSkills(playerid);
				Shot[playerid][1] = 0;
			}
		}
		case 25:
		{
		    Shot[playerid][2]++;
			if(Shot[playerid][2] >= AMMO_SHOTGUN && pInfo[playerid][pGunSkill][2] < 100 && (!pInfo[playerid][pVip] && !doubling_skills))
			{
				pInfo[playerid][pGunSkill][2]++;
				if(pInfo[playerid][pGunSkill][2] == 100) SetPlayerSkills(playerid);
				Shot[playerid][2] = 0;
			}
			else if(Shot[playerid][2] >= AMMO_SHOTGUN_VIP && pInfo[playerid][pGunSkill][2] < 100 && (pInfo[playerid][pVip] || doubling_skills))
			{
				pInfo[playerid][pGunSkill][2]++;
				if(pInfo[playerid][pGunSkill][2] == 100) SetPlayerSkills(playerid);
				Shot[playerid][2] = 0;
			}
		}
		case 28:
		{
		    Shot[playerid][7]++;
			if(Shot[playerid][7] >= AMMO_MICROUZI && pInfo[playerid][pGunSkill][7] < 100 && (!pInfo[playerid][pVip] && !doubling_skills))
			{
				pInfo[playerid][pGunSkill][7]++;
				if(pInfo[playerid][pGunSkill][7] == 100) SetPlayerSkills(playerid);
				Shot[playerid][7] = 0;
			}
			else if(Shot[playerid][7] >= AMMO_MICROUZI_VIP && pInfo[playerid][pGunSkill][7] < 100 && (pInfo[playerid][pVip] || doubling_skills))
			{
				pInfo[playerid][pGunSkill][7]++;
				if(pInfo[playerid][pGunSkill][7] == 100) SetPlayerSkills(playerid);
				Shot[playerid][7] = 0;
			}
		}
		case 29:
		{
		    Shot[playerid][3]++;
			if(Shot[playerid][3] >= AMMO_MP5 && pInfo[playerid][pGunSkill][3] < 100 && (!pInfo[playerid][pVip] && !doubling_skills))
			{
				pInfo[playerid][pGunSkill][3]++;
				if(pInfo[playerid][pGunSkill][3] == 100) SetPlayerSkills(playerid);
				Shot[playerid][3] = 0;
			}
			else if(Shot[playerid][3] >= AMMO_MP5_VIP && pInfo[playerid][pGunSkill][3] < 100 && (pInfo[playerid][pVip] || doubling_skills))
			{
				pInfo[playerid][pGunSkill][3]++;
				if(pInfo[playerid][pGunSkill][3] == 100) SetPlayerSkills(playerid);
				Shot[playerid][3] = 0;
			}
		}
		case 30:
		{
		    Shot[playerid][4]++;
			if(Shot[playerid][4] >= AMMO_AK47 && pInfo[playerid][pGunSkill][4] < 100 && (!pInfo[playerid][pVip] && !doubling_skills))
			{
				pInfo[playerid][pGunSkill][4]++;
				if(pInfo[playerid][pGunSkill][4] == 100) SetPlayerSkills(playerid);
				Shot[playerid][4] = 0;
			}
			else if(Shot[playerid][4] >= AMMO_AK47_VIP && pInfo[playerid][pGunSkill][4] < 100 && (pInfo[playerid][pVip] || doubling_skills))
			{
				pInfo[playerid][pGunSkill][4]++;
				if(pInfo[playerid][pGunSkill][4] == 100) SetPlayerSkills(playerid);
				Shot[playerid][4] = 0;
			}
		}
		case 31:
		{
		    Shot[playerid][5]++;
			if(Shot[playerid][5] >= AMMO_M4A1 && pInfo[playerid][pGunSkill][5] < 100 && (!pInfo[playerid][pVip] && !doubling_skills))
			{
				pInfo[playerid][pGunSkill][5]++;
				if(pInfo[playerid][pGunSkill][5] == 100) SetPlayerSkills(playerid);
				Shot[playerid][5] = 0;
			}
			else if(Shot[playerid][5] >= AMMO_M4A1_VIP && pInfo[playerid][pGunSkill][5] < 100 && (pInfo[playerid][pVip] || doubling_skills))
			{
				pInfo[playerid][pGunSkill][5]++;
				if(pInfo[playerid][pGunSkill][5] == 100) SetPlayerSkills(playerid);
				Shot[playerid][5] = 0;
			}
		}
	}
	return 1;
}
#define AMMO_PISTOL 					(12)
#define AMMO_SDPISTOL 					(12)
#define AMMO_DEAGLE 					(14)
#define AMMO_SHOTGUN 					(8)
#define AMMO_MICROUZI					(25)
#define AMMO_MP5 						(25)
#define AMMO_AK47 						(30)
#define AMMO_M4A1 						(30)

#define AMMO_PISTOL_VIP					(6)
#define AMMO_SDPISTOL_VIP				(6)
#define AMMO_DEAGLE_VIP 				(7)
#define AMMO_SHOTGUN_VIP				(4)
#define AMMO_MICROUZI_VIP				(13)
#define AMMO_MP5_VIP 					(13)
#define AMMO_AK47_VIP					(15)
#define AMMO_M4A1_VIP					(15)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Видимо не все условия для прокачки соблюдаешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

@Wеb, Но ведь в коде, к примеру с калашём, 30 патрон +1 скилл к нему, я так все обоймы тратил - не прибавлялись 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

А VIP то на аккаунте есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

@Wеb, Да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

По коду ничего особенного не вижу. Должно все работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

Еще вот код нашёл, но по моему тут тоже вроде все нормально...

	WeaponTime[playerid] = gettime();
	// Прокачка навыков стрельбы
	new slot = GetWeaponSlot(weaponid);
	new weapon, ammo;
	GetPlayerWeaponData(playerid, slot, weapon, ammo);
	iNewPlayerAmmo[playerid] = ammo;
	iNewPlayerWeapon[playerid] = weapon;
	// Если патронов меньше, а оружие тоже, переходим к выдачи очков для навыка
	if(iNewPlayerAmmo[playerid] < iPlayerAmmo[playerid] && iNewPlayerWeapon[playerid] == iPlayerWeapon[playerid])
	{
		OnPlayerGiveWeaponSkill(playerid, weapon);
	}
	iPlayerAmmo[playerid] = iNewPlayerAmmo[playerid];
	iPlayerWeapon[playerid] = iNewPlayerWeapon[playerid];

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Ну по старайся сам переписать/написать систему-скиллов или возьми готовую предварительно удалив эту. Вот по этому и плохо брать чужой код. Что даже что бы подправить, придется повозиться. Причем дольше, чем написать аналогичное самому.

Изменено пользователем Wеb
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Dmitriy_Pawno

@Zishka, В начале написано tock а нужно stock, возможно из за этого. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#Storm

@Dmitriy_Pawno, Что за бред Вы несёте? Он скопировал просто так, если бы у него и в моде стояло "tock" - тогда бы он ошибку выдавал! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.