Burgershot
  • Home
  • Members
  • Team
  • Help
  • Search
  • Register
  • Login
  • Home
  • Members
  • Help
  • Search
Burgershot SA-MP Pawn Scripting [Pawn] [HELP] Weapon Skill Command

 
  • 0 Vote(s) - 0 Average
Pawn [HELP] Weapon Skill Command
spyrothedragon96
Offline

Burgershot Member
Posts: 5
Threads: 4
Joined: Jan 2021
Reputation: 0
Location: Italia
#1
2021-08-03, 08:33 AM (This post was last modified: 2021-08-03, 11:46 AM by spyrothedragon96.)
Hello everyone.
I made 3 commands to set the skill level of the weapons, /poor, /gangster and /hitman.
The problem is that when me and the other players die / disconnect, the level goes back to the initial level, that is to the maximum, and the command I had set is not saved.
How can I do to get it saved when one dies / disconnects?

Quote:COMMAND:poor(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "Devi loggare come RCON.");
    {
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerNPC(i) || IsPlayerConnected(i))
{
SetPlayerSkillLevel(i, WEAPONSKILL_PISTOL, 1);
SetPlayerSkillLevel(i, WEAPONSKILL_PISTOL_SILENCED, 1);
SetPlayerSkillLevel(i, WEAPONSKILL_DESERT_EAGLE, 1);
SetPlayerSkillLevel(i, WEAPONSKILL_SHOTGUN, 1);
SetPlayerSkillLevel(i, WEAPONSKILL_SAWNOFF_SHOTGUN, 1);
SetPlayerSkillLevel(i, WEAPONSKILL_SPAS12_SHOTGUN, 1);
SetPlayerSkillLevel(i, WEAPONSKILL_MICRO_UZI, 1);
SetPlayerSkillLevel(i, WEAPONSKILL_MP5, 1);
SetPlayerSkillLevel(i, WEAPONSKILL_AK47, 1);
SetPlayerSkillLevel(i, WEAPONSKILL_M4, 1);
SetPlayerSkillLevel(i, WEAPONSKILL_SNIPERRIFLE, 1);
        }
    }
    }
return 1;
}

COMMAND:gangster(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "Devi loggare come RCON.");
    {
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerNPC(i) || IsPlayerConnected(i))
{
    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 40);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 500);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, 200);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, 200);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 200);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN, 200);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 50);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, 250);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, 200);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, 200);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SNIPERRIFLE, 300);
        }
    }
    }
    return 1;
}

COMMAND:hitman(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "Devi loggare come RCON.");
    {
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerNPC(i) || IsPlayerConnected(i))
{
    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 999);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 999);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, 999);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, 999);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 999);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN, 999);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 999);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, 999);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, 999);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, 999);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SNIPERRIFLE, 999);
        }
    }
    }
    return 1;
}
DjSon231
Offline

Burgershot Member
Posts: 4
Threads: 1
Joined: Aug 2021
Reputation: 0
#2
2021-08-03, 07:58 PM (This post was last modified: 2021-08-03, 07:59 PM by DjSon231.)
Code:
stock WeapSkill_Poor(playerid)
{
    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SNIPERRIFLE, 1);
    return 1;
}

COMMAND:poor(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "Devi loggare come RCON.");
    {
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            if(!IsPlayerNPC(i) || IsPlayerConnected(i))
            {
                SetPVarInt(i, "WeapSkill", 1);
                WeapSkill_Poor(i);
            }
        }
    }
    return 1;
}

You mean, like that?
Try to set PVars - theese are the best for this problems. They are resetting after disconnecting. Define 1 as poor, 2 as gangster, 3 as hitman - and integers in PVars, like in my solution. Next, in OnPlayerSpawn, use WeapSkill_Poor function when PVar "WeapSkill" is set to 1, WeapSkill_Gangster (after you create it) if PVar is set to 2 and so one. If you need to save it after disconnect, use mysql or file manipulation system.
spyrothedragon96
Offline

Burgershot Member
Posts: 5
Threads: 4
Joined: Jan 2021
Reputation: 0
Location: Italia
#3
2021-08-04, 10:58 AM
Thank you very much!
« Next Oldest | Next Newest »



  • View a Printable Version
  • Subscribe to this thread
Forum Jump:

© Burgershot - Powered by our Community and MyBB Original Theme by Emerald

Linear Mode
Threaded Mode