Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 668
» Latest member: onuruzax
» Forum threads: 247
» Forum posts: 501

Full Statistics

Online Users
There are currently 14 online users.
» 1 Member(s) | 13 Guest(s)
BangerMusik

Latest Threads
40k-ból 34k PROTOK
Forum: Support
Last Post: DEV_Sanchez
07-14-2018, 04:58 AM
» Replies: 0
» Views: 52
M2M Naga run
Forum: Support
Last Post: DEV_Sanchez
07-14-2018, 04:57 AM
» Replies: 10
» Views: 938
Ridack SHOP 3D & MAP & EF...
Forum: Services
Last Post: Ridack3D
06-26-2018, 06:09 PM
» Replies: 3
» Views: 807
Hogyan keres 10 dollart
Forum: Tutorial
Last Post: KecskeGyilkos
06-25-2018, 01:43 AM
» Replies: 0
» Views: 247
[C++ & Python] Érzelmek b...
Forum: C++ / DIFF / Source
Last Post: Pisti95
06-06-2018, 09:27 PM
» Replies: 0
» Views: 437
network module hiba 4. le...
Forum: Support
Last Post: Neon
06-01-2018, 07:53 PM
» Replies: 1
» Views: 265
[C++, Python] Contact Sys...
Forum: C++ / DIFF / Source
Last Post: [MOD]Morpheus
05-27-2018, 09:02 PM
» Replies: 11
» Views: 2,653
[C++] Vörös és Kék ital t...
Forum: C++ / DIFF / Source
Last Post: Pisti95
05-27-2018, 09:56 AM
» Replies: 0
» Views: 603
[C++] Nap-Hold Elixírek t...
Forum: C++ / DIFF / Source
Last Post: Pisti95
05-27-2018, 09:48 AM
» Replies: 0
» Views: 391
[C++] Mount Block
Forum: C++ / DIFF / Source
Last Post: Martinez-Works
05-21-2018, 12:59 PM
» Replies: 0
» Views: 445

 
  40k-ból 34k PROTOK
Posted by: DEV_Sanchez - 07-14-2018, 04:58 AM - Forum: Support - No Replies

Üdv srlányok.

Az lenne a kérdésem,hogy 40k item/mob protoból lehet varázsolni 34k-s item/mob protot? Van megoldás rá?Smile

Print this item

  Hogyan keres 10 dollart
Posted by: KecskeGyilkos - 06-25-2018, 01:43 AM - Forum: Tutorial - No Replies

Regiszralj kapsz 10 dollar erteku  CPS Coint ami szefbe lesz julius 1-ig aztan haszanlatod tehat att valthatod bitcoinba, etheriumba stb  


Egy ipen 3 account lehet ami 3x11 (arfolymtol fug) dolarod les

Meghivo linkem > You are not allowed to view links. Register or Login to view.

Print this item

Thumbs Up [C++ & Python] Érzelmek bővítése
Posted by: Pisti95 - 06-06-2018, 09:27 PM - Forum: C++ / DIFF / Source - No Replies

Sziasztok fórumozók!  Smile

Ezt kiteszem, mert ezt nem nehéz megcsinálni, de nem láttam erről leírást.
Sokak fejében biztos megfordult, jó lenne több érzelem berakása. Itt egy lehetőség arra, hogyan bővítsük ezt.

Ez a leírás jó más érzelmek pótlására is, csak tánchoz írtam.  ;D



Indító forrás:

Gamelib/ActorInstanceMotion.cpp

Ezt a tömböt kell kiegészíteni.

Code:
        case CRaceMotionData::NAME_DANCE_1:
        case CRaceMotionData::NAME_DANCE_2:    
        case CRaceMotionData::NAME_DANCE_3:
        case CRaceMotionData::NAME_DANCE_4:
        case CRaceMotionData::NAME_DANCE_5:
        case CRaceMotionData::NAME_DANCE_6:

Kiegészíted ezzel:
Code:
        case CRaceMotionData::NAME_DANCE_7:


Gamelib/RaceMotionData.cpp

Ezt a tömböt kiegészíted:
Code:
        case NAME_DANCE_1:
        case NAME_DANCE_2:
        case NAME_DANCE_3:
        case NAME_DANCE_4:
        case NAME_DANCE_5:
        case NAME_DANCE_6:

Kiegészíted:
Code:
        case NAME_DANCE_7:


Gamelib/RaceMotionData.h

Ezt egészíted ki:
Code:
            NAME_DANCE_1,
            NAME_DANCE_2,
            NAME_DANCE_3,
            NAME_DANCE_4,
            NAME_DANCE_5,
            NAME_DANCE_6,        // °­ł˛˝şĹ¸ŔĎ

Egy ilyen sorral:
Code:
            NAME_DANCE_7,

########

Userinterface/PythonCharacterModule.cpp

Ehhez a tömbhöz:
Code:
    PyModule_AddIntConstant(poModule, "MOTION_DANCE_1",                        CRaceMotionData::NAME_DANCE_1);
    PyModule_AddIntConstant(poModule, "MOTION_DANCE_2",                        CRaceMotionData::NAME_DANCE_2);

    PyModule_AddIntConstant(poModule, "MOTION_DANCE_3",                        CRaceMotionData::NAME_DANCE_3);
    PyModule_AddIntConstant(poModule, "MOTION_DANCE_4",                        CRaceMotionData::NAME_DANCE_4);
    PyModule_AddIntConstant(poModule, "MOTION_DANCE_5",                        CRaceMotionData::NAME_DANCE_5);
    PyModule_AddIntConstant(poModule, "MOTION_DANCE_6",                        CRaceMotionData::NAME_DANCE_6);


Újabb sort adsz:
Code:
    PyModule_AddIntConstant(poModule, "MOTION_DANCE_7",                        CRaceMotionData::NAME_DANCE_7);



Userinterface/PythonNetworkStreamCommand.cpp

Rákeresel erre:
Code:
            s_emotionDict["dance6"] = CRaceMotionData::NAME_DANCE_6;


Aláírod ezt:
Code:
            s_emotionDict["dance7"] = CRaceMotionData::NAME_DANCE_7;


Userinterface/PythonPlayerModule.cpp

Ezt a tömböt kiegészíted:
Code:
    EMOTION_DANCE_1,
    EMOTION_DANCE_2,
    EMOTION_DANCE_3,
    EMOTION_DANCE_4,
    EMOTION_DANCE_5,
    EMOTION_DANCE_6,        // °­ł˛˝şĹ¸ŔĎ


Ezzel a sorral:
Code:
    EMOTION_DANCE_7,


Ugyan itt rákeresel erre:
Code:
    PyModule_AddIntConstant(poModule, "EMOTION_DANCE_1",        EMOTION_DANCE_1);
    PyModule_AddIntConstant(poModule, "EMOTION_DANCE_2",        EMOTION_DANCE_2);
    PyModule_AddIntConstant(poModule, "EMOTION_DANCE_3",        EMOTION_DANCE_3);
    PyModule_AddIntConstant(poModule, "EMOTION_DANCE_4",        EMOTION_DANCE_4);
    PyModule_AddIntConstant(poModule, "EMOTION_DANCE_5",        EMOTION_DANCE_5);
    PyModule_AddIntConstant(poModule, "EMOTION_DANCE_6",        EMOTION_DANCE_6);                // PSY °­ł˛˝şĹ¸ŔĎ


Alá írsz egy ilyet:
Code:
    PyModule_AddIntConstant(poModule, "EMOTION_DANCE_7",        EMOTION_DANCE_7);


################################################
################################################

Game fájl forrásba:

cmd.cpp fájlt megnyitod!

Megkeresed ezt a listát:
Code:
    // DANCE
    { "dance1",        do_emotion,        0,            POS_FIGHTING,    GM_PLAYER    },
    { "dance2",        do_emotion,        0,            POS_FIGHTING,    GM_PLAYER    },
    { "dance3",        do_emotion,        0,            POS_FIGHTING,    GM_PLAYER    },
    { "dance4",        do_emotion,        0,            POS_FIGHTING,    GM_PLAYER    },
    { "dance5",        do_emotion,        0,            POS_FIGHTING,    GM_PLAYER    },
    { "dance6",        do_emotion,        0,            POS_FIGHTING,    GM_PLAYER    },
    // END_OF_DANCE

Itt kell bővítened, hogy a GM parancsként is lejátszódjon az animáció. pl.: /dance6

Ezzel bővíted:
Code:
    { "dance7",        do_emotion,        0,            POS_FIGHTING,    GM_PLAYER    },

/////////////////////////////////////////////////////////////////////////////////////

cmd_emotion.cpp

Ezt a tömböt egészíted itt is ki:
Code:
    // DANCE
    { "´í˝ş1",    "dance1",    0,                        1.0f },
    { "´í˝ş2",    "dance2",    0,                        1.0f },
    { "´í˝ş3",    "dance3",    0,                        1.0f },
    { "´í˝ş4",    "dance4",    0,                        1.0f },
    { "´í˝ş5",    "dance5",    0,                        1.0f },
    { "´í˝ş6",    "dance6",    0,                        1.0f },
    // END_OF_DANCE

Pl.: Ezzel:

Code:
    { "´í˝ş7",    "dance7",    0,                        1.0f },



A forrás része itt véget is ér.  8)


--------------------------------------------------------------------------------------------------------------------

Kliens python bővítés

root.eix/epk

Emotion.py


Rákeresünk erre a sorra:

Code:
    EMOTION_DANCE_6 = 18

Aláírjuk ezt:

Code:
    EMOTION_DANCE_7 = 19

Utána rákeresünk erre:

Code:
        EMOTION_DANCE_6 :        {"name": locale.EMOTION_DANCE_6,     "command":"/dance6"},

Aláírjuk ezt:

Code:
        EMOTION_DANCE_7 :        {"name": locale.EMOTION_DANCE_7,     "command":"/dance7"},


Rákeresünk erre a sorra is:

Code:
EMOTION_DANCE_6        :    "icon/action/dance6.tga",

Aláírjuk ezt:

Code:
EMOTION_DANCE_6        :    "icon/action/dance7.tga",

Rákeresünk erre:

Code:
        chr.MOTION_DANCE_6 :            "dance_6.msa",

Alá írjuk ezt:

Code:
        chr.MOTION_DANCE_7 :            "dance_7.msa",


Kész, elmentheted!


Locale.eix/epk-t kibontod!

locale_game.txt-t megnyitod Notepad++-al

Megkeresed ezt a sort:

Code:
EMOTION_DANCE_6

Aláírod ezt a sort:

Code:
EMOTION_DANCE_7    Tánc 7


Változtatni lehet az érzelmek fülön, hogy több helyünk legyen!
Köszönet Danesz-nek, hogy kipróbálta a leírást! Smile


uiscript/characterwindow.py

