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

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

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

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

Скиллы

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

parger

Умник
Добрый вечер, у меня возникла проблема, в моде DiamondRP не сохраняются скиллы, как исправить?

PHP:
	pSkill1,
	pSkill2,
	pSkill3,
	pSkill4,
	pSkill5,
	pSkill6,
	pShowSkillpl,
	pShowSkillact,
	pGunSkill[6],

	pTemp[playerid][pShowSkillact] = -1;
	pTemp[playerid][pShowSkillpl] = -1;

	pTemp[playerid][pGunSkill][0] = pData[playerid][pSkill1];
	pTemp[playerid][pGunSkill][1] = pData[playerid][pSkill2];
	pTemp[playerid][pGunSkill][2] = pData[playerid][pSkill3];
	pTemp[playerid][pGunSkill][3] = pData[playerid][pSkill4];
	pTemp[playerid][pGunSkill][4] = pData[playerid][pSkill5];
	pTemp[playerid][pGunSkill][5] = pData[playerid][pSkill6];

	new gunids[56],ammos[56],cnt,pgun[128];
	for (new i;i<13;i++)
	{
		new weapid,ammo;
		GetPlayerWeaponData(playerid,i,weapid,ammo);
		if(weapid && ammo && gGuns[playerid][i] == weapid && gAmmos[playerid][i] <= ammo)
		{
			if(!cnt)
			{
				format(gunids,sizeof(gunids),"%d",gGuns[playerid][i]);
				format(ammos,sizeof(ammos),"%d",gAmmos[playerid][i]);
			}
			else
			{
				format(gunids,sizeof(gunids),"%s|%d",gunids,gGuns[playerid][i]);
				format(ammos,sizeof(ammos),"%s|%d",ammos,gAmmos[playerid][i]);
			}
			cnt++;
			if(cnt >= 6) break;
		}
	}
	if(!pTemp[playerid][pLogined] || !pTemp[playerid][pJoined]) return 1;

	if(strlen(gunids) && strlen(ammos)) format(pgun,sizeof(pgun),"%s:%s",gunids,ammos);

	new query[532];
	pData[playerid][pSkill1] = pTemp[playerid][pGunSkill][0];
	pData[playerid][pSkill2] = pTemp[playerid][pGunSkill][1];
	pData[playerid][pSkill3] = pTemp[playerid][pGunSkill][2];
	pData[playerid][pSkill4] = pTemp[playerid][pGunSkill][3];
	pData[playerid][pSkill5] = pTemp[playerid][pGunSkill][4];
	pData[playerid][pSkill6] = pTemp[playerid][pGunSkill][5];
	format(query,sizeof(query),"UPDATE `accounts` SET `skill1`='%s', `skill2`='%s', `skill3`='%s', `skill4`='%s', `skill5`='%s', `skill6`='%s',`health` = '%.2f',`money` = %d,`jail`='%d',`gun`='%s',`otigral`='%d',`status`='0' WHERE `nickname`='%s'"
	,pData[playerid][pSkill1],pData[playerid][pSkill2],pData[playerid][pSkill3],pData[playerid][pSkill4],pData[playerid][pSkill5],pData[playerid][pSkill6]
	,pData[playerid][pHealth],pData[playerid][pMoney],pData[playerid][pJail],pgun,pTemp[playerid][pGiveExp],pData[playerid][pNickname]);
	sql_query(zConn, query, QUERY_THREADED);
	SetPlayerDataToDefault(playerid);
	return 1;
}

