Offline Message System Python frage

05/16/2016 19:35 Samael#1
jemand ne idee wie man beim Offline message system einfügen kann, das man keine Offline Nachricht an jemanden schreiben kann der online ist? Aktuell geht dies und diese Nachricht wird dann nach einem Relogg zugestellt. Ist ja aber unnötig das dies geht sofern der jenige sowieso online ist. Ich weis leider nicht wie man für sowas eine Python abfrage macht.

Hier der Link vom Offline Message system:


[Only registered and activated users can see links. Click Here To Register...]

oder hier direkt die teile die in den Client kommen:

uiwhisper.py

game.py





quest:

05/16/2016 20:39 BizepsSupportAccount#2
post mal die quest.
05/16/2016 21:03 Samael#3
Quote:
Originally Posted by BizepsSupportAccount View Post
post mal die quest.
ganz vergessen :D

05/16/2016 22:17 BizepsSupportAccount#4
edit: bin am Handy aber probier das mal.

local u_vid == find_pc_by_name (sname)

dannach unter der playerid abfrage, das hier:

if u_vid == 0 then syschat ("< Offline Message Aystem > Du kannst keinen ... Spieler, eine offl.. Nachr.. versenden.") return end
05/16/2016 23:02 Samael#5
Quote:
Originally Posted by BizepsSupportAccount View Post
edit: bin am Handy aber probier das mal.

local u_vid == find_pc_by_name (sname)

dannach unter der playerid abfrage, das hier:

if u_vid == 0 then syschat ("< Offline Message Aystem > Du kannst keinen ... Spieler, eine offl.. Nachr.. versenden.") return end
habe es nun so:

Code:
			local u_vid = find_pc_by_name(sname)
			local name = split(MSG1, "^")[1]
			local playerid = mysql_query("SELECT id FROM player.player WHERE name = '"..name.."';").id
			if playerid==nil then syschat("Diesen Spieler gibt es nicht.") return end
			if u_vid == 0 then syschat ("Dieser Spieler ist derzeit online. Die Nachricht wurde gelöscht.") return end

jedoch wird die nachricht auch nicht mehr durchgestellt nachdem der Charakter offline ist. Sprich die Meldung erscheint wenn er On & Off ist.
05/16/2016 23:05 xGr33n#6
Quote:
Originally Posted by xSaito View Post
habe es nun so:

Code:
			local u_vid = find_pc_by_name(sname)
			local name = split(MSG1, "^")[1]
			local playerid = mysql_query("SELECT id FROM player.player WHERE name = '"..name.."';").id
			if playerid==nil then syschat("Diesen Spieler gibt es nicht.") return end
			if u_vid == 0 then syschat ("Dieser Spieler ist derzeit online. Die Nachricht wurde gelöscht.") return end

jedoch wird die nachricht auch nicht mehr durchgestellt nachdem der Charakter offline ist. Sprich die Meldung erscheint wenn er On & Off ist.
Code:
			
			local name = split(MSG1, "^")[1]
			local u_vid = find_pc_by_name(name)
			local playerid = mysql_query("SELECT id FROM player.player WHERE name = '"..name.."';").id
			if playerid==nil then syschat("Diesen Spieler gibt es nicht.") return end
			if u_vid == 0 then syschat ("Dieser Spieler ist derzeit online. Die Nachricht wurde gelöscht.") return end
so ggf.?
05/16/2016 23:12 Samael#7
Quote:
Originally Posted by byte xGr33n View Post
Code:
			
			local name = split(MSG1, "^")[1]
			local u_vid = find_pc_by_name(name)
			local playerid = mysql_query("SELECT id FROM player.player WHERE name = '"..name.."';").id
			if playerid==nil then syschat("Diesen Spieler gibt es nicht.") return end
			if u_vid == 0 then syschat ("Dieser Spieler ist derzeit online. Die Nachricht wurde gelöscht.") return end
so ggf.?
Leider immernoch.

€€

Ein Kollege hat mir geholfen. <= war die korrekte abfrage nach dem Status. == hat gefailt :D
05/21/2016 21:05 gerald500#8
Du weißt aber schon das find_pc_by_name nicht channel übergreifend und map übergreifend funtzt

Gesendet von meinem S30 mit Hilfe von Elitepvpers, bereitgestellt von appyet.com
06/12/2016 02:15 Samael#9
Quote:
Originally Posted by gerald500 View Post
Du weißt aber schon das find_pc_by_name nicht channel übergreifend und map übergreifend funtzt

Gesendet von meinem S30 mit Hilfe von Elitepvpers, bereitgestellt von appyet.com

gibts dafür eine andere möglichkeit, die auch map und ch übergreifend ist?
06/12/2016 18:50 BizepsSupportAccount#10
Quote:
Originally Posted by xSaito View Post
gibts dafür eine andere möglichkeit, die auch map und ch übergreifend ist?
Muss man im Source lösen.
06/12/2016 19:28 Samael#11
Quote:
Originally Posted by BizepsSupportAccount View Post
Muss man im Source lösen.
gibts denn keine andere option dafür? also für die online/offline prüfung? Außer es halt per questflag abzufragen weil das bisschen aufwändig ist
06/12/2016 23:12 BizepsSupportAccount#12
Quote:
Originally Posted by xSaito View Post
gibts denn keine andere option dafür? also für die online/offline prüfung? Außer es halt per questflag abzufragen weil das bisschen aufwändig ist
Eine direkte Prüfung ob der Spieler Online / Offline ist, ist soweit ich weiß ohne Source nicht möglich. Man kann lediglich Prüfen wann der Spieler zuletzt Online war.
06/16/2016 19:17 gerald500#13
Quote:
Originally Posted by xSaito View Post
gibts denn keine andere option dafür? also für die online/offline prüfung? Außer es halt per questflag abzufragen weil das bisschen aufwändig ist
via client quest kommi kannste vielleicht im clienten was einbauen.

login geht ja über quest und bei logouts char wechsel und spiel beenden schickste was an den server