Guida Sistema del Potere TRADOTTO by Metin2Area

Stato
Discussione chiusa ad ulteriori risposte.

ByBoom

Bannato
4 Maggio 2013
53
24
11
77
Ultima modifica da un moderatore:
Ciao a tutti oggi vi vorrei presentare il sistema del potere di .Eugen
135-43493bc5c2a2fc64284fe5abeb7a1c00.jpg
Partiamo con il tutorial

  • Prima di tutto dobbiamo estrarre root e andare ad aprire game.py, a questo punto cerchiamo:
import uiTarget

  • e sotto aggiungiamo:
# Sistema del Potere M2A
import event
import constinfo
# Fine Sistema del Potere M2A

  • cerchiamo:
self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())

  • e sotto aggiungiamo:
# Sistema del Potere M2A
PutereBG = ui.AniImageBox()
PutereBG.AppendImage("putere/fundal.tga")
self.PutereBG = PutereBG
self.PutereBG.SetPosition(wndMgr.GetScreenWidth()/2-(399/2),wndMgr.GetScreenHeight()-337)
self.PutereBG.SetSize(399, 301)
self.PutereBG.AddFlag('movable')
self.PutereBG.AddFlag("float")
self.PutereBG.Show()


self.PunctePutere_text = ui.TextLine()
self.PunctePutere_text.SetDefaultFontName()
self.PunctePutere_text.SetParent(self.PutereBG)
self.PunctePutere_text.SetPosition(40, 80)
self.PunctePutere_text.SetText("Punti disponibili:")
self.PunctePutere_text.SetOutline()
self.PunctePutere_text.Show()


self.PunctePutere_valoare = ui.TextLine()
self.PunctePutere_valoare.SetDefaultFontName()
self.PunctePutere_valoare.SetParent(self.PutereBG)
self.PunctePutere_valoare.SetPosition(130, 80)
self.PunctePutere_valoare.SetText("0")
self.PunctePutere_valoare.SetOutline()
self.PunctePutere_valoare.Show()


self.Bonus1_text = ui.TextLine()
self.Bonus1_text.SetDefaultFontName()
self.Bonus1_text.SetParent(self.PutereBG)
self.Bonus1_text.SetPosition(30, 120)
self.Bonus1_text.SetText("Max. HP")
self.Bonus1_text.SetOutline()
self.Bonus1_text.Show()


self.Bonus1_valoare = ui.TextLine()
self.Bonus1_valoare.SetDefaultFontName()
self.Bonus1_valoare.SetParent(self.PutereBG)
self.Bonus1_valoare.SetPosition(133, 120)
self.Bonus1_valoare.SetText("0")
self.Bonus1_valoare.SetOutline()
self.Bonus1_valoare.Show()


self.Bonus2_text = ui.TextLine()
self.Bonus2_text.SetDefaultFontName()
self.Bonus2_text.SetParent(self.PutereBG)
self.Bonus2_text.SetPosition(30, 150)
self.Bonus2_text.SetText("Val. Attacco")
self.Bonus2_text.SetOutline()
self.Bonus2_text.Show()


self.Bonus2_valoare = ui.TextLine()
self.Bonus2_valoare.SetDefaultFontName()
self.Bonus2_valoare.SetParent(self.PutereBG)
self.Bonus2_valoare.SetPosition(133, 150)
self.Bonus2_valoare.SetText("0")
self.Bonus2_valoare.SetOutline()
self.Bonus2_valoare.Show()


self.Bonus3_text = ui.TextLine()
self.Bonus3_text.SetDefaultFontName()
self.Bonus3_text.SetParent(self.PutereBG)
self.Bonus3_text.SetPosition(30, 180)
self.Bonus3_text.SetText("Coplo Critico")
self.Bonus3_text.SetOutline()
self.Bonus3_text.Show()


self.Bonus3_valoare = ui.TextLine()
self.Bonus3_valoare.SetDefaultFontName()
self.Bonus3_valoare.SetParent(self.PutereBG)
self.Bonus3_valoare.SetPosition(133, 180)
self.Bonus3_valoare.SetText("0")
self.Bonus3_valoare.SetOutline()
self.Bonus3_valoare.Show()


self.Bonus4_text = ui.TextLine()
self.Bonus4_text.SetDefaultFontName()
self.Bonus4_text.SetParent(self.PutereBG)
self.Bonus4_text.SetPosition(30, 210)
self.Bonus4_text.SetText("Trafiggente")
self.Bonus4_text.SetOutline()
self.Bonus4_text.Show()


self.Bonus4_valoare = ui.TextLine()
self.Bonus4_valoare.SetDefaultFontName()
self.Bonus4_valoare.SetParent(self.PutereBG)
self.Bonus4_valoare.SetPosition(133, 210)
self.Bonus4_valoare.SetText("0")
self.Bonus4_valoare.SetOutline()
self.Bonus4_valoare.Show()


self.Buton1_Plus = ui.Button()
self.Buton1_Plus.SetParent(self.PutereBG)
self.Buton1_Plus.SetPosition(180, 117)
self.Buton1_Plus.SetUpVisual("putere/buton_plus.tga")
self.Buton1_Plus.SetOverVisual("putere/buton_plus_1.tga")
self.Buton1_Plus.SetDownVisual("putere/buton_plus_2.tga")
self.Buton1_Plus.SetEvent(self.activare_buton1_buton)
self.Buton1_Plus.Show()


self.Buton2_Plus = ui.Button()
self.Buton2_Plus.SetParent(self.PutereBG)
self.Buton2_Plus.SetPosition(180, 147)
self.Buton2_Plus.SetUpVisual("putere/buton_plus.tga")
self.Buton2_Plus.SetOverVisual("putere/buton_plus_1.tga")
self.Buton2_Plus.SetDownVisual("putere/buton_plus_2.tga")
self.Buton2_Plus.SetEvent(self.activare_buton2_buton)
self.Buton2_Plus.Show()


self.Buton3_Plus = ui.Button()
self.Buton3_Plus.SetParent(self.PutereBG)
self.Buton3_Plus.SetPosition(180, 177)
self.Buton3_Plus.SetUpVisual("putere/buton_plus.tga")
self.Buton3_Plus.SetOverVisual("putere/buton_plus_1.tga")
self.Buton3_Plus.SetDownVisual("putere/buton_plus_2.tga")
self.Buton3_Plus.SetEvent(self.activare_buton3_buton)
self.Buton3_Plus.Show()


self.Buton4_Plus = ui.Button()
self.Buton4_Plus.SetParent(self.PutereBG)
self.Buton4_Plus.SetPosition(180, 207)
self.Buton4_Plus.SetUpVisual("putere/buton_plus.tga")
self.Buton4_Plus.SetOverVisual("putere/buton_plus_1.tga")
self.Buton4_Plus.SetDownVisual("putere/buton_plus_2.tga")
self.Buton4_Plus.SetEvent(self.activare_buton4_buton)
self.Buton4_Plus.Show()


self.timp_1 = ui.AniImageBox()
self.timp_1.AppendImage("putere/timp_9.tga")
self.timp_1.SetParent(self.PutereBG)
self.timp_1.SetPosition(237, 75)
self.timp_1.Show()


self.Buton_Activare = ui.Button()
self.Buton_Activare.SetParent(self.PutereBG)
self.Buton_Activare.SetPosition(259, 97)
self.Buton_Activare.SetUpVisual("putere/buton_activare.tga")
self.Buton_Activare.SetOverVisual("putere/buton_activare_1.tga")
self.Buton_Activare.SetDownVisual("putere/buton_activare_2.tga")
self.Buton_Activare.SetEvent(self.activare_putere_buton)
self.Buton_Activare.Show()


self.bara_goala = ui.AniImageBox()
self.bara_goala.AppendImage("putere/bara_goala.tga")
self.bara_goala.SetParent(self.PutereBG)
self.bara_goala.SetPosition(399/2 - 339/2, 258)
self.bara_goala.Show()


self.bara_plina = ui.AniImageBox()
self.bara_plina.AppendImage("putere/bara_plina.tga")
self.bara_plina.SetParent(self.PutereBG)
self.bara_plina.SetPosition(399/2 - 339/2, 258)
self.bara_plina.SetPercentage(100, 100)
self.bara_plina.Show()


self.bonus_activ = ui.TextLine()
self.bonus_activ.SetDefaultFontName()
self.bonus_activ.SetParent(self.PutereBG)
self.bonus_activ.SetPosition(245, 211)
self.bonus_activ.SetText("Niciun bonus activ")
self.bonus_activ.SetOutline()
self.bonus_activ.Show()


self.PutereBG.Hide()
# Fine Sistema del Potere M2A


  • cerchiamo:
"mall" : self.__InGameShop_Show

  • e sotto aggiungiamo:
# Sistema del Potere
"DeschidePutere" : self.__deschideputere,
"InchidePutere" : self.__inchideputere,
"questindex_activare_putere" :self.__questindex_activare_putere,
"questindex_buton1_putere" :self.__questindex_buton1_putere,
"questindex_buton2_putere" :self.__questindex_buton2_putere,
"questindex_buton3_putere" :self.__questindex_buton3_putere,
"questindex_buton4_putere" :self.__questindex_buton4_putere,
"status_putere" :self.__status_putere,
"timp_putere" : self.__timp_putere,
"bonus_activ" : self.__bonus_activ,
"actualizare_bara_putere" : self.__actualizare_bara_putere,
"efect_putere" :self.__efect_putere,
# Fine Sistema del Potere M2A

  • Andiamo alla fine e aggiungiamo:
# Sistema del Potere M2A
def __deschideputere(self):
self.PutereBG.Show()


def __inchideputere(self):
self.PutereBG.Hide()


def __questindex_activare_putere(self, questindex):
constInfo.ACTIVARE_PUTERE_BUTON_QUESTINDEX = int(questindex)


def activare_putere_buton(self):
questindex_activare_putere = constInfo.ACTIVARE_PUTERE_BUTON_QUESTINDEX
event.QuestButtonClick(questindex_activare_putere)


def __questindex_buton1_putere(self, questindex_buton1):
constInfo.PLUSARE_BUTON1_QUESTINDEX = int(questindex_buton1)


def activare_buton1_buton(self):
questindex_buton1_putere = constInfo.PLUSARE_BUTON1_QUESTINDEX
event.QuestButtonClick(questindex_buton1_putere)


def __questindex_buton2_putere(self, questindex_buton2):
constInfo.PLUSARE_BUTON2_QUESTINDEX = int(questindex_buton2)


def activare_buton2_buton(self):
questindex_buton2_putere = constInfo.PLUSARE_BUTON2_QUESTINDEX
event.QuestButtonClick(questindex_buton2_putere)


def __questindex_buton3_putere(self, questindex_buton3):
constInfo.PLUSARE_BUTON3_QUESTINDEX = int(questindex_buton3)


def activare_buton3_buton(self):
questindex_buton3_putere = constInfo.PLUSARE_BUTON3_QUESTINDEX
event.QuestButtonClick(questindex_buton3_putere)


def __questindex_buton4_putere(self, questindex_buton4):
constInfo.PLUSARE_BUTON4_QUESTINDEX = int(questindex_buton4)


def activare_buton4_buton(self):
questindex_buton4_putere = constInfo.PLUSARE_BUTON4_QUESTINDEX
event.QuestButtonClick(questindex_buton4_putere)


def __status_putere(self, bonus1, bonus2, bonus3, bonus4, puncte_disponibile):
self.Bonus1_valoare.SetText(bonus1)
self.Bonus2_valoare.SetText(bonus2)
self.Bonus3_valoare.SetText(bonus3)
self.Bonus4_valoare.SetText(bonus4)
self.PunctePutere_valoare.SetText(puncte_disponibile)
if int(puncte_disponibile) <= 0:
self.Buton1_Plus.Hide()
self.Buton2_Plus.Hide()
self.Buton3_Plus.Hide()
self.Buton4_Plus.Hide()
else:
self.Buton1_Plus.Show()
self.Buton2_Plus.Show()
self.Buton3_Plus.Show()
self.Buton4_Plus.Show()