SetPlayerSkills(playerid);

	if(!strcmp(cmd,"/skill",true) || !strcmp(cmd,"/skill",true))
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp) || !isNumeric(tmp)) return SendClientMessage(playerid,CGRAY,"{"#cYELLOW"}• [Подсказка]: {"#cWHITE"}/skill [ID игрока]");
		new actplayerid = strval(tmp);
		if(!IsPlayerConnected(actplayerid)) return SendClientMessage(playerid,CGRAY,"Неверный ID игрока");
		if(GetPlayerDistanceToPlayer(playerid,actplayerid) > 3.0 || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(actplayerid)) return SendClientMessage(playerid,CGRAY,"Вы далеко друг от друга");
		new mes[256];
		format(mes,sizeof(mes),"Вы предложили {"#cWHITE"}%s {"#cINFO"} показать выписку из тира",pData[actplayerid][pNickname]);
		SendClientMessage(playerid,CINFO,mes);
		format(mes,sizeof(mes),"%s {"#cINFO"}хочет показать Вам выписку из тира. Что бы подтвердить нажмите {"#cGREEN"}Y{"#cINFO"}, иначе {"#cRED"}N",pData[playerid][pNickname]);
		SendClientMessage(actplayerid,CWHITE,mes);
		pTemp[actplayerid][pShowSkillpl] = playerid;
		pTemp[actplayerid][pShowSkillact] = actplayerid;
	}

		if(pTemp[playerid][pShowSkillact] == playerid)
		{
			new acter = pTemp[playerid][pShowSkillpl];
			new strkill[1006];
			new points[6];
			points[0] = 100 - pTemp[acter][pGunSkill][0];
			points[1] = 100 - pTemp[acter][pGunSkill][1];
			points[2] = 100 - pTemp[acter][pGunSkill][2];
			points[3] = 100 - pTemp[acter][pGunSkill][3];
			points[4] = 100 - pTemp[acter][pGunSkill][4];
			points[5] = 100 - pTemp[acter][pGunSkill][5];
			format(strkill,1000,"{FFFFFF}SDPistol:\t[%s]%d\nDeagle:\t[%s]%d \nShotGun:\t[%s]%d\nMP5\t\t[%s]%d \nAK47:\t\t[%s]%d\nM4A1:\t\t[%s]%d",
			ToDevelopSkills(pTemp[acter][pGunSkill][0],points[0]),pTemp[acter][pGunSkill][0],
			ToDevelopSkills(pTemp[acter][pGunSkill][1],points[1]),pTemp[acter][pGunSkill][1],
			ToDevelopSkills(pTemp[acter][pGunSkill][2],points[2]),pTemp[acter][pGunSkill][2],
			ToDevelopSkills(pTemp[acter][pGunSkill][3],points[3]),pTemp[acter][pGunSkill][3],
			ToDevelopSkills(pTemp[acter][pGunSkill][4],points[4]),pTemp[acter][pGunSkill][4],
			ToDevelopSkills(pTemp[acter][pGunSkill][5],points[5]),pTemp[acter][pGunSkill][5]);
			ShowPlayerDialog(playerid,0000,DIALOG_STYLE_MSGBOX,"{FFFF00}Навыки владения оружием",strkill,"Закрыть","");
			new mese[64];
			format(mese,sizeof(mese),"показал выписку из тира %s'y",pData[playerid][pNickname]);
			MeAction(acter,mese);
			pTemp[playerid][pShowSkillact] = -1;
		}

		pData[playerid][pSkill1] = sql_get_field_assoc_int_ex(pldata, 0, "skill1");
		pData[playerid][pSkill2] = sql_get_field_assoc_int_ex(pldata, 0, "skill2");
		pData[playerid][pSkill3] = sql_get_field_assoc_int_ex(pldata, 0, "skill3");
		pData[playerid][pSkill4] = sql_get_field_assoc_int_ex(pldata, 0, "skill4");
		pData[playerid][pSkill5] = sql_get_field_assoc_int_ex(pldata, 0, "skill5");
		pData[playerid][pSkill6] = sql_get_field_assoc_int_ex(pldata, 0, "skill6");

stock WeaponSkill(playerid)
{

	SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, pTemp[playerid][pGunSkill][0]);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, pTemp[playerid][pGunSkill][1]);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, pTemp[playerid][pGunSkill][2]);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, pTemp[playerid][pGunSkill][3]);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, pTemp[playerid][pGunSkill][4]);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, pTemp[playerid][pGunSkill][5]);
	return true;
}

stock UpdateWeaponSkill(playerid)
{
	SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, pTemp[playerid][pGunSkill][0]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, pTemp[playerid][pGunSkill][1]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, pTemp[playerid][pGunSkill][2]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, pTemp[playerid][pGunSkill][3]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, pTemp[playerid][pGunSkill][4]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, pTemp[playerid][pGunSkill][5]*10);
	return true;
}

stock SetPlayerSkills(playerid)
{
	SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, pTemp[playerid][pGunSkill][0]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, pTemp[playerid][pGunSkill][1]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, pTemp[playerid][pGunSkill][2]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, pTemp[playerid][pGunSkill][3]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, pTemp[playerid][pGunSkill][4]*10);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, pTemp[playerid][pGunSkill][5]*10);
	return true;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу