Jump to content

Recommended Posts

Posted

Salut, am un server de stunt si nu mi se salveaza pozitia clanului, skin-ul liderului si al membrilor, gen, ele raman doar cand sunt pe server, daca ies si intru nu se salveaza.

CMD:msetskin(playerid, params[])
{
    if(PlayerInfo[playerid][ClanRank] < 5) return SendError(playerid, "Nu esti lider al unui clan!");
    strcat(eString, "{00FF00}Set your clan member skin:");
    ShowPlayerDialog(playerid, DIALOG_CLAN1, DIALOG_STYLE_INPUT, "Clan member skin", eString, "Set", "Close");
    return 1;
}
CMD:lsetskin(playerid, params[])
{
    if(PlayerInfo[playerid][ClanRank] < 5) return SendError(playerid, "Nu esti lider al unui clan!");
    strcat(eString, "{00FF00}Set leader skin id:");
    ShowPlayerDialog(playerid, DIALOG_CLAN2, DIALOG_STYLE_INPUT, "Leader skin", eString, "Set", "Close");
    return 1;
}

case DIALOG_CLAN1:
        {
            if(response)
            {
                //------------------------------------------------------------------
                new MemberSkin;
                //------------------------------------------------------------------
                if(sscanf(inputtext, "i", MemberSkin)) return ShowPlayerDialog(playerid, 123, DIALOG_STYLE_INPUT, "{FF0000}ERROR: {FFFFFF}Setting Clan Members Skin", "{00FF00}Please Insert Member Skin of the Clan {FF0000}(1-300)", "Select", "Exit");
                if(MemberSkin > 300 || MemberSkin < 0) return ShowPlayerDialog(playerid, 123, DIALOG_STYLE_INPUT, "{FF0000}ERROR: {FFFFFF}Setting Clan Members Skin", "{00FF00}Please Insert Member Skin of the Clan {FF0000}(1-300)", "Select", "Exit");
                //------------------------------------------------------------------
                if(PlayerInfo[playerid][ClanID] == PlayerInfo[playerid][ClanID]) if(PlayerInfo[playerid][ClanRank] < 2) SetPlayerSkin(playerid, MemberSkin), PlayerInfo[playerid][ClanSkinM] = MemberSkin;
                format(eQuery, sizeof(eQuery), "UPDATE `clans` SET `ClanMemberSkin` = '%s' WHERE `ID` = %d", PlayerInfo[playerid][ClanSkinM], PlayerInfo[playerid][ClanID]);
                mysql_tquery(DB_Connect, eQuery, "", "" );
            }
            else if(PlayerInfo[playerid][ClanID] == 0) ShowPlayerDialog(playerid, 123, DIALOG_STYLE_INPUT, "{FF0000}ERROR: {FFFFFF}Setting Clan Members Skin", "{00FF00}Please Insert Member Skin of the Clan. {FF0000}(1-300)", "Select", "Exit");
        }
        case DIALOG_CLAN2:
        {
            if(response)
            {
                new BossSkin;
                //------------------------------------------------------------------
                if(sscanf(inputtext, "i", BossSkin)) return ShowPlayerDialog(playerid, 123, DIALOG_STYLE_INPUT, "{FF0000}ERROR: {FFFFFF}Setting Clan Leaders Skin", "{00FF00}Please        Insert Boss Skin of the Clan {FF0000}(1-300)", "Select", "Exit");
                if(BossSkin > 300 || BossSkin < 0) return ShowPlayerDialog(playerid, 123, DIALOG_STYLE_INPUT, "{FF0000}ERROR: {FFFFFF}Setting Clan Leaders Skin", "{00FF00}Please Insert Boss Skin of the Clan {FF0000}(1-300)", "Select", "Exit");
                //------------------------------------------------------------------
                format(eQuery, sizeof(eQuery), "UPDATE `clans` SET `ClanLeaderSkin` = '%s' WHERE `ID` = %d", PlayerInfo[playerid][ClanSkinL], PlayerInfo[playerid][ClanID]);
                mysql_tquery(DB_Connect, eQuery, "", "" );
                if(PlayerInfo[playerid][ClanID] == PlayerInfo[playerid][ClanID]) if(PlayerInfo[playerid][ClanRank] >= 2) SetPlayerSkin(playerid, BossSkin), PlayerInfo[playerid][ClanSkinL] = BossSkin;
            }
            else if(PlayerInfo[playerid][ClanID] == 0) ShowPlayerDialog(playerid, 123, DIALOG_STYLE_INPUT, "{FF0000}ERROR: {FFFFFF}Setting Clan Leaders Skin", "{00FF00}Please Insert Boss Skin of the Clan. {FF0000}(1-300)", "Select", "Exit");
        }

Posted

Salut @seek nephrite,

In primul rand, ai gresit sectiunea. Daca dai scroll putin mai jos in categoria 'Ajutor Scripting', ai un buton mare albastru 'Ask a question'.

In alta ordine de idei, din cate vad, skinul nu se salveaza deoarece tu probabil ai randul ClanMemberSkin din tabelul clans, din baza de date, in format INT (intiger, sau numar mai exact), iar tu ii faci salvarea in script in format String (text mai exact).

Pentru a face salvarea corecta, trebuie sa convertesti textul pe care il introduci in dialog, in numar, folosind functia "strval". Iti las mai jos un exemplu pe baza scriptului tau, iar de acolo te descurci tu. Daca ai facut singur scriptul de mai sus, nu esti chair incepator.

