Jump to content

salvare skin/loc spawn eroare


seek nephrite

Recommended Posts

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");
        }

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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]);
        }
    }

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.