Sziasztok.
Régen ezeket az effecteket Pythonban hívtam meg, de már forrásra cseréltem őket így hasztalanná váltak.
Szeretném nektek publikálni, hátha hasznotokra válik.
Nevekhez effect meghívás:
game.py
Keress rá erre:
def OnUpdate(self):
Közvetlen alá adjuk ezt:
gamemasta = player.GetName()
Majd ebben a funkcióban keressük meg ezt a részt:
self.interface.BUILD_OnUpdate()
És adjuk alá ezt:
if app.GetGlobalTimeStamp() - self.lastupdate < 0:
self.lastupdate = app.GetGlobalTimeStamp()
if app.GetGlobalTimeStamp() - self.lastupdatee < 0:
self.lastupdatee = app.GetGlobalTimeStamp()
if gamemasta.find("[VIP]")!=-1:
if self.lastupdate == 0:
self.lastupdate = app.GetGlobalTimeStamp()
if app.GetGlobalTimeStamp() - self.lastupdate >= 5:
self.lastupdate = app.GetGlobalTimeStamp()
net.SendEmoticon(12)
if gamemasta.find("[PvP]")!=-1:
if self.lastupdate == 0:
self.lastupdate = app.GetGlobalTimeStamp()
if app.GetGlobalTimeStamp() - self.lastupdate >= 5:
self.lastupdate = app.GetGlobalTimeStamp()
net.SendEmoticon(13)
if gamemasta.find("[K]")!=-1:
if self.lastupdate == 0:
self.lastupdate = app.GetGlobalTimeStamp()
if app.GetGlobalTimeStamp() - self.lastupdate >= 5:
self.lastupdate = app.GetGlobalTimeStamp()
net.SendEmoticon(14)
Majd keressünk rá erre:
def __init__(self, stream):
Ezen a funkción belül ez alatt:
self.pressNumber = None
Adjuk hozzá ezeket:
self.lastupdate = 0
self.lastupdatee = 0
Nyissuk meg a playersettingmodule-py-t.
Keressünk rá erre:
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+11, "", EmoticonStr+"fish.mse")
net.RegisterEmoticonString("(fish)")
Majd adjuk alá ezeket:
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+12, "", EmoticonStr+"vip.mse")
net.RegisterEmoticonString("(vipppxşĐľĆ)")
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+13, "", EmoticonStr+"pvp.mse")
net.RegisterEmoticonString("(pvpppxxşĐľĆ)")
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+14, "", EmoticonStr+"kaszt.mse")
net.RegisterEmoticonString("(kasztttxxşĐľĆ)")
Effectekkel nem tudok szolgálni, de nem nagy dolog újat csinálni szerintem.
Effectek itt legyenek:
d:/ymir work/effect/etc/emoticon/
Használata:
Nézzük meg ezt a részt:
if gamemasta.find("[VIP]")!=-1:
if self.lastupdate == 0:
self.lastupdate = app.GetGlobalTimeStamp()
if app.GetGlobalTimeStamp() - self.lastupdate >= 5:
self.lastupdate = app.GetGlobalTimeStamp()
net.SendEmoticon(12)
Akinek benne van a nevében, hogy [VIP] hozzá rendeli a 12-es számú emoticon effectet.
Jelen esetbent ezt:
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+12, "", EmoticonStr+"vip.mse")
net.RegisterEmoticonString("(vipppxşĐľĆ)")
Így kapott a játékos egy VIP logot a feje fölé. És így működik ez a többivel is.
PvP-hez effect rendelés:
game.py
Keressük meg ezt:
"MyShopPriceList" : self.__PrivateShop_PriceList,
Adjuk alá ezeket:
"redvidgame" : self.redvidgame,
"redvid" : self.redvid,
"redstartgame" : self.redstartgame,
"redongame" : self.redongame,
"redendgame" : self.redendgame,
"redwsgame" : self.redwsgame,
"redwsvidgame" : self.redwsgame,
"redgogame" : self.redgogame,
"redgovidgame" : self.redgogame,
"redwingame" : self.redwingame,
Majd keressünk rá erre a funkcióra(Ha nincs akkor add hozzá ezt is):
def OpenQuestWindow(self, skin, idx):
if constInfo.INPUT_IGNORE == 1:
return
else:
self.interface.OpenQuestWindow(skin, idx)
És add hozzá alatta ezeket:
def redvidgame(self, id):
import constInfo
constInfo.redvidgame = int(id)
def redongame(self):
constInfo.INPUT_IGNORE = 1
def redendgame(self):
constInfo.INPUT_IGNORE = 0
def redstartgame(self):
net.SendQuestInputStringPacket(str(constInfo.redstartgame))
def redvid(self, id):
constInfo.redvid = int(id)
def redwsgame(self):
net.SendChatPacket("(redwsgame)")
return
def redgogame(self):
net.SendChatPacket("(redgogame)")
return
def redwingame(self):
net.SendChatPacket("(redwingame)")
return
constinfo.py
Add hozzá ezeket:
redvidgame = 0
redstartgame = 0
redvid = 0
INPUT_IGNORE = 0 #Ha, ez létezik már nem kell
playersettingmodule.py
Keresünk rá az előzőnek már berakott effectre:
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+14, "", EmoticonStr+"kaszt.mse")
net.RegisterEmoticonString("(kasztttxxşĐľĆ)")
Add hozzá alatta ezeket:
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+15, "", "d:/ymir work/akiragame/demirgogame.mse")
net.RegisterEmoticonString("(redgogame)")
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+16, "", "d:/ymir work/akiragame/demirwsgame.mse")
net.RegisterEmoticonString("(redwsgame)")
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+17, "", "d:/ymir work/akiragame/demirwingame.mse")
net.RegisterEmoticonString("(redwingame)")
uitarget.py
Importáld be felül ezeket ha, még nincsenek importálva(constInfo tuti már benne van):
import constInfo
import event
Keress rá ezeket:
self.buttonDict[localeinfo.TARGET_BUTTON_FIGHT].SetEvent(ui.__mem_func__(self.OnPVP))
self.buttonDict[localeinfo.TARGET_BUTTON_ACCEPT_FIGHT].SetEvent(ui.__mem_func__(self.OnPVP))
self.buttonDict[localeinfo.TARGET_BUTTON_AVENGE].SetEvent(ui.__mem_func__(self.OnPVP))
Cseréld le erre:
self.buttonDict[localeInfo.TARGET_BUTTON_FIGHT].SetEvent(ui.__mem_func__(self.redwsgame))
self.buttonDict[localeInfo.TARGET_BUTTON_ACCEPT_FIGHT].SetEvent(ui.__mem_func__(self.redgogame))
self.buttonDict[localeInfo.TARGET_BUTTON_AVENGE].SetEvent(ui.__mem_func__(self.redgogame))
Keress rá erre:
def OnPVP(self):
Majd az egész funkciót cseréld le erre:
def redwsgame(self):
net.SendChatPacket("/pvp %d" % (self.vid))
constInfo.redstartgame = self.vid
event.QuestButtonClick(constInfo.redvidgame)
def redgogame(self):
constInfo.redstartgame = self.vid
event.QuestButtonClick(constInfo.redvid)
uichat.py
Keress rá erre:
def __SendChatPacket(self, text, type):
Közvetlen alatta add hozzá ezt:
redgame = ["(redgogame)","(redwsgame)","(redwingame)"]
for x in xrange(len(redgame)):
if(text.find(redgame[x]) != -1):
return
questlib.lua-ba írd bele ezeket:
function setvarchar(name, var)
local laenge = string.len (var)
local setchar = 0
local save_name = 0
local letter = 0
while laenge > setchar do
setchar = setchar + 1
letter = string.sub (var, setchar, setchar)
letter = string.byte(letter, 1)
save_name = ""..name.."_char_"..setchar..""
pc.setqf(save_name, letter)
end
local save_laenge=""..name.."laenge"
pc.setqf(save_laenge, laenge)
end
function getvarchar(name)
local save_laenge = ""..name.."laenge"
local laenge = pc.getqf(save_laenge)
local save_name = 0
local var = ""
local letter = 0
local getchar = 0
while laenge > getchar do
getchar = getchar + 1
save_name = ""..name.."_char_"..getchar..""
letter = pc.getqf(save_name)
if letter!=0 then
letter = string.char(letter)
else
letter = ""
end
var = ""..var..""..letter..""
end
return var
end
quest_functions-ba add hozzá ezeket:
setvarchar
getvarchar
Effectek, és lua hozzá:
http://data.hu/get/10093080/hungaryra_Effectek_red.rar
Lényeg:
PvP-nél ha kihívsz valakit megjelenik egy WS effect.
Ha, elfogadjál a pvp-t visszaszámol effectekkel. 3,2,1,go effect.
Ha, nyer valaki a kap egy WIN effect.
Nagyjából ennyi lenne.
Bármi hiba, probléma esetén írj PM-et és segítek.