Hikayeler

Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

Hızlı statü verme -like irisPanel 1

indirmek için izniniz yok

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Paylaşım icin teşekkürler
 


Bu tarz bi sorunla karşıılaşıyorum yardım pls !
aynı sorun bendede var neden kaynaklanıyor acaba bilen varmı
 
sorunsuz bir şekilde çalışıyor
 
Son düzenleme:
Paylaşım için teşekkürler
 
Bilgisayarımda şuan hazır bi kurulu oyun olmadığı için maalesef ss yokda, karakter pencerisindeki statü butonlarının yanına ekstra buton eklendi işte.
Gereksiz ekstra pencere açılması saçma geliyordu, bence başka öyle düşünen varsa kullanabilir :)
Mantığı aynı statü puanın kadar seçilen statüden verir, maks statüyü geçiyorsa değer maksı verir. Normal statü mantığıyla aynı










cmd.cpp:
// Uygun alanlara ekle:
ACMD(do_hizlistatuver);

    { "hizlistatuver", do_hizlistatuver, 0, POS_DEAD, GM_PLAYER },
cmd_general.cpp:
ACMD(do_hizlistatuver)
{
    char arg1[256];
    one_argument(argument, arg1, sizeof(arg1));

    if (!*arg1)
        return;

    if (ch->IsPolymorphed())
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("µĞ°© Áß¿¡´Â ´É·ÂÀ» ¿Ã¸± ¼ö ¾ø½À´Ï´Ù."));
        return;
    }

    if (ch->GetPoint(POINT_STAT) <= 0)
        return;

    BYTE idx = 0;

    if (!strcmp(arg1, "st"))
        idx = POINT_ST;
    else if (!strcmp(arg1, "dx"))
        idx = POINT_DX;
    else if (!strcmp(arg1, "ht"))
        idx = POINT_HT;
    else if (!strcmp(arg1, "iq"))
        idx = POINT_IQ;
    else
        return;

    if (ch->GetRealPoint(idx) >= MAX_STAT)
        return;

    if (idx == POINT_IQ)
    {
        ch->PointChange(POINT_MAX_HP, 0);
    }
    else if (idx == POINT_HT)
    {
        ch->PointChange(POINT_MAX_SP, 0);
    }

    BYTE hstatu = MAX_STAT - ch->GetRealPoint(idx);
    if (hstatu <= ch->GetPoint(POINT_STAT))
    {
        ch->SetRealPoint(idx, ch->GetRealPoint(idx) + hstatu);
        ch->SetPoint(idx, ch->GetPoint(idx) + hstatu);
        ch->ComputePoints();
        ch->PointChange(idx, 0);
        ch->PointChange(POINT_STAT, -hstatu);
        ch->ComputePoints();
    }
    else
    {
        ch->SetRealPoint(idx, ch->GetRealPoint(idx) + ch->GetPoint(POINT_STAT));
        ch->SetPoint(idx, ch->GetPoint(idx) + ch->GetPoint(POINT_STAT));
        ch->ComputePoints();
        ch->PointChange(idx, 0);
        ch->PointChange(POINT_STAT, -ch->GetPoint(POINT_STAT));
        ch->ComputePoints();
    }
}


