Du bist nicht eingeloggt.

B2B-Realm Status

Social Networks

B2B auf Twitter
B2B auf Facebook

Bugtracker

1

Freitag, 16. August 2013, 20:35

[Vorschlag] ID Check.

Guten Abend und gleich zum Thema:

Du warst als Lead mit einer Random-Gruppe Karazhan und ihr habt aus Zeit- oder anderen Gründen nicht alle Bosse legen können. Du brichst ab und gehst für diesen Tag off. Am nächsten Tag suchst du für deine ID eine neue Gruppe, hast 9 Leute gefunden, die die noch stehenden Bosse mit dir zusammen legen wollen. Ihr geht rein und siehe da: Keine Bosse mehr da, weil jemand anderes aus der Gruppe vom Vortag schneller war als du. Jetzt haben 9 Leute eine ID und keinen einzigen Boss gelegt.

So oder so ähnlich könnte es passiert sein.

Natürlich hätte in diesem Fall der Raidlead vorher gucken müssen, ob die etwaigen Bosse noch stehen, aber wäre es nicht viel einfacher, im Accountmanager neben der Anzeige der Berufe, des vorhanden Goldes, der absolvierten Quests und so weiter eine Anzeige dafür einzubauen, welche IDs der Charakter hat und bei einem Klick darauf wiederum, welche Bosse auf dieser ID noch stehen bzw, welche schon gelegt worden sind?

Sollte doch rein theoretisch einfach zu machen sein. Ich weiß nicht, wie im Spiel selbst überprüft wird, ob auf einer ID die Bosse noch stehen oder nicht, aber das ganze in ein nutzerfreundliches Interface zu packen (so wie zum Beispiel im Contentstatus mit grünen und roten Punkten und einer Legende dazu) sollte doch machbar sein und einen großen Nutzen bringen, selbst, wenn es nur für ein paar wenige ist.

Danke..

2

Freitag, 16. August 2013, 20:57

Atm echt verschwendete Ressourcen, die man umgehen kann indem man einfach schnell in die Ini reinläuft und guckt bevor man sucht, kann doch nicht so schwer sein^^.

Hat doch bisher immer geklappt, selbst wenn es dir jetzt mal passiert ist, das du eine leere Ini auffindest. Shit happens...
Du kannst im Endeffekt halt keine ID für dich beanspruchen bei nem Kararaid, wo du wahrscheinlich zu 50% mit nonGildies reingehst oder gar ganz RND suchst.

Es ist zu verstehen, aber jetzt nicht so arg schlimm, um ein Feature dazu einzubauen.

murphy

Kämpfer

Beiträge: 778

Registrierungsdatum: 17.10.2011

Hauptcharakter: Misanthrope

Gilde: W E E D

  • Private Nachricht

3

Samstag, 17. August 2013, 10:11

die idee an sich is ja vllt nich schlecht aber man muss auch bedenken das von den ursprünglichen b2b homepage features immer mehr gerade abgeschafft werden weil das die performance nich mitmacht.
(gildenstatistik zb die vermisse ich ein bisschen)
und wirklich nötig ist ein id check ja auch echt nicht.
- Misanthrope , Arrebartshuk , Nuraeddin -


4

Samstag, 17. August 2013, 11:13

Viel einfacher ist ein ingame Befehl, programmier Aufwand würde ich sagen eher gering
1.Server: Mangos: s1514 SD2: s2438
2.Server: CMangos: 1982

5

Samstag, 17. August 2013, 13:41

So würde ich das nicht sagen.
Jede Instanz hat ihre eigenen Datensatz, der bei der Instanz-Initialisierung jeweils vom eigenen Instanz-Script eingelesen wird. Dieser ist bei jeder Instanz anders aufgebaut und beinhaltet auch nicht nur Boss-Daten.
Eine allgemeine Abfrage dafür zu schreiben, ist also nicht möglich. Man müsste es an jede Instanz individuell anpassen.
FCK AFD

antifreak

Drachentöter

Beiträge: 1 366

Registrierungsdatum: 01.09.2010

Gilde: Innocence of Cræck

  • Private Nachricht

6

Samstag, 17. August 2013, 14:47

Naja, das Anpassen der Daten der jeweiligen Instanz ist jetzt allerdings dennoch nicht sonderlich aufwändig.
Ist ja letztendlich nur ein Name zur jeweiligen Encounter ID.

EDIT: Man muss ja auch nicht die SQL Abfrage anpassen, sondern eher die Verarbeitung der Daten.


7

Samstag, 17. August 2013, 15:20

Man muss nicht "lediglich den Namen zur Encounter-ID abfragen", sondern erst einmal wissen wie die Instanz-Daten aufgebaut sind. Das unterscheidet sich von Instanz zu Instanz und dafür müsste man dann nun mal zuerst den Aufbau für alle Instanzen eintragen.
Erst wenn man dann weiß wofür die Werte stehen und wie deren Status ist, kann man sich die Strings dafür zusammensuchen.

Das meinte ich mit "Eine allgemeine Abfrage dafür zu schreiben, ist also nicht möglich.".
FCK AFD

itslovelol

Meister

Beiträge: 376

Registrierungsdatum: 18.11.2012

  • Private Nachricht

8

Samstag, 17. August 2013, 15:21

Also meine Idee wär einfach auf die InstanceDATA mit ID zugreifen.

Und dann das ganze so checken, NUR PSYDO CODE:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for (uint8 i = 0; i < maxEncounters; i++)
{
    std::string status;
    status = "";

    if (encounter[i] == (not started || fail))
    status.append("Alive")
    else
    status.append("Dead");

    std::stringstream sstream;
    sstream << "Enocunter:"  << i << "Status: " << status;

   std::string result = sstream.c_str();

   SendMsgToPlayer(result);
}

9

Samstag, 17. August 2013, 15:23

Woher weißt du dann welche Zahl wofür steht?
Zudem sind nicht alle Werte zwingend Bosse.
FCK AFD

itslovelol

Meister

Beiträge: 376

Registrierungsdatum: 18.11.2012

  • Private Nachricht

10

Samstag, 17. August 2013, 15:24

Woher weißt du dann welche Zahl wofür steht?
Zudem sind nicht alle Werte zwingend Bosse.


Ja das ist das einzige Problem was mir einfallen würde, man könnte ja die DATA als String senden, aber ob die Spieler damit was anfangen können ist die Frage...

Wo wird denn der Encounter defined? Ich kenn mich mit SD2 gar nicht aus, hab mir das nur Fix bei TC1 in der Repo angeschaut da ich keine ScriptDatein bei meiner solution hab,,, ?(

11

Samstag, 17. August 2013, 15:37

Jede Instanz hat ihre eigenen Datensatz, der bei der Instanz-Initialisierung jeweils vom eigenen Instanz-Script eingelesen wird.


wieviele instanzen wären denn für so einen Befehl interessant ? 5,6 ? da einfach c&p zu machen find ich jetzt nicht sehr aufwändig
würde man das für alle instanzen machen müsste man sich ne komplexe allg abfrage überlegen, ok, aber das braucht man ja bei so wenigen niht
1.Server: Mangos: s1514 SD2: s2438
2.Server: CMangos: 1982

Asmodan

Heroe

Beiträge: 892

Registrierungsdatum: 20.06.2011

  • Private Nachricht

12

Samstag, 17. August 2013, 20:17

Du brichst ab und gehst für diesen Tag off. Am nächsten Tag suchst du für deine ID eine neue Gruppe, hast 9 Leute gefunden, die die noch stehenden Bosse mit dir zusammen legen wollen. Ihr geht rein und siehe da: Keine Bosse mehr da, weil jemand anderes aus der Gruppe vom Vortag schneller war als du. Jetzt haben 9 Leute eine ID und keinen einzigen Boss gelegt
Naja, das ist halt nunmal so, aber dann kann man doch auch ne Abfrage programmieren, die einem ausgibt, ob noch und wenn ja, welche RarMob stehen. Oder DW/DK.

Was man eher angehen sollte, wäre der Punkte, der dir vielleicht nicht bewusst ist, dass es nicht so sein sollte:
Das "ID-Bekommen" wenn man die Ini betritt.
Die Id sollte erst übernommen werden, wenn der 1. Boss in deiner Anwesenheit getötet wird.

eviele instanzen wären denn für so einen Befehl interessant ? 5,6 ? da einfach c&p zu machen find ich jetzt nicht sehr aufwändig
Nein, es wären 4(hifi)+3(hdz)+4(ek)+4(auchi)+4(FDS)+1gruul+1kara+1bt+1swp+1terasse.

Du musst dabei bedenken, dass es immer die Raids und die HCs sind, nämlich alle die eine ID hinterlassen.
Ggf auch noch die Classic Raids - ob man nun alle will oder nicht: wenn dann richtig machen und nicht nur halbherzig.




mangos: 1749 / sd2: s2634

13

Samstag, 17. August 2013, 23:14

@asmodan
hätte er nur an die raid instanzen gedacht ;-)


sonst, habe gerade mal in den code geschaut

An die Namen oder sogar nur die Anzahl der Bosse zu kommen ist praktisch unmöglich, da die Infos darüber überall nur lokal und jedes mal anders definiert sind

m_auiEncounter liefert nur den status eines Bosses, welcher das ist weiß man global nicht -.-
1.Server: Mangos: s1514 SD2: s2438
2.Server: CMangos: 1982

14

Samstag, 17. August 2013, 23:41

An die Namen oder sogar nur die Anzahl der Bosse zu kommen ist praktisch unmöglich, da die Infos darüber überall nur lokal und jedes mal anders definiert sind

m_auiEncounter liefert nur den status eines Bosses, welcher das ist weiß man global nicht -.-

Das habe ich mehrfach versucht klar zu machen :)
FCK AFD

antifreak

Drachentöter

Beiträge: 1 366

Registrierungsdatum: 01.09.2010

Gilde: Innocence of Cræck

  • Private Nachricht

15

Samstag, 17. August 2013, 23:59

m_auiEncounter liefert nur den status eines Bosses, welcher das ist weiß man global nicht -.-

Das ist mir auch durchaus bewusst gewesen. Deswegen eben für jede Ini einen Check bauen. So aufwendig ist das nicht (wenn man es auf die Raids beschränkt).


itslovelol

Meister

Beiträge: 376

Registrierungsdatum: 18.11.2012

  • Private Nachricht

16

Sonntag, 18. August 2013, 11:16

Ist es auch nicht, halt als Char und dann mit switch für jeden Encounter, was halt kein encounter ist "" und bei der Ausgabe einfach bei nem empty char return.

17

Sonntag, 18. August 2013, 12:01

viel spaß :-D
1.Server: Mangos: s1514 SD2: s2438
2.Server: CMangos: 1982