Így nézzen ki (részlet):
Code:
{     "name" : "Emoticon_Page",     "type" : "window",     "style" : ("attach",),     "x" : 0,     "y" : 24,     "width" : 250,     "height" : 304,     "children" :     (      ## ±âş» ľ×ĽÇ Á¦¸ń      { "name":"Action_Bar", "type":"horizontalbar", "x":12, "y":11, "width":223, },      { "name":"Action_Bar_Text", "type":"text", "x":15, "y":13, "text":uiScriptLocale.CHARACTER_NORMAL_ACTION },      ## Basis Action Slot      {       "name" : "SoloEmotionSlot",       "type" : "grid_table",       "x" : 30,       "y" : 33,       "horizontal_align" : "center",       "start_index" : 1,       "x_count" : 6,       "y_count" : 5,       "x_step" : 32,       "y_step" : 32,       "x_blank" : 0,       "y_blank" : 0,       "image" : ICON_SLOT_FILE,      },      ## »óČŁ ľ×ĽÇ Á¦¸ń      { "name":"Reaction_Bar", "type":"horizontalbar", "x":12, "y":8+200, "width":223, },      { "name":"Reaction_Bar_Text", "type":"text", "x":15, "y":10+200, "text":uiScriptLocale.CHARACTER_MUTUAL_ACTION },      ## Reaction Slot      {       "name" : "DualEmotionSlot",       "type" : "grid_table",       "x" : 30,       "y" : 230,       "start_index" : 51,       "x_count" : 6,       "y_count" : 1,       "x_step" : 32,       "y_step" : 32,       "x_blank" : 0,       "y_blank" : 0,       "image" : ICON_SLOT_FILE,      },     ),    },



Végeredmény:
[Image: yCTuaab.jpg]




Ennyi lenne! Big Grin


Üdv, Pisti95

Print this item

  network module hiba 4. leltár berakás után....
Posted by: NORBI000 - 05-31-2018, 02:07 PM - Forum: Support - Replies (1)

###################################################################################################
# Network

import app
import chr
import dbg
import net
import snd

import chr
import chrmgr
import background
import player
import playerSettingModule

import ui
import uiPhaseCurtain

import localeInfo

class PopupDialog(ui.ScriptWindow):

def __init__(self):
print "NEW POPUP DIALOG ----------------------------------------------------------------------------"
ui.ScriptWindow.__init__(self)
self.CloseEvent = 0

def __del__(self):
print "---------------------------------------------------------------------------- DELETE POPUP DIALOG "
ui.ScriptWindow.__del__(self)

def LoadDialog(self):
PythonScriptLoader = ui.PythonScriptLoader()
PythonScriptLoader.LoadScriptFile(self, "UIScript/PopupDialog.py")

def Open(self, Message, event = 0, ButtonName = localeInfo.UI_CANCEL):

if True == self.IsShow():
self.Close()

self.Lock()
self.SetTop()
self.CloseEvent = event

AcceptButton = self.GetChild("accept")
AcceptButton.SetText(ButtonName)
AcceptButton.SetEvent(ui.__mem_func__(self.Close))

self.GetChild("message").SetText(Message)
self.Show()

def Close(self):

if False == self.IsShow():
self.CloseEvent = 0
return

self.Unlock()
self.Hide()

if 0 != self.CloseEvent:
self.CloseEvent()
self.CloseEvent = 0

def Destroy(self):
self.Close()
self.ClearDictionary()

def OnPressEscapeKey(self):
self.Close()
return True

def OnIMEReturn(self):
self.Close()
return True

##
## Main Stream
##
class MainStream(object):
isChrData=0

def __init__(self):
print "NEWMAIN STREAM ----------------------------------------------------------------------------"
net.SetHandler(self)
net.SetTCPRecvBufferSize(128*1024)
net.SetTCPSendBufferSize(4096)
net.SetUDPRecvBufferSize(4096)

self.id=""
self.pwd=""
self.addr=""
self.port=0
self.account_addr=0
self.account_port=0
self.slot=0
self.isAutoSelect=0
self.isAutoLogin=0

self.curtain = 0
self.curPhaseWindow = 0
self.newPhaseWindow = 0

def __del__(self):
print "---------------------------------------------------------------------------- DELETE MAIN STREAM "

def Destroy(self):
if self.curPhaseWindow:
self.curPhaseWindow.Close()
self.curPhaseWindow = 0

if self.newPhaseWindow:
self.newPhaseWindow.Close()
self.newPhaseWindow = 0

self.popupWindow.Destroy()
self.popupWindow = 0

self.curtain = 0

def Create(self):
self.CreatePopupDialog()

self.curtain = uiPhaseCurtain.PhaseCurtain()

def SetPhaseWindow(self, newPhaseWindow):
if self.newPhaseWindow:
#print "이미 새로운 윈도우로 바꾼상태에서 또 바꿈", newPhaseWindow
self.__ChangePhaseWindow()

self.newPhaseWindow=newPhaseWindow

if self.curPhaseWindow:
#print "페이드 아웃되면 바꿈"
self.curtain.FadeOut(self.__ChangePhaseWindow)
else:
#print "현재 윈도우가 없는 상태라 바로 바꿈"
self.__ChangePhaseWindow()

def __ChangePhaseWindow(self):
oldPhaseWindow=self.curPhaseWindow
newPhaseWindow=self.newPhaseWindow
self.curPhaseWindow=0
self.newPhaseWindow=0

if oldPhaseWindow:
oldPhaseWindow.Close()

if newPhaseWindow:
newPhaseWindow.Open()

self.curPhaseWindow=newPhaseWindow

if self.curPhaseWindow:
self.curtain.FadeIn()
else:
app.Exit()

def CreatePopupDialog(self):
self.popupWindow = PopupDialog()
self.popupWindow.LoadDialog()
self.popupWindow.SetCenterPosition()
self.popupWindow.Hide()


## SelectPhase
##########################################################################################
def SetLogoPhase(self):
net.Disconnect()

import introLogo
self.SetPhaseWindow(introLogo.LogoWindow(self))

def SetLoginPhase(self):
net.Disconnect()

import introLogin
self.SetPhaseWindow(introLogin.LoginWindow(self))

def SameLogin_SetLoginPhase(self):
net.Disconnect()
        
import introLogin
introInst = introLogin.LoginWindow(self)
self.SetPhaseWindow(introInst)
introInst.SameLogin_OpenUI()

def SetSelectEmpirePhase(self):
try:
import introEmpire
self.SetPhaseWindow(introEmpire.SelectEmpireWindow(self))
except:
import exception
exception.Abort("networkModule.SetSelectEmpirePhase")


def SetReselectEmpirePhase(self):
try:
import introEmpire
self.SetPhaseWindow(introEmpire.ReselectEmpireWindow(self))
except:
import exception
exception.Abort("networkModule.SetReselectEmpirePhase")

def SetSelectCharacterPhase(self):
try:
localeInfo.LoadLocaleData()
import introSelect
self.popupWindow.Close()
self.SetPhaseWindow(introSelect.SelectCharacterWindow(self))
except:
import exception
exception.Abort("networkModule.SetSelectCharacterPhase")

def SetCreateCharacterPhase(self):
try:
import introCreate
self.SetPhaseWindow(introCreate.CreateCharacterWindow(self))
except:
import exception
exception.Abort("networkModule.SetCreateCharacterPhase")

def SetTestGamePhase(self, x, y):
try:
import introLoading
loadingPhaseWindow=introLoading.LoadingWindow(self)
loadingPhaseWindow.LoadData(x, y)
self.SetPhaseWindow(loadingPhaseWindow)
except:
import exception
exception.Abort("networkModule.SetLoadingPhase")



def SetLoadingPhase(self):
try:
import introLoading
self.SetPhaseWindow(introLoading.LoadingWindow(self))
except:
import exception
exception.Abort("networkModule.SetLoadingPhase")

def SetGamePhase(self):
try:
import game
self.popupWindow.Close()
self.SetPhaseWindow(game.GameWindow(self))
except:
raise
import exception
exception.Abort("networkModule.SetGamePhase")

################################
# Functions used in python

## Login
def Connect(self):
import constInfo
if constInfo.KEEP_ACCOUNT_CONNETION_ENABLE:
net.ConnectToAccountServer(self.addr, self.port, self.account_addr, self.account_port)
else:
net.ConnectTCP(self.addr, self.port)

#net.ConnectUDP(IP, Port)

def SetConnectInfo(self, addr, port, account_addr=0, account_port=0):
self.addr = addr
self.port = port
self.account_addr = account_addr
self.account_port = account_port

def GetConnectAddr(self):
return self.addr

def SetLoginInfo(self, id, pwd):
self.id = id
self.pwd = pwd
net.SetLoginInfo(id, pwd)

def CancelEnterGame(self):
pass

## Select
def SetCharacterSlot(self, slot):
self.slot=slot

def GetCharacterSlot(self):
return self.slot

## Empty
def EmptyFunction(self):
pass




Aki tud valamit hogy mi lehet vele jelezze kérem. köszi

Print this item

Thumbs Up [C++] Vörös és Kék ital tiltása adott mapindexen
Posted by: Pisti95 - 05-27-2018, 09:56 AM - Forum: C++ / DIFF / Source - No Replies

Megírom ezt is, mondjuk nem bonyolult már az Elixírek mintájára beilleszteni a megfelelő kód részletet a case USE_POTION részbe.  Rolleyes


Ezt a részt:

Code:
                    case USE_POTION:
                        if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
                        {
                            if (quest::CQuestManager::instance().GetEventFlag("arena_potion_limit") > 0)
                            {
                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´ë·ĂŔ忡Ľ­ »çżëÇĎ˝Ç Ľö ľř˝Ŕ´Ď´Ů."));
                                return false;
                            }
                        
                            switch (item->GetVnum())
                            {
                                case 27001 :
                                case 27002 :
                                case 27003 :
                                case 27004 :
                                case 27005 :
                                case 27006 :
                                    if (quest::CQuestManager::instance().GetEventFlag("arena_potion_limit_count") < 10000)
                                    {
                                        if (m_nPotionLimit <= 0)
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("»çżë Á¦ÇŃ·®Ŕ» ĂĘ°úÇĎż´˝Ŕ´Ď´Ů."));
                                            return false;
                                        }
                                    }
                                    break;

                                default :
                                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´ë·ĂŔ忡Ľ­ »çżëÇĎ˝Ç Ľö ľř˝Ŕ´Ď´Ů."));
                                    return false;
                            }
                        }