def __timp_putere(self, timp):
self.timp_1 = ui.AniImageBox()
self.timp_1.AppendImage("putere/timp_" + timp + ".tga")
self.timp_1.SetParent(self.PutereBG)
self.timp_1.SetPosition(237, 75)
self.timp_1.Show()


def __bonus_activ(self, bonus, bonus_val):
if int(bonus) == 1:
self.bonus_activ.SetText("Max. HP: " + bonus_val)
elif int(bonus) == 2:
self.bonus_activ.SetText("Val. Attacco: " + bonus_val)
elif int(bonus) == 3:
self.bonus_activ.SetText("Colpo Critico: " + bonus_val)
elif int(bonus) == 4:
self.bonus_activ.SetText("Trafiggente: " + bonus_val)
else:
self.bonus_activ.SetText("Nessun bonus attivo")

def __actualizare_bara_putere(self, valoare_bara_putere):
self.bara_plina.SetPercentage(valoare_bara_putere, 100)


def __efect_putere(self):
net.SendChatPacket("(efect_putere)")
# Fine Sistema del Potere M2A

  • Adesso andiamo ad aprire constInfo.py e andiamo a cercare
PVPMODE_PROTECTED_LEVEL = 30

  • e sotto aggiungiamo:
# Sistema del Potere M2A
ACTIVARE_PUTERE_BUTON_QUESTINDEX = 0
PLUSARE_BUTON1_QUESTINDEX = 0
PLUSARE_BUTON2_QUESTINDEX = 0
PLUSARE_BUTON3_QUESTINDEX = 0
PLUSARE_BUTON4_QUESTINDEX = 0
# Fine Sistema del Potere M2A


  • Apriamo playersettingmodule.py e andiamo a cercare:

  • e sotto aggiungiamo:
# Sistema del Potere
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+18, "Bip01", "putere/efect/efect_putere.mse")
net.RegisterEmoticonString("(efect_putere)")
# Fine Sistema del Potere

  • al posto del numero 18 mettete il numero che segue
  • Adesso andiamo ad estrarre locale_x, apriamo item_list.xml e aggiungiamo:
900 ETC putere/icon/licoare_putere.tga

  • In item_proto(Client) aggiungiamo:
<Item vnum="4900" hashName="" name="Potione del Potere" type="3" subtype="15" weight="0" size="1" antiflag="0" flag="0" wearflag="0" immuneflag="0" gold="0" buy_price="0" limittype0="0" limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="0" refine_set="0" magic_pct="0" specular="0" socket_pct="0" />

  • apriamo Index(nella cartella pack) e aggiungiamo:
Adesso abbiamo finito con il CLIENT, andiamo nel ServerFILE(FTP)



  • Apriamo questlib.lua e alla fine aggiungiamo:
dofile(get_locale_base_path().."/quest/questlib_putere.lua")

  • adesso apriamo quest_functions e alla fine aggiungiamo:
plusare_putere
citire_puncte_putere
timp_putere
citire_baraputere
bara_putere
resetare_putere



  • A questo punto dobbiamo copiare tutto quello che trovate nella cartella quest(dell'archivio) sul vostro server(incluso la cartella "Putere") ed eseguire tutte le quest.
  • L'ultima cosa da fare e, andare in navicat ed eseguire la seguente query(CTRL+Q)
INSERT INTO `item_proto` VALUES (4900, 'Potione del Potere', 'Potione del Potere', 18, 15, 0, 1, 0, 20, 0, '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0);


Adesso abbiamo finito se avete qualche dubbio lasciate un REPLAY


Download Link(RISORSE)
AreaCLOUD


Password Link:
M2AreaPOTERE
 
Sarebbe un evento permanente con 1 item (pozione del potere) che ha la funzione di aggiungere alcuni bonus!
 
Stato
Discussione chiusa ad ulteriori risposte.