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

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

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

Terhe1337

Скиньте пожалуйста систему скиллов!

Везде нужен public OnPlayerRegister а у меня нет этого паблика!

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


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

@Terhe1337

 

[spoiler=Code]

 

в начало мода

PHP код:
////////////////////////КОЛ.ВО ПАТРОНОВ ДЛЯ 1% СКИЛЛА/////////////////////////// 
#define Ammo_SDPISTOL 15 
#define Ammo_DEAGLE 15 
#define Ammo_SHOTGUN 10 
#define Ammo_MP5 30 
#define Ammo_AK47 30 
#define Ammo_M4A1 30  

к Форвардам

PHP код:
forward OnPlayerAmmoChange(playeridnewammooldammo);  

К переменным

PHP код:
new iNewPlayerAmmo[MAX_PLAYERS];  

В enum pinfo

PHP код:
pGunSkill[5],  

В OnPlayerConnect
 

PHP код:
    PlayerInfo[playerid][pGunSkill][0] = 0PlayerInfo[playerid][pGunSkill][1] = 0PlayerInfo[playerid][pGunSkill][2] = 0
    
PlayerInfo[playerid][pGunSkill][3] = 0PlayerInfo[playerid][pGunSkill][4] = 0PlayerInfo[playerid][pGunSkill][5] = 0;  

В конец мода или в любое свободное место