Lecseréled erre:

Code:
                    case USE_POTION:
                        if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
                        {
                            if (quest::CQuestManager::instance().GetEventFlag("arena_potion_limit") > 0)
                            {
                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´ë·ĂŔ忡Ľ­ »çżëÇĎ˝Ç Ľö ľř˝Ŕ´Ď´Ů."));
                                return false;
                            }
                            
                                    if (GetMapIndex() == 113 || GetMapIndex() == 112) /////elixírek tiltása
                                    { ////OX
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("potik tiltas"));
                                            return false;
                                    }
                                    ////////////////////////////////////////////
                        
                            switch (item->GetVnum())
                            {
                                case 27001 :
                                case 27002 :
                                case 27003 :
                                case 27004 :
                                case 27005 :
                                case 27006 :
                                    if (quest::CQuestManager::instance().GetEventFlag("arena_potion_limit_count") < 10000)
                                    {
                                        if (m_nPotionLimit <= 0)
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("»çżë Á¦ÇŃ·®Ŕ» ĂĘ°úÇĎż´˝Ŕ´Ď´Ů."));
                                            return false;
                                        }
                                    }
                                    break;

                                default :
                                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´ë·ĂŔ忡Ľ­ »çżëÇĎ˝Ç Ľö ľř˝Ŕ´Ď´Ů."));
                                    return false;
                            }
                        }



