[All-In-One Question] -> Velmore

05/13/2013 17:16 Velmore#31
#Neue Frage


Ich habe ein Item erstellt mit dem eintrag der PSF Scroll und hab auch das mit SM mode usw gemacht. Nur wundere ich mich warum das Item nur abläuft wenn man eingeloggt ist.
Weis jemand wo man in der Source einstellen kann, ob das Item abläuft.
06/02/2013 21:39 Velmore#32
#Neue Frage

Hat einer ne Idee für eine schleife die jeden Spieler betrift?

Habe mal geschaut bei der releasen gm liste aber das betrifft nicht alle.


Wäre über Hilfe dankbar.
06/02/2013 21:42 FunkyJustice#33
Was meinst du mit Schleife?
06/02/2013 21:59 Velmore#34
06/07/2013 21:56 Velmore#35
#push
06/08/2013 12:36 Laymi#36
Was genau meinst du mir einer FOR Schleife?
Das macht doch gar keinen Sinn eine For Schleife für Spieler bezogene Vorgänge zu nutzen?
Warum sollte man denn ne For Schleife für jeden Spieler durchiterieren wenn man einfach für jeden Spieler einzeln die Funktion machen kann? Aber als Vergleichswert zu i würde man g_UserMng.GetCount() nehmen.
pUser ist doch mehr als ausreichend(weil es doch eh relativ ist) und für dein Afk System brauchst du auch keine großen Geschichten sondern nur eine kleine zündende Idee wie du den LastWalkTick feststellen kannst.

Korrigiert mich wenn ich falsch liege.

MfG
06/08/2013 12:54 Velmore#37
Es geht um eine Schleife die jeden Spielrr der Online ist betrifft. Damit kann man z.b. alle Spieler von einer Map Teleportieren oder eine GM Liste erstellen.

Die Schleife mit g_UserMng.GetCount() habe ich auch schon versucht jedoch werden nur die Spieler getroffe die auch eine Id haben die unter oder der aktuellen wieder anzahl gleich ist
06/08/2013 13:13 Laymi#38
Hmm ich habe lang nichts mehr mit dem Shit gemacht aber eine Variante wäre die folgende:
Du machst ne map mit neuem Typedef(MAP_TYPDEF) auf z.B. m_map_Players und fügst beim Login die jeweilige Player ID hinzu mit m_map_Players.insert ein. Beim Logout entfernst du sie wieder.

for( MAP_TYPDEF::iterator it = m_map_Players.begin(); it!= m_map_Players.end(); ++it ){
//hier kannst du dann deine Operationen reinpacken
pUser = g_UserMng.GetUserByPlayerID( it->second->m_idPlayer );
if( IsValidObj( pUser ) ) pUser->DoWhatever
}

Ich weiß nicht ob es bei Flyff sowas schon gibt aber falls nicht kannst du es dir so selber bauen.
Es geht bestimmt 300 Mal eleganter aber ich als Java Mensch würde es so machen.

MfG
06/12/2013 21:16 Velmore#39
#push