root/uicharacter.py:
## Arat:
        self.statusPlusCommandDict={

## Bitimine ekle:
        self.statusHizliPlusCommandDict={
            "HTH" : "/hizlistatuver ht",
            "INT" : "/hizlistatuver iq",
            "STR" : "/hizlistatuver st",
            "DEX" : "/hizlistatuver dx",
        }

## Arat:
        self.statusPlusButtonDict = {
            "HTH"        : self.GetChild("HTH_Plus"),
            "INT"        : self.GetChild("INT_Plus"),
            "STR"        : self.GetChild("STR_Plus"),
            "DEX"        : self.GetChild("DEX_Plus"),
        }

## Altına ekle:
        self.statusHizliPlusButtonDict = {
            "HTH"        : self.GetChild("HTH_HizliPlus"),
            "INT"        : self.GetChild("INT_HizliPlus"),
            "STR"        : self.GetChild("STR_HizliPlus"),
            "DEX"        : self.GetChild("DEX_HizliPlus"),
        }

## Arat:
    def __RefreshStatusPlusButtonList(self):

## Değiştir:
    def __RefreshStatusPlusButtonList(self):
        if self.isLoaded==0:
            return

        statusPlusPoint=player.GetStatus(player.STAT)

        if statusPlusPoint>0:
            self.statusPlusValue.SetText(str(statusPlusPoint))
            self.statusPlusLabel.Show()
            self.ShowStatusPlusButtonList()
            self.ShowStatusHizliPlusButtonList()
        else:
            self.statusPlusValue.SetText(str(0))
            self.statusPlusLabel.Hide()
            self.HideStatusPlusButtonList()
            self.HideStatusHizliPlusButtonList()

## Arat:
    def __OnClickStatusPlusButton(self, statusKey):

## Bitimine ekle:
    def __OnClickHizliStatusPlusButton(self, statusKey):
        try:
            statusHizliPlusCommand=self.statusHizliPlusCommandDict[statusKey]
            net.SendChatPacket(statusHizliPlusCommand)
        except KeyError, msg:
            dbg.TraceError("CharacterWindow.__OnClickStatusHizliPlusButton KeyError: %s", msg)

## Arat:
        for (statusPlusKey, statusPlusButton) in self.statusPlusButtonDict.items():

## Bitimine ekle:
        for (statusHizliPlusKey, statusHizliPlusButton) in self.statusHizliPlusButtonDict.items():
            statusHizliPlusButton.SAFE_SetEvent(self.__OnClickHizliStatusPlusButton, statusHizliPlusKey)
            statusHizliPlusButton.ShowToolTip = lambda arg=statusHizliPlusKey: self.__OverInStatButton(arg)
            statusHizliPlusButton.HideToolTip = lambda arg=statusHizliPlusKey: self.__OverOutStatButton()

## Arat:
    def ShowStatusPlusButtonList(self):
        for (statePlusKey, statusPlusButton) in self.statusPlusButtonDict.items():
            statusPlusButton.Show()

    def HideStatusPlusButtonList(self):
        for (statePlusKey, statusPlusButton) in self.statusPlusButtonDict.items():
            statusPlusButton.Hide()

## Altına ekle:
    def ShowStatusHizliPlusButtonList(self):
        for (statePlusKey, statusHizliPlusButton) in self.statusHizliPlusButtonDict.items():
            statusHizliPlusButton.Show()

    def HideStatusHizliPlusButtonList(self):
        for (statePlusKey, statusHizliPlusButton) in self.statusHizliPlusButtonDict.items():
            statusHizliPlusButton.Hide()
uiscript/characterwindow.py:
## Üste ekle:
AXS_BUTON_YOL="d:/ymir work/ui/axsol/"

## Arat:
{ "name":"HTH_Plus", "type" : "button", "x":41, "y":3, "default_image" : ROOT_PATH+"btn_plus_up.sub", "over_image" : ROOT_PATH+"btn_plus_over.sub", "down_image" : ROOT_PATH+"btn_plus_down.sub", },
## Altına ekle:
{ "name":"HTH_HizliPlus", "type" : "button", "x" : 54, "y" : 2, "default_image" : AXS_BUTON_YOL+"hstatu_1.png", "over_image" : AXS_BUTON_YOL+"hstatu_2.png", "down_image" : AXS_BUTON_YOL+"hstatu_3.png", },
## Arat:
{ "name":"INT_Plus", "type" : "button", "x" : 41, "y" : 3, "default_image" : ROOT_PATH+"btn_plus_up.sub", "over_image" : ROOT_PATH+"btn_plus_over.sub", "down_image" : ROOT_PATH+"btn_plus_down.sub", },
## Altına ekle:
{ "name":"INT_HizliPlus", "type" : "button", "x" : 54, "y" : 2, "default_image" : AXS_BUTON_YOL+"hstatu_1.png", "over_image" : AXS_BUTON_YOL+"hstatu_2.png", "down_image" : AXS_BUTON_YOL+"hstatu_3.png", },
## Arat:
{ "name":"STR_Plus", "type" : "button", "x":41, "y":3, "default_image" : ROOT_PATH+"btn_plus_up.sub", "over_image" : ROOT_PATH+"btn_plus_over.sub", "down_image" : ROOT_PATH+"btn_plus_down.sub", },
## Altına ekle:
{ "name":"STR_HizliPlus", "type" : "button", "x" : 54, "y" : 2, "default_image" : AXS_BUTON_YOL+"hstatu_1.png", "over_image" : AXS_BUTON_YOL+"hstatu_2.png", "down_image" : AXS_BUTON_YOL+"hstatu_3.png", },
## Arat:
{ "name":"DEX_Plus", "type" : "button", "x":41, "y":3, "default_image" : ROOT_PATH+"btn_plus_up.sub", "over_image" : ROOT_PATH+"btn_plus_over.sub", "down_image" : ROOT_PATH+"btn_plus_down.sub", },
## Altına ekle:
{ "name":"DEX_HizliPlus", "type" : "button", "x" : 54, "y" : 2, "default_image" : AXS_BUTON_YOL+"hstatu_1.png", "over_image" : AXS_BUTON_YOL+"hstatu_2.png", "down_image" : AXS_BUTON_YOL+"hstatu_3.png", },




sağdan doğru fareyi getirdiğinde yarıya kadar butonu algılamıyor
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst