Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: bakos1992 Dátum 2017-02-06, 19:31:40

Cím: autó válasz
Írta: bakos1992 Dátum 2017-02-06, 19:31:40
Sziasztok tegnap betettem ezt
Idézhttp://metin2hungary.net/index.php/topic,180926.0.html

de áén azt szeretném ha csak 1 x küldené elnekik nem folyamatosan minden mondat után hogyan alakitsam át?
Cím: Re:autó válasz
Írta: MagicBoss Dátum 2017-02-06, 19:56:14
Szia!

Nem teszteltem, de mennie kell.

game.py

Keresd:

testAlignment = 0

Alá:

SA_WHISPER = 0

Ezt cseréld le:

def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM:
self.interface.RegisterGameMasterName(name)
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)


Erre:

def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM:
self.interface.RegisterGameMasterName(name)
if player.GetName().find("[SA]") != -1 && SA_WHISPER = 0:
net.SendWhisperPacket(name, "Ne zavarj, mert [SA] vagyok!")
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
SA_WHISPER = 1
else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)


uiwhisper.py

importok közé:

import game

Keresd:

self.resizeButton = None

Alá:

game.SA_WHISPER = 0
Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-06, 20:14:03
if player.GetName().find("[ST]") != -1 && ST_WHISPER = 0: erre a  syntax (game.py, line 887)
Cím: Re:autó válasz
Írta: Pisti95 Dátum 2017-02-06, 20:21:40
python 2.7-et lehet igényel.
Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-06, 20:23:26
2.9 van
Cím: Re:autó válasz
Írta: MagicBoss Dátum 2017-02-06, 20:45:08
if player.GetName().find("[ST]") != -1 and ST_WHISPER = 0:

Így?
Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-06, 20:53:22
ugyan az :/
Cím: Re:autó válasz
Írta: MagicBoss Dátum 2017-02-06, 21:02:11
Bemásolnád a syserr-t? Oké, hogy syntax, de ebből lóf*asz nem derül ki.

Ja, hogy ja.....

if player.GetName().find("[ST]") != -1 and ST_WHISPER != 1:
Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-06, 21:04:32
etworkModule.py(line:208) SetSelectCharacterPhase
system.py(line:130) __pack_import
system.py(line:110) _process_result
introSelect.py(line:30) <module>
system.py(line:130) __pack_import
system.py(line:110) _process_result
interfaceModule.py(line:20) <module>
system.py(line:130) __pack_import
system.py(line:110) _process_result
uiWhisper.py(line:9) <module>
system.py(line:130) __pack_import

networkModule.SetSelectCharacterPhase - <type 'exceptions.SyntaxError'>:invalid syntax (game.py, line 888)

0206 20:53:08892 :: ============================================================================================================
0206 20:53:08892 :: Abort!!!!
Cím: Re:autó válasz
Írta: TheSLESH Dátum 2017-02-06, 21:07:32
Próbáld így:

Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-06, 21:10:52
hogy?:D
Cím: Re:autó válasz
Írta: MagicBoss Dátum 2017-02-06, 21:17:32
Ahogy leírtam.

if player.GetName().find("[ST]") != -1 and ST_WHISPER != 1:

Csak figyelni kéne.
Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-06, 21:27:14
lehet egy nyomorék vagyok . most igy néz ki
Idézdef OnRecvWhisper(self, mode, name, line):
      if mode == chat.WHISPER_TYPE_GM:
         self.interface.RegisterGameMasterName(name)
      if player.GetName().find("[ST]") != -1 and ST_WHISPER != 1:
         net.SendWhisperPacket(name, "Ne zavarj, mert [SA] vagyok!")
         chat.AppendWhisper(mode, name, line)
         self.interface.RecvWhisper(name)
         ST_WHISPER = 1
      else:
         chat.AppendWhisper(mode, name, line)
         self.interface.RecvWhisper(name)

le is fut de ha rá irok Stre nem kapok autó választ az st karakterrel meg nem kapok levelet.


syser 0206 21:24:06230 ::   File "game.py", line 888, in OnRecvWhisper

0206 21:24:06230 :: UnboundLocalError
0206 21:24:06230 :: :
0206 21:24:06230 :: local variable 'ST_WHISPER' referenced before assignment
Cím: Re:autó válasz
Írta: Pisti95 Dátum 2017-02-06, 21:30:37
Idézetet írta: bakos1992 Dátum 2017-02-06, 20:23:26
2.9 van
[spoiler]
(https://board.ddmt2.net/proxy.php?request=http%3A%2F%2Fstatic1.squarespace.com%2Fstatic%2F507dba43c4aabcfd2216a447%2Ft%2F5244609de4b0d08691bdc2ee%2F1380212895097%2FTroll%252BFace.jpg&hash=c28ee7ad8a8e335d66f4135edd0630d9bd63b8c2)[/spoiler]

Te szerintem a granny verzióját mondod.
Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-06, 21:32:05
Mekkora sodrófa vagyok igazad van Pityu xD
Cím: Re:autó válasz
Írta: Pisti95 Dátum 2017-02-06, 21:35:29
      if player.GetName().find("[ST]") != -1 and ST_WHISPER != 1:

és ez a lekérdezés:

      if mode == chat.WHISPER_TYPE_GM:

hát hogy is mondjam így nekem fura, mert a python úgy fogja lekérdezni, hogy 2xer, tehát GM vagy [ST]. nem csoda ha kiakad.
Cím: Re:autó válasz
Írta: MagicBoss Dátum 2017-02-06, 22:13:46
Valóban, így nem igazán tuti. :D
Akkor átírjuk jóra. Pillanat.
Szerkesztem majd a HSZ-t.

def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM and player.GetName().find("[ST]") != -1:
self.interface.RegisterGameMasterName(name)
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
if ST_WHISPER != 1:
net.SendWhisperPacket(name, "Ne zavarj, mert [SA] vagyok!")
ST_WHISPER = 1
else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)


Tessék. Elviekben ír neki, akkor megkapja az üzenetet egyszer, hogy ne zavarj.
Ha bezárja az ablakot, majd újra megnyitja, akkor újra lejátszódik a folyamat.

Szerk.: Taboltam normálisan.
Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-07, 17:25:08
le fut de nem kap üzenetet a karakter :/ syser üres
Cím: Re:autó válasz
Írta: MagicBoss Dátum 2017-02-07, 18:00:07
https://www.youtube.com/watch?v=bkA2LG1wnCI


[ST]-vel kezdődik a gm kari neve? Egyébként még így sem tökéletes, ugyanis ha nem [ST]-vel kezdődik, akkor sem kapja meg az üzenetet.

def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM:
self.interface.RegisterGameMasterName(name)
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
if ST_WHISPER != 1 and player.GetName().find("[ST]") != -1:
net.SendWhisperPacket(name, "Ne zavarj, mert [SA] vagyok!")
ST_WHISPER = 1
else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)


Így már jó lesz, csak [ST] karinál fogja írni.
Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-07, 18:21:14
[ST]Admin a neve a karinak kiprobálom

Üzenet összefésülés: 2017-02-07, 18:25:07

megkapom ha rám ir de player kari nem kap válasz üzit h ne zavarjon
Cím: Re:autó válasz
Írta: Pisti95 Dátum 2017-02-07, 20:57:59
Átnéztem a témát, főképp a syssereket. Maga az elgondolás jó lenne, de a kivitelezéssel vannak gondok.

Arra jutottam, ezzel a változóval, hogy minden második 'játékos ír GM-nek' résznél fogja küldeni hogy "Ne zavarj..", hiszen a változót 0-1 között váltani kell valahogy, ha pedig nem váltod, akkor 0-n marad végig és többet nem írja ki.

game.py

importok alá:

ST_WHISPER = 0



A súgás része pedig:

def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM:
self.interface.RegisterGameMasterName(name)
if player.GetName().find("[ST]") != -1:
global ST_WHISPER
if ST_WHISPER == 0:
net.SendWhisperPacket(name, "Ne zavarj, mert [ST] vagyok!")
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
ST_WHISPER = 1
else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
ST_WHISPER = 0
else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)



Teszteltem tehát működőképes!  ;)
Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-07, 21:41:14
Kiprobáltam pisti de nálam csak küldi ezeket a szarokat

Idézhttp://www.kephost.com/images/2017/02/07/cica.jpg
Cím: Re:autó válasz
Írta: Pisti95 Dátum 2017-02-07, 22:14:46
Ebből a részből:

else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
ST_WHISPER = 0


töröld ki ezt a sort:

ST_WHISPER = 0



Említettem, ha ezt kitörlöd akkor kliens indításkor ugye 0 értéket kap, tehát átvált 1-re, mert átíratjuk a klienssel, de kliens bezárás után újra kapni fogja az üzenetet.
Cím: Re:autó válasz
Írta: whiteworld Dátum 2017-02-08, 06:04:59
Idézetet írta: Pisti95 Dátum 2017-02-07, 20:57:59
Átnéztem a témát, főképp a syssereket. Maga az elgondolás jó lenne, de a kivitelezéssel vannak gondok.

Arra jutottam, ezzel a változóval, hogy minden második 'játékos ír GM-nek' résznél fogja küldeni hogy "Ne zavarj..", hiszen a változót 0-1 között váltani kell valahogy, ha pedig nem váltod, akkor 0-n marad végig és többet nem írja ki.

game.py

importok alá:

ST_WHISPER = 0



A súgás része pedig:

def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM:
self.interface.RegisterGameMasterName(name)
if player.GetName().find("[ST]") != -1:
global ST_WHISPER
if ST_WHISPER == 0:
net.SendWhisperPacket(name, "Ne zavarj, mert [ST] vagyok!")
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
ST_WHISPER = 1
else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
ST_WHISPER = 0
else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)



Teszteltem tehát működőképes!  ;)

Kíváncsiságból beraktam és nálam működik így ahogy Pisti megcsinálta.Viszont szerintem ebben a formában igazából semmit sem jelent, hogy benne legyen. Meg is indoklom miért. Mivel az első üzenet küldésekor elküldi, hogy az ST elfoglalt de a következő üzenetben már írhatsz egy egész litániát elküldi. Ennek az egésznek akkor lenne szerintem értelme ha úgy lehetne megoldani, hogy amikor az ST felmegy a szerverre akkor nyom egy entert feljön a Chat ablak és ott található 3 gomb, Chet küldés, Súgás küldés, Régi hírek, nos ezek közül szerintem a Chet küldés gombot nem igazán használják az emberkék inkább entert nyomnak vagyis az egésznek az lenne a lényege, hogy a Chet küldés helyet lenne egy másik funkciója a gombnak mondjuk PM tiltás / PM fogadás. Ami csak az ST nél jelenne meg esetleg így csak ő tudná használni vagyis amikor játékba lép akkor letiltja a PM et így a játékos meg kapná az üzenetet hogy [ST]xy jelenleg elfoglalt és az ST nél ne is jelenjen meg a kis villogó boríték, amikor a PM fogadás gombra klikkel onnantól kezdve viszont már lehetne neki küldi az üzeneteket. Szerintem így már lenne értelme ennek az egésznek. Elnézést kérek a hosszú litániáért biztosan nem erre voltatok kíváncsiak.  8)
Cím: Re:autó válasz
Írta: Pisti95 Dátum 2017-02-08, 20:53:04
Nos, átgondoltam egy kicsit a dolgot, és arra jutottam, hogy akkor kapja azt az üzit hogy "Ne zavarj, mert [ST] vagyok.." HA az ST bezárja a PM ablakot. Tehát az elején megjelenik a szöveg a játékosnak, de írhat neki litániát, ha bezárja a GM a sőgás ablakot, akkor ha játékos ír, újra kapni fogja az üzit (egyszer).

constInfo.py-ba beírod

ST_WHISPER = 0



game.py-ba így legyen:

def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM:
self.interface.RegisterGameMasterName(name)
if player.GetName().find("[SA]") != -1:
if constInfo.ST_WHISPER == 0:
net.SendWhisperPacket(name, "Ne zavarj, mert [SA] vagyok!")
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
constInfo.ST_WHISPER = 1
else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)



uiwhisper.py

importok alá:

import constInfo



Rákeresel erre:

def Close(self):


Így nézzen ki:

def Close(self):
chat.ClearWhisper(self.targetName)
self.titleNameEdit.KillFocus()
self.chatLine.KillFocus()
self.Hide()
constInfo.ST_WHISPER = 0

if None != self.eventClose:
self.eventClose(self.targetName)



Részemről ennyi! ;)
Cím: Re:autó válasz
Írta: bakos1992 Dátum 2017-02-08, 21:10:07
Köszönöm az időtöket és a segítséget mindenkinek megy a +
EhPortal 1.39 © 2025, WebDev