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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 835
» Latest member: sziszka71
» Forum threads: 251
» Forum posts: 511

Full Statistics

Online Users
There are currently 18 online users.
» 1 Member(s) | 17 Guest(s)
[MOD]Morpheus

Latest Threads
Alap 40kSF
Forum: Server files
Last Post: femaremon
09-17-2018, 04:32 PM
» Replies: 0
» Views: 36
MesterOfPvP
Forum: Server files
Last Post: Yakomuto
09-16-2018, 11:21 AM
» Replies: 0
» Views: 38
[C++, Python] Vegas - COU...
Forum: C++ / DIFF / Source
Last Post: ferike192
09-14-2018, 12:46 PM
» Replies: 3
» Views: 1,181
Taria Online SF
Forum: Services
Last Post: [MOD]Morpheus
09-07-2018, 05:39 PM
» Replies: 4
» Views: 1,124
Taria online kliens
Forum: Support
Last Post: payoneer555
08-24-2018, 07:32 PM
» Replies: 0
» Views: 135
Hogyan keres 10 dollart
Forum: Tutorial
Last Post: BlackFriday
08-18-2018, 11:14 PM
» Replies: 1
» Views: 731
LineOfWorld2
Forum: Szerverek
Last Post: Catalyst™
07-24-2018, 07:38 PM
» Replies: 0
» Views: 386
40k-ból 34k PROTOK
Forum: Support
Last Post: DEV_Sanchez
07-14-2018, 04:58 AM
» Replies: 0
» Views: 256
M2M Naga run
Forum: Support
Last Post: DEV_Sanchez
07-14-2018, 04:57 AM
» Replies: 10
» Views: 1,438
Ridack SHOP 3D & MAP & EF...
Forum: Services
Last Post: Ridack3D
06-26-2018, 06:09 PM
» Replies: 3
» Views: 1,237

 
Heart Alap 40kSF
Posted by: femaremon - 09-17-2018, 04:32 PM - Forum: Server files - No Replies

Üdv.

A szerverfájl létrehozásakor törekedtem a régi stílusra, hogy ez mennyire sikerült nem tudom. Mindenki döntse el saját maga. Big Grin
A kliens You are not allowed to view links. Register or Login to view. készült az alapvető hibákat javítottam illetve hozzá igazítottam egy SF-t ami whiteworld-tól származik.(de ha neked nem tetszik használhatsz másik szerverfájlt is.)

Alapvető tulajdonságok:

- Nincs alkímia
- Nincs övrendszer
- Ördög katakomba
- level 99 (CONFIG fájlokban lehet állítani) 
- 2 leltár.
- Kosztüm rendszer
- Energia rendszer
- Démontorony
- Kéksárkány run

Illetve a You are not allowed to view links. Register or Login to view. megtalálható a letöltésben.

VDI-n már fent van a szerver fájl, így tudod indítani:

Code:
cd /usr/game
sh start.sh
1

VDI -
Show ContentSpoiler:
Kliens -
Show ContentSpoiler:
2. link hogy ha az első nem élne
Show ContentSpoiler:
game.tar.gz -
Show ContentSpoiler:
mysql.tar.gz -
Show ContentSpoiler:

A kliens tartalmaz egy xml csomagolót meg egy eternexus csomagolót is.

Forrás:

Kliens forrás -
Show ContentSpoiler:
Visual Studio 2008-al fordítható.
Code:
Kliens forrást ez alapján betudod üzemelni: http://metin2hungary.net/index.php?topic=197025.0

Szerveroldali forrás -
Show ContentSpoiler:
Code:
mainline beüzemelése:

cd /usr/src/

rm -r mainline
 
Aztán

tar -xf mainline.tar.gz

Belépés:

- Játékba -

Felhasználónév: Admin

Jelszó: admin

- Navicatba -

Felhasználónév: root

Jelszó: hungary

- Virtualboxon a VDI fájlba. -

Felhasználónév: root

Jelszó: isolator

Ajánlom a WinSCP használatát filezilla helyett ha nem engedne fel ftp-n.

Biztonságos leállítás by Neon You are not allowed to view links. Register or Login to view.

Code:
Néhányotok még mindig nem tudja megfelelően leállítani a Core-okat (Game & db) és most leírom, hogy tudjátok!
Illetve, ha ezeket a lépéseket megcsináljátok nem feltétlen kell rebootolni feleslegesen a FreeBSD szervereteket. (Pl: Ugye nagyon sokan még most is módosítotok droppot vagy hasonlót és szerkesztés után rebootoltok, ez teljesen felesleges és időpazarlás.)