locale_string.txt:

Code:
"potik tiltasa";
"Az italokat nem használhatod ezen a területen!";


Üdv, Pisti95

Print this item

Thumbs Up [C++] Nap-Hold Elixírek tiltása adott mapindexen
Posted by: Pisti95 - 05-27-2018, 09:48 AM - Forum: C++ / DIFF / Source - No Replies

Kérdezték tőlem privátban, hogy hogyan lehetne ezt megoldani, itt van rá egy megoldás.  Cool


char_item.cpp

Rákerestek erre:

Code:
                            case ITEM_AUTO_HP_RECOVERY_S:
                            case ITEM_AUTO_HP_RECOVERY_M:
                            case ITEM_AUTO_HP_RECOVERY_L:
                            case ITEM_AUTO_HP_RECOVERY_X:
                            case ITEM_AUTO_SP_RECOVERY_S:
                            case ITEM_AUTO_SP_RECOVERY_M:
                            case ITEM_AUTO_SP_RECOVERY_L:
                            case ITEM_AUTO_SP_RECOVERY_X:
                            // ą«˝Ăą«˝ĂÇĎÁö¸¸ ŔĚŔüżˇ ÇĎ´ř °É °íġ±â´Â ą«Ľ·°í...
                            // ±×·ˇĽ­ ±×łÉ Çϵĺ ÄÚµů. Ľ±ą° »óŔÚżë ŔÚµżą°ľŕ ľĆŔĚĹ۵é.
                            case REWARD_BOX_ITEM_AUTO_SP_RECOVERY_XS:
                            case REWARD_BOX_ITEM_AUTO_SP_RECOVERY_S:
                            case REWARD_BOX_ITEM_AUTO_HP_RECOVERY_XS:
                            case REWARD_BOX_ITEM_AUTO_HP_RECOVERY_S:
                            case FUCKING_BRAZIL_ITEM_AUTO_SP_RECOVERY_S:
                            case FUCKING_BRAZIL_ITEM_AUTO_HP_RECOVERY_S:

A case-ek alá kell ezt írni:
Code:
                                    /////////////////////////////////////////////
                                    if (GetMapIndex() == 113 || GetMapIndex() == 112) /////elixírek tiltása
                                    {
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("elixir tiltas"));
                                            return false;
                                    }
                                    ////////////////////////////////////////////


A példámmal OX map-on tiltjuk az elixíreket, viszont kiegészíthető több mapindexre is.



Így fog kinézni (részlet):
Code:
                            case ITEM_AUTO_HP_RECOVERY_S:
                            case ITEM_AUTO_HP_RECOVERY_M:
                            case ITEM_AUTO_HP_RECOVERY_L:
                            case ITEM_AUTO_HP_RECOVERY_X:
                            case ITEM_AUTO_SP_RECOVERY_S:
                            case ITEM_AUTO_SP_RECOVERY_M:
                            case ITEM_AUTO_SP_RECOVERY_L:
                            case ITEM_AUTO_SP_RECOVERY_X:
                            // ą«˝Ăą«˝ĂÇĎÁö¸¸ ŔĚŔüżˇ ÇĎ´ř °É °íġ±â´Â ą«Ľ·°í...
                            // ±×·ˇĽ­ ±×łÉ Çϵĺ ÄÚµů. Ľ±ą° »óŔÚżë ŔÚµżą°ľŕ ľĆŔĚĹ۵é.
                            case REWARD_BOX_ITEM_AUTO_SP_RECOVERY_XS:
                            case REWARD_BOX_ITEM_AUTO_SP_RECOVERY_S:
                            case REWARD_BOX_ITEM_AUTO_HP_RECOVERY_XS:
                            case REWARD_BOX_ITEM_AUTO_HP_RECOVERY_S:
                            case FUCKING_BRAZIL_ITEM_AUTO_SP_RECOVERY_S:
                            case FUCKING_BRAZIL_ITEM_AUTO_HP_RECOVERY_S:
                                {
                                    if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´ë·ĂŔ忡Ľ­ »çżëÇĎ˝Ç Ľö ľř˝Ŕ´Ď´Ů."));
                                        return false;
                                    }
                                    
                                    /////////////////////////////////////////////
                                    switch(ch->GetMapIndex()) /////elixírek tiltása
                                    {
                                        case 113:  ///ox map
                                            
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("elixir tiltas"));
                                            return false;
                                    }
                                    ////////////////////////////////////////////

                                    EAffectTypes type = AFFECT_NONE;
                                    bool isSpecialPotion = false;

                                    switch (item->GetVnum())
                                    {
                                        case ITEM_AUTO_HP_RECOVERY_X:
                                            isSpecialPotion = true;

                                        case ITEM_AUTO_HP_RECOVERY_S:
                                        case ITEM_AUTO_HP_RECOVERY_M:
                                        case ITEM_AUTO_HP_RECOVERY_L:
                                        case REWARD_BOX_ITEM_AUTO_HP_RECOVERY_XS:
                                        case REWARD_BOX_ITEM_AUTO_HP_RECOVERY_S:
                                        case FUCKING_BRAZIL_ITEM_AUTO_HP_RECOVERY_S:
                                            type = AFFECT_AUTO_HP_RECOVERY;
                                            break;

                                        case ITEM_AUTO_SP_RECOVERY_X:
                                            isSpecialPotion = true;

                                        case ITEM_AUTO_SP_RECOVERY_S:
                                        case ITEM_AUTO_SP_RECOVERY_M:
                                        case ITEM_AUTO_SP_RECOVERY_L:
                                        case REWARD_BOX_ITEM_AUTO_SP_RECOVERY_XS:
                                        case REWARD_BOX_ITEM_AUTO_SP_RECOVERY_S:
                                        case FUCKING_BRAZIL_ITEM_AUTO_SP_RECOVERY_S:
                                            type = AFFECT_AUTO_SP_RECOVERY;
                                            break;
                                    }





locale_string.txt-be:
Code:
"elixir tiltas";
"Az elixírt nem használhatod ezen a területen!";


Üdv, Pisti95

Print this item

  [C++] Mount Block