PHP код:
//============================================================================== 
stock SetPlayerSkills(playerid

    
SetPlayerSkillLevel(playeridWEAPONSKILL_PISTOL_SILENCEDPlayerInfo[playerid][pGunSkill][0]*10); 
    
SetPlayerSkillLevel(playeridWEAPONSKILL_DESERT_EAGLEPlayerInfo[playerid][pGunSkill][1]*10); 
    
SetPlayerSkillLevel(playeridWEAPONSKILL_SHOTGUNPlayerInfo[playerid][pGunSkill][2]*10); 
    
SetPlayerSkillLevel(playeridWEAPONSKILL_MP5PlayerInfo[playerid][pGunSkill][3]*10); 
    
SetPlayerSkillLevel(playeridWEAPONSKILL_AK47PlayerInfo[playerid][pGunSkill][4]*10); 
    
SetPlayerSkillLevel(playeridWEAPONSKILL_M4PlayerInfo[playerid][pGunSkill][5]*10); 
    return 
true

//============================================================================== 
stock OnPlayerAmmoChange(playeridnewammooldammo

    if(
newammo oldammo
    { 
        switch(
GetPlayerWeapon(playerid)) 
        { 
            case 
24
            { 
                
SetPVarInt(playerid"SkillD",GetPVarInt(playerid,"SkillD") +1); 
                if(
GetPVarInt(playerid,"SkillD") >= Ammo_DEAGLE && PlayerInfo[playerid][pGunSkill][1100
                { 
                    
PlayerInfo[playerid][pGunSkill][1]++; 
                    
SetPVarInt(playerid"SkillD",0); 
                } 
            } 
            case 
23
            { 
                
SetPVarInt(playerid"SkillSD",GetPVarInt(playerid,"SkillSD") +1); 
                if(
GetPVarInt(playerid,"SkillSD")>= Ammo_SDPISTOL && PlayerInfo[playerid][pGunSkill][0100
                { 
                    
PlayerInfo[playerid][pGunSkill][0]++; 
                    
SetPVarInt(playerid"SkillSD",0); 
                } 
            } 
            case 
25
            { 
                
SetPVarInt(playerid"SkillShot",GetPVarInt(playerid,"SkillShot") +1); 
                if(
GetPVarInt(playerid,"SkillShot") >= Ammo_SHOTGUN && PlayerInfo[playerid][pGunSkill][2100
                { 
                    
PlayerInfo[playerid][pGunSkill][2]++; 
                    
SetPVarInt(playerid"SkillShot",0); 
                } 
            } 
            case 
29
            { 
                
SetPVarInt(playerid"SkillMP5",GetPVarInt(playerid,"SkillMP5") +1); 
                if(
GetPVarInt(playerid,"SkillMP5") >= Ammo_MP5 && PlayerInfo[playerid][pGunSkill][3100
                { 
                    
PlayerInfo[playerid][pGunSkill][3]++; 
                    
SetPVarInt(playerid"SkillMP5",0); 
                } 
            } 
            case 
30
            { 
                
SetPVarInt(playerid"SkillAk47",GetPVarInt(playerid,"SkillAk47") +1); 
                if(
GetPVarInt(playerid,"SkillAk47") >= Ammo_AK47 && PlayerInfo[playerid][pGunSkill][4100
                { 
                    
PlayerInfo[playerid][pGunSkill][4]++; 
                    
SetPVarInt(playerid"SkillAk47",0); 
                } 
            } 
            case 
31
            { 
                
SetPVarInt(playerid"SkillM4",GetPVarInt(playerid,"SkillM4") +1); 
                if(
GetPVarInt(playerid,"SkillM4") >= Ammo_M4A1 && PlayerInfo[playerid][pGunSkill][5100
                { 
                    
PlayerInfo[playerid][pGunSkill][5]++; 
                    
SetPVarInt(playerid"SkillM4",0); 
                } 
            } 
        } 
    } 
    return 
true

stock ProxDetectorNew(playerid,Float:Radi=10.0,color,text[]) 

    new 
Float:pos[3]; 
    
GetPlayerPos(playerid,pos[0],pos[1],pos[2]); 
    for(new 
i;iMAX_PLAYERS;i++) 
    { 
        if(!
IsPlayerConnected(i)) continue; // 
        
if(IsPlayerInRangeOfPoint(i,Radi,pos[0],pos[1],pos[2])) 
        { 
            if(
GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid) && GetPlayerInterior(playerid) == GetPlayerInterior(i))SendClientMessage(i,color,text); 
        } 
    } 
}  

В OnPlayerSpawn

PHP код:
SetPlayerSkills(playerid);  

В OnPlayerUpdate

PHP код:
    SetPVarInt(playerid"NewPlayerAmmo"GetPlayerAmmo(playerid)); 
    if(
GetPVarInt(playerid"NewPlayerAmmo") != GetPVarInt(playerid"PlayerAmmo")) 
    { 
        
OnPlayerAmmoChange(playeridGetPVarInt(playerid"NewPlayerAmmo"), GetPVarInt(playerid"PlayerAmmo")); 
        
SetPVarInt(playerid"PlayerAmmo"GetPVarInt(playerid"NewPlayerAmmo")); 
    } 
    
iNewPlayerAmmo[playerid] = GetPlayerAmmo(playerid); 
    if(
iNewPlayerAmmo[playerid] != iPlayerAmmo[playerid]) 
    { 
        
OnPlayerAmmoChange(playeridiNewPlayerAmmo[playerid], iPlayerAmmo[playerid]); 
        
iPlayerAmmo[playerid] = iNewPlayerAmmo[playerid]; 
    }  

К командам:

PHP код:
CMD:skill(playeridparams[]) 

    new 
string[128],percent[2] = "%"
    if(
PlayerLogged[playerid] == 0) return true
    if(
sscanf(params"i"params[0])) return SendClientMessage(playeridCOLOR_WHITE"Введите: /skill [id игрока]"); 
    if(!
IsPlayerConnected(params[0])) return SendClientMessage(playeridCOLOR_GREY"Игрок в оффлайне"); 
    if(!
IsPlayerInRangeOfPlayer(8.0playeridparams[0])) return SendClientMessage(playeridCOLOR_GREY"Игрок слишком далеко!"); 
    
//======= 
    
format(string,128,"SDPistol:\t%d%s\nD.Eagle:\t%d%s\nShotGun:\t%d%s\nMP5\t\t%d%s\nAK47:\t\t%d%s\nM4A1:\t\t%d%s"
    
PlayerInfo[playerid][pGunSkill][0],percent,PlayerInfo[playerid][pGunSkill][1],percent,PlayerInfo[playerid][pGunSkill][2],percent,PlayerInfo[playerid][pGunSkill][3],percent,PlayerInfo[playerid][pGunSkill][4],percent,PlayerInfo[playerid][pGunSkill][5],percent); 
    
ShowPlayerDialog(params[0],D_NULL,DIALOG_STYLE_MSGBOX,"Навык владения оружием",string,"Закрыть",""); 
    
//======= 
    
SendMes(playeridCOLOR_LIGHTBLUE"Вы показали свои навыки владения оружием %s'у"sendername(params[0])); 
    
SendMes(params[0], COLOR_LIGHTBLUE"%s показал(а) вам свои навыки владения оружием",PN(playerid)); 
    
format(totalstring100"%s показал(a) свои навыки владения оружием %s"PN(playerid), sendername(params[0])); 
    
ProxDetectorNew(playerid30.0COLOR_PURPLEtotalstring); 
    return 
true
}

 

 

 

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


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

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

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

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

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

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

Войти

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

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

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

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

×

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

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