Első lépés: Írd be Vbox vagy Putty-ba ezt:

ps

Megnézed hány darab core fut! (game & db)

Aztán beírod: (Fontos, hogy a Game core-t kell leállítani elsőnek!)

killall game

Miután beírtad beírod ismét ezt:

ps

Most megnézed, hogy fut-e még néhány "game", ha igen vársz amíg nem fogsz látni egy darab core-t sem (game)

Most jöhet a db leállítása:

killall db
Azért fontos ez a sorrend mert, ha nem így csinálod 100% fixen adatvesztést okoz!
Ha mindent a leírtak alapján cselekszel nem lesz semmi gond.

Mehet az sh start.sh Smile


(Lerágott csont, de sokan nem tudják...)
Ui: Igen ellehet felejteni az sh close.sh vagy bármilyen leállítós sh filet.
Eredeti poszt:
Show ContentSpoiler:

Print this item

  MesterOfPvP
Posted by: Yakomuto - 09-16-2018, 11:21 AM - Forum: Server files - No Replies

MesterOfPvP Kliens+sf

Nem igen van mit hozzá fűznöm akinek kell vigye.

Code:
https://mega.nz/#!pIVQFAiA!PlzJWMXdrnoPObga7YXPqv4mUTJwOWelJRF_yDnHuQc

Print this item

  Taria online kliens
Posted by: payoneer555 - 08-24-2018, 07:32 PM - Forum: Support - No Replies

Hali valaki feltudná tenni a taria online Kyoshin2 kliensét pls

Print this item

  LineOfWorld2
Posted by: Catalyst™ - 07-24-2018, 07:38 PM - Forum: Szerverek - No Replies

Üdvözlök minden kedves olvasót.

Szeretném nektek bemutatni a LineOfWorld2 Privát szervert.
Szerverünk PVM/PVP-re alapul és körülbelül 30%PVM/70%PVP.

Nézzünk néhány alapvető információt a szerverről:
-Kezdő szint: 61.
-Maximum elérhető szint: 105.
-Maximum státuszpont 90.
-Optimalizált fejlődés(Pár óra alatt elérhető a maximum szint).
-Kezdéskor minden a szintednek megfelelő tárgyat megkapsz.
-A boltokban minden alap felszerelést megvásárolhatsz.
-Elérhető kosztüm rendszer.
-Elérhető kisállat rendszer.
-Elérhető sárkánykő alkímia rendszer.
-Elérhető ÖV rendszer.
-Elérhető biológus küldetések.
-100%-os Kő és Kohó berakási esély minden felszerelésbe.
-Minden szükséges tárgyat meg tudsz szerezni Sárkányérme nélkül.
-Megfelelően kidolgozott kisállat bónuszok.
-Jelenleg 2 leltár áll rendelkezésetekre.
-A weboldalon található beépített Eseménynaptár.
-P képességeket ingyen szerezhetsz a Lélekkő segítségével.
-A szerveren csak a GF-es dolgok találhatóak meg.
-A szerver elérhető a hét minden napján 24 órában.


A szerveren megtalálható Runok a következőek:
-Démon torony.
-Ördög katakomba.
-Kék Sárkány terme.


Szorzók:
-Exp: 300%.
-Yang: 0%.
-Tárgydobás: 0%.


Kezdéskor az alábbi bónuszokat kapjátok meg:
-3 oldalas raktár.
-Automatikus yang felszedés.
-A regisztrációt követően plusz 50% tapasztalati bónusz.


Ha a szerver leírása felkeltette érdeklődésedet, ne habozz!
Hívd meg barátaidat és alkossunk egy olyan közösséget mint még soha!


Weboldal: You are not allowed to view links. Register or Login to view.
Letöltés(Mega): You are not allowed to view links. Register or Login to view.
Letöltés(Google drive): You are not allowed to view links. Register or Login to view.

Facebook: You are not allowed to view links. Register or Login to view.

Csapattagok:
[SA]Catalyst ~ Szerver tulajdonos.(Én!)

A szerver és a szerver üzemeltetője semmilyen kapcsolatban nem áll más MMORPG játékok és azok üzemeltetőivel.


Köszönöm hogy elolvastad.

Print this item

  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 - Replies (1)

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