case DIALOG_CLAN1:
{
    if(response)
    {
        //------------------------------------------------------------------
        new MemberSkin = strval( inputtext );
        //------------------------------------------------------------------
        if(MemberSkin > 300 || MemberSkin < 0) return ShowPlayerDialog(playerid, 123, DIALOG_STYLE_INPUT, "{FF0000}ERROR: {FFFFFF}Setting Clan Members Skin", "{00FF00}Please Insert Member Skin of the Clan {FF0000}(1-300)", "Select", "Exit");
        //------------------------------------------------------------------
        if(PlayerInfo[playerid][ClanID] == PlayerInfo[playerid][ClanID]) if(PlayerInfo[playerid][ClanRank] < 2) SetPlayerSkin(playerid, MemberSkin), PlayerInfo[playerid][ClanSkinM] = MemberSkin;
        mysql_format(DB_Connect, eQuery, sizeof(eQuery), "UPDATE `clans` SET `ClanMemberSkin` = '%d' WHERE `ID` = %d", MemberSkin, PlayerInfo[playerid][ClanID]);
        mysql_tquery(DB_Connect, eQuery, "", "" );
    }
    else if(PlayerInfo[playerid][ClanID] == 0) ShowPlayerDialog(playerid, 123, DIALOG_STYLE_INPUT, "{FF0000}ERROR: {FFFFFF}Setting Clan Members Skin", "{00FF00}Please Insert Member Skin of the Clan. {FF0000}(1-300)", "Select", "Exit");
}

Apropo, daca linia asta ("else if(PlayerInfo[playerid][ClanID] == 0) ShowPlayerDialog(playerid, 123, DIALOG_STYLE_INPUT, "{FF0000}ERROR: {FFFFFF}Setting Clan Members Skin", "{00FF00}Please Insert Member Skin of the Clan. {FF0000}(1-300)", "Select", "Exit");"), reprezinta restrictia urmatoare: Daca jucatorul nu este intr-un  clan.

[..] Atunci, ar trebui sa faci dialogul in felul urmator:

case DIALOG_CLAN1:
{
    if( !response ) return true;
    if(PlayerInfo[playerid][ClanID] == 0) return true;
    //------------------------------------------------------------------
    new MemberSkin = strval( inputtext );
    //------------------------------------------------------------------
    if(MemberSkin > 300 || MemberSkin < 0) return ShowPlayerDialog(playerid, 123, DIALOG_STYLE_INPUT, "{FF0000}ERROR: {FFFFFF}Setting Clan Members Skin", "{00FF00}Please Insert Member Skin of the Clan {FF0000}(1-300)", "Select", "Exit");
    //------------------------------------------------------------------
    if(PlayerInfo[playerid][ClanID] == PlayerInfo[playerid][ClanID]) if(PlayerInfo[playerid][ClanRank] < 2) SetPlayerSkin(playerid, MemberSkin), PlayerInfo[playerid][ClanSkinM] = MemberSkin;
    mysql_format(DB_Connect, eQuery, sizeof(eQuery), "UPDATE `clans` SET `ClanMemberSkin` = '%d' WHERE `ID` = %d", MemberSkin, PlayerInfo[playerid][ClanID]);
    mysql_tquery(DB_Connect, eQuery, "", "" );
}

 

Daca te-am ajutat =>

spacer.png

Posted

si cu pozitia clanului? am pus la onplayerspawn

if(PlayerInfo[playerid][ClanID] != 0)
    {
        if(PlayerInfo[playerid][ClanRank] == 5)
        {
            SetPlayerSkin(playerid, PlayerInfo[playerid][ClanSkinL]);
            GivePlayerMultiWeapons(playerid, PlayerInfo[playerid][ClanWeap1], 500, PlayerInfo[playerid][ClanWeap2], 500, PlayerInfo[playerid][ClanWeap3], 500, PlayerInfo[playerid][ClanWeap4], 500, PlayerInfo[playerid][ClanWeap5], 500, PlayerInfo[playerid][ClanWeap6], 500);
            SetPlayerPos(playerid, PlayerInfo[playerid][ClanX], PlayerInfo[playerid][ClanY], PlayerInfo[playerid][ClanZ]);
        }
        else if(PlayerInfo[playerid][ClanRank] < 5)
        {
            SetPlayerSkin(playerid, PlayerInfo[playerid][ClanSkinM]), GivePlayerMultiWeapons(playerid, PlayerInfo[playerid][ClanWeap1], 500, PlayerInfo[playerid][ClanWeap2], 500, PlayerInfo[playerid][ClanWeap3], 500, PlayerInfo[playerid][ClanWeap4], 500, PlayerInfo[playerid][ClanWeap5], 500, PlayerInfo[playerid][ClanWeap6], 500);
            SetPlayerPos(playerid, PlayerInfo[playerid][ClanX], PlayerInfo[playerid][ClanY], PlayerInfo[playerid][ClanZ]);
        }
    }

Posted

Am rezolvat, la loadclandetails aveam trecut if(playerinfo[playerid][rank] == 2 setplayerskin(clanleaderskin), eu avand definit liderul la rank 5, nu la 2. Multumesc oricum pentru raspunsuri. T/C?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.