20.09.2014, 16:42
when some one types /skill all things should be shown in a dialogue plz some one help
Код:
#include <a_samp> #include <YSI\y_ini> #include <zcmd> #include <a_http> #include <rcredits> #define red 0xFF0000C8 #define green 0x00FF00C8 #define yellow 0xFFFF00C8 #define Skillpath "/Skills/%s.ini" enum pInfo { Pistol, SPistol, Desert, Shotgun, Sawnoff, Spas12, Uzi, MP5, AK47, M4, Rifle } new PlayerInfo[MAX_PLAYERS][pInfo]; forward LoadSkills(playerid, name[], value[]); forward SkillShow(playerid,targedid); public LoadSkills(playerid, name[], value[]) { new INI:file = INI_Open(SkillPath(playerid)); INI_Int("Pistol", PlayerInfo[playerid][Pistol]); INI_Int("SPistol", PlayerInfo[playerid][SPistol]); INI_Int("Desert", PlayerInfo[playerid][Desert]); INI_Int("Shotgun", PlayerInfo[playerid][Shotgun]); INI_Int("Sawnoff", PlayerInfo[playerid][Sawnoff]); INI_Int("Spas12", PlayerInfo[playerid][Spas12]); INI_Int("Uzi", PlayerInfo[playerid][Uzi]); INI_Int("MP5", PlayerInfo[playerid][MP5]); INI_Int("AK47", PlayerInfo[playerid][AK47]); INI_Int("M4", PlayerInfo[playerid][M4]); INI_Int("Rifle", PlayerInfo[playerid][Rifle]); INI_Close(file); return 1; } stock SkillPath(playerid) { new str[128],name[24]; GetPlayerName(playerid,name,24); format(str,sizeof(str),Skillpath,name); return str; } public OnPlayerConnect(playerid) { INI_ParseFile(SkillPath(playerid),"LoadSkills",.bExtra = true, .extra = playerid); return 1; } public OnPlayerDisconnect(playerid,reason) { new sFile[35]; format(sFile, 35, Skillpath, SkillPath(playerid)); new INI:skillFile = INI_Open(sFile); INI_WriteInt(skillFile, "Pistol", PlayerInfo[playerid][Pistol]); INI_WriteInt(skillFile, "SPistol", PlayerInfo[playerid][SPistol]); INI_WriteInt(skillFile, "Desert", PlayerInfo[playerid][Desert]); INI_WriteInt(skillFile, "Shotgun", PlayerInfo[playerid][Shotgun]); INI_WriteInt(skillFile, "Sawnoff", PlayerInfo[playerid][Sawnoff]); INI_WriteInt(skillFile, "Spas12", PlayerInfo[playerid][Spas12]); INI_WriteInt(skillFile, "Uzi", PlayerInfo[playerid][Uzi]); INI_WriteInt(skillFile, "MP5", PlayerInfo[playerid][MP5]); INI_WriteInt(skillFile, "AK47", PlayerInfo[playerid][AK47]); INI_WriteInt(skillFile, "M4", PlayerInfo[playerid][M4]); INI_WriteInt(skillFile, "Rifle", PlayerInfo[playerid][Rifle]); INI_Close(skillFile); return 1; } public OnPlayerDeath(playerid, killerid, reason) { if(GetPlayerWeapon(killerid) == 22) PlayerInfo[killerid][Pistol]++; if(GetPlayerWeapon(killerid) == 23) PlayerInfo[killerid][SPistol]++; if(GetPlayerWeapon(killerid) == 24) PlayerInfo[killerid][Desert]++; if(GetPlayerWeapon(killerid) == 25) PlayerInfo[killerid][Shotgun]++; if(GetPlayerWeapon(killerid) == 26) PlayerInfo[killerid][Sawnoff]++; if(GetPlayerWeapon(killerid) == 27) PlayerInfo[killerid][Spas12]++; if(GetPlayerWeapon(killerid) == 28) PlayerInfo[killerid][Uzi]++; if(GetPlayerWeapon(killerid) == 29) PlayerInfo[killerid][MP5]++; if(GetPlayerWeapon(killerid) == 30) PlayerInfo[killerid][AK47]++; if(GetPlayerWeapon(killerid) == 31) PlayerInfo[killerid][M4]++; if(GetPlayerWeapon(killerid) == 34) PlayerInfo[killerid][Rifle]++; return 1; } public OnPlayerSpawn(playerid) { new p1 = PlayerInfo[playerid][Pistol]; new p2 = PlayerInfo[playerid][SPistol]; new p3 = PlayerInfo[playerid][Desert]; new p4 = PlayerInfo[playerid][Shotgun]; new p5 = PlayerInfo[playerid][Sawnoff]; new p6 = PlayerInfo[playerid][Spas12]; new p7 = PlayerInfo[playerid][Uzi]; new p8 = PlayerInfo[playerid][MP5]; new p9 = PlayerInfo[playerid][AK47]; new p10 = PlayerInfo[playerid][M4]; new p11 = PlayerInfo[playerid][Rifle]; SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, p1); SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, p2); SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, p3); SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, p4); SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, p5); SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN, p6); SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, p7); SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, p8); SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, p9); SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, p10); SetPlayerSkillLevel(playerid, WEAPONSKILL_SNIPERRIFLE, p11); return 1; } CMD:skill(playerid, params[]) { if(IsPlayerConnected(playerid)) { SkillShow(playerid,playerid); } return 1;} public SkillShow(playerid,targedid) { new p1 = PlayerInfo[playerid][Pistol]; new p2 = PlayerInfo[playerid][SPistol]; new p3 = PlayerInfo[playerid][Desert]; new p4 = PlayerInfo[playerid][Shotgun]; new p5 = PlayerInfo[playerid][Sawnoff]; new p6 = PlayerInfo[playerid][Spas12]; new p7 = PlayerInfo[playerid][Uzi]; new p8 = PlayerInfo[playerid][MP5]; new p9 = PlayerInfo[playerid][AK47]; new p10 = PlayerInfo[playerid][M4]; new p11 = PlayerInfo[playerid][Rifle]; new pName[MAX_PLAYER_NAME]; GetPlayerName(targedid, pName, sizeof(pName)); new message[128]; new message2[128]; new message3[128]; new message4[128]; new message5[128]; format (message, sizeof(message), "Player %s Stats",pName ); format (message2, sizeof(message2), "Pistol:%i , Silenced Pistol:%i , Desert:%i",p1 , p2 , p3 ); format (message3, sizeof(message3), "Shotgun:%i , SawnOff ShotGun:%i , Spas12 Shotgun:%i",p4 , p5 , p6); format (message4, sizeof(message4), "Uzi:%i , MP5:%i , AK47:%i",p7 , p8 , p9); format (message5, sizeof(message5), "M4:%i , Sniper Rifle:%i",p10 , p11); SendClientMessage(playerid, red, "Player Stats:"); SendClientMessage(playerid, yellow, message); SendClientMessage(playerid, yellow, message2); SendClientMessage(playerid, yellow, message3); SendClientMessage(playerid, yellow, message4); SendClientMessage(playerid, yellow, message5); return 1; }