Posted by: Martinez-Works - 05-21-2018, 12:59 PM - Forum: C++ / DIFF / Source - No Replies

Sziasztok! 

Ez a "Fix" arra lenne hogyha nem szeretnéd hogy warozás közbe vagy más dolog közbe lehessen mountra/lóra ülni!

Ui: A char.cpp résznél tudod hozzá adni a mappokat ahol szeretnéd tiltani a mount/ló használatát.

//@Svn/Server/common/service.h
//1.) Keresd meg ezt :

Code:
#endif

//2.) Add fölé ezt :
Code:
#define ENABLE_MOUNT_BLOCK_MAP


//@Svn/Server/game/src/char.cpp
//1.) Keresd meg ezt :
Code:
void CHARACTER::ResetStopTime()
{
    m_dwStopTime = get_dword_time();
}

//2.) Add utána ezt :
Code:
#ifdef ENABLE_MOUNT_BLOCK_MAP
bool CHARACTER::IsRestrictedMapIndex()
{
    const int ar_lMapIndex[] = {
        103,
        104,
        105,
        113,
        110,    /* metin2_map_t3 */
        111        /* metin2_map_t4 */
    };
    for (int i=0; i<_countof(ar_lMapIndex); i++) {
        return (GetMapIndex() == ar_lMapIndex[i] && !IsGM()) ? true : false;
    }
}
#endif

//@Svn/Server/game/src/char.h
//1.) Keresd meg ezt :
Code:
        const char *    GetName() const;

//2.) Add utána ezt :
Code:
#ifdef ENABLE_MOUNT_BLOCK_MAP
        bool            IsRestrictedMapIndex();
#endif

//@Svn/Server/game/src/questlua_pc.cpp
//1.) Keresd meg ezt :
Code:
    int pc_mount(lua_State* L)
    {
        if (!lua_isnumber(L, 1))
            return 0;

        int length = 60;

        if (lua_isnumber(L, 2))
            length = (int)lua_tonumber(L, 2);

        DWORD mount_vnum = (DWORD)lua_tonumber(L, 1);

        if (length < 0)
            length = 60;

        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

//2.) Add utána ezt :
Code:
#ifdef ENABLE_MOUNT_BLOCK_MAP
        if (ch->IsRestrictedMapIndex())
        {    
            ch->ChatPacket(CHAT_TYPE_INFO, "<<pc_mount>> Ezen a mappon nem tudsz lovagolni!");
            return 0;
        }
#endif

Print this item

  Whiteworld forrás
Posted by: Insanity - 05-17-2018, 03:07 AM - Forum: Support - Replies (3)

Sziasztok!

Nincs meg valakine a Whiteworld féle forrás?
A régi megszokott linkek már halottak.. Sad
(A vdi-s)

Előre is köszi. Blush

Print this item

Thumbs Up Advanced regen editor
Posted by: Pisti95 - 05-14-2018, 12:05 PM - Forum: Other - No Replies

A pályákra mobok/metinkövek/npc-k berendezésére szolgáló program.



Attached Files
.zip   Advanced_Regen_Editor.zip (Size: 768.65 KB / Downloads: 11)
Print this item

Thumbs Up [C++] 7-8 skill aktív
Posted by: Pisti95 - 05-14-2018, 11:35 AM - Forum: C++ / DIFF / Source - Replies (1)

[Image: Z1albab.jpg]

[Image: dIFHfab.jpg]

Publikálom az aktív képességeket, melyeket én írtam meg. Egyenlőre csak 7. képességnek van modellje a 4 kasztra. 
Simán bővíthető 8., 9. képességgel is, egészen 15. képességik, csak legyen modell melyet tudunk a karakterekhez rendelni.

Amikor felvesszük a képességeket az oktatóktól, egyből megkapjuk, hogy az új képességünket is.
A képességet tudjuk növelni könyvekkel, GM kóddal, ahogyan a többit is.


[Image: jwA1cab.jpg]






A modelleket a Ymir készítette.
A scriptelést Pisti95 készítette.


Show ContentSkill modellek:


Üdv, Pisti95



Attached Files
.zip   7. képességek by Pisti95.zip (Size: 37.97 KB / Downloads: 17)
Print this item