autó válasz

Indította bakos1992, 2017-02-06, 19:31:40

Á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!  ;)

Kiprobáltam pisti de nálam csak küldi ezeket a szarokat

Idézhttp://www.kephost.com/images/2017/02/07/cica.jpg

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.

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)

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! ;)

Köszönöm az időtöket és a segítséget mindenkinek megy a +