Jump to content

Random MVP Spwan


Pysk

Recommended Posts


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Guten Morgen.

Ich habe ein kleines Problem auf meinem Server was die MVPs angeht.

Und zwar haben wir leider einige Spieler die das RL scheinbar vergessen haben und Tag und Nacht MVPs Campen so das andere Leute die arbeiten usw keine Chance haben an MVP Cards zu kommen.

Da wir ein HR sind ist es mit 1,5% Drop nicht so schwer an gewisse Cards zu kommen. Wenn ich natürlich die Span Time habe ist es leicht den MVP immer wieder zu legen.

Zudem haben wir die spwan Time auf 45 Minuten gesetzt.

Nun hatte ich die Idee die MVPs zu einer Random Zeit spwanen zu lassen.

Sprich das der MVP zwischen 45 Minuten und 2 Stunden wieder da ist. Also frühestens in 45 Minuten aber spätestens in 2 Stunden.

Das Problem dabei ist ich habe keine Ahnung wie ich das anstellen soll, denn über das normal spwarn Script geht das scheinbar nicht, also muss das wohl per eigenem Script gemacht werden.

Kann mir da einer vileicht ein Example schreiben?

Wenn es sein muss baue ich für jeden MVP dieses Script ein.

LG

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  39
  • Reputation:   2
  • Joined:  08/19/12
  • Last Seen:  

Wie ich sehe hattest du die Frage bereits im eAthena-Forum gestellt:

http://www.eathena.ws/board/lofiversion/index.php/t271907.html

Dort war sogar eine Lösung(ganz am Ende) parat, zwar als Skript, aber dennoch eine Lösung.

Evtl. hast du es ja überlesen, aber das zumindest würde klappen, wenn du es schöner brauchst,

wäre ein SRC-Edit von Nöten, der das Respawnsystem ändert bzgl. der Parameter delay1 und delay2.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Ist leider keine Lösung da diese NICHt klappt.

Wenn ich das Script so einfüge das der MVP sagen wir mal zwichen 1 und 5 Minuten kommt, kommt er immer erst nach fast 5 Minuten aber nie unter 4 Minuten...

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  39
  • Reputation:   2
  • Joined:  08/19/12
  • Last Seen:  

Dürfte ich deinen Versuch bitte sehen, evtl. hast du etwas falsch gemacht.

Vom Prinzip her sollte es nämlich klappen, haben dazu eine kleine Veranschaulichung für mich gemacht:

180 Minuten Maximum

60 Minuten Minimum

180 - 60 = 120 Maximale Zeit die man vom Maximum abrechnen kann, was das Minimum dann enstpricht.

Monster stirbt nach 70 Minuten.( An sich ein unwichtiger Fakt.)

Abgelaufene Zeit des Timers wird durch Zufall von 1 bis 120 Minuten gesetzt, 30 gewinnen.

180 - 30 = 150 Minuten bis zum nächsten Respawn.

(Minimale Zeit:)

Zufall ergibt: 120

180 - 120 = 60 Minuten.

An sich ein schönes Prinzip, evtl. haste vergessen hier bei den Maximalen Timer (OnTimerXXX) zu setzen.

PS:

Du solltest übrigens wissen, dass OnNPCKillEvents nicht diese Monster triggern können,

da sie ein OnLabel bereits selbst haben und somit diese Monster ignoriert werden.

Sofern kein NPC irgendetwas an Monster Kills global beobachtet sollte das aber kein Problem darstellen.

Edited by skyleo
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

So habe ich das gemacht:

-	script	spawnkiel	-1,{
end;

//Beim start des Servers kommt es in die "Schleife"
//von Timer & Kill-Event
OnInit:
//Spieler tötet Khiel
OnKhielMvPDead:
initnpctimer;
setnpctimer rand(60000);
end;



//Timer abgelaufen
OnTimer300000:
//Spawn
stopnpctimer;
monster "altar",50,7,"Kiel D-01",1734,1,strnpcinfo(3)+"::OnKhielMvPDead";
end;
}

Oben 1 Minute und unten 5 Minuten

Für mich war es so logisch das er Frühestens nach 1 Minute kommt und spätenstens nach 5.

Er kam aber in 10 Versuchen immer zwiechn 4:20 und 4:50 Minuten

Edited by Pysk
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  39
  • Reputation:   2
  • Joined:  08/19/12
  • Last Seen:  

5 - 1 = 4

Du scheinst dir wohl meine Veranschaulichung nicht durchgelesen zu haben.

Das Minimum ist dann erreicht, wenn du das Maximum minus die Zahl in rand() nimmst und das Minimum als Ergebnis rausbekommst.

Um diesen Wert zu berechnen musst du Maximum - Minimum rechnen.

Daher musst du auch 240000 als Wert nehmen.

So wie du es bisher hast, ist die Respawnzeit 4-5 Minuten, genauso, wie du es eben beschrieben hast.

Edited by skyleo
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Heist also ich muss nicht 1 Minute nehmen sondern 4?

Dann müsste es ja so gehen.


[font=monospace]-	script	spawnkiel	-1,{
end;

//Beim start des Servers kommt es in die "Schleife"
//von Timer & Kill-Event
OnInit:
//Spieler tötet Khiel
OnKhielMvPDead:
initnpctimer;
setnpctimer rand(240000);
end;



//Timer abgelaufen
OnTimer300000:

//Spawn
stopnpctimer;
monster "altar",50,7,"Kiel D-01",1734,1,strnpcinfo(3)+"::OnKhielMvPDead";
end;
}[/font]

Dann würde er Frühestens nach 1 Minute kommen da er ja 5 - 4 rechnet. spätestens dann nach 5 Minuten den 1+4

Verstehe ich das so richtig?

Edited by Pysk
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  39
  • Reputation:   2
  • Joined:  08/19/12
  • Last Seen:  

Richtig, aber das in Rand sollte +1 sein weil er sonst nicht die 240000 als rand ausgeben würde, sondern allerhöchstens die 239999.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Ich habe es nun so gemacht


-    script    spawnkiel    -1,{
end;

//Beim start des Servers kommt es in die "Schleife"
//von Timer & Kill-Event
OnInit:
//Spieler tötet Khiel
OnKhielMvPDead:
initnpctimer;
setnpctimer rand(240001);
end;



//Timer abgelaufen
OnTimer300000:

//Spawn
stopnpctimer;
monster "dragonia",38,21,"Kiel D-01",1734,1,strnpcinfo(3)+"::OnKhielMvPDead";
end;
}

Ich habe mich in dragonia",38,21 ins Hide gesetzt und gewartet.Leider ist kein Kiel gekommen, auch nach 5 Minuten nicht.

Daher scheint deine Idee nicht zu stimmen.

Ich habe mir einen Spaß draus gemacht und noch weiter drot gessen und gewartet. Ich habe 10 Minute da gessen.

Ergebniss: Es ist kein Kiel gekommen...

Irgentwas stimmt da nicht...

Um es nochmal zu testen habe ich es wieder so wie am anfang gemacht nur mit der neuen Map und nach 4:40 Minuten war mein Kiel dann da.

Edited by Pysk
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  562
  • Reputation:   152
  • Joined:  02/21/12
  • Last Seen:  

eigentlich geht das ganze viel einfacher, bin mal gespannt ob ihr bald drauf kommt oder ob ihr immer alles so kompliziert machen müsst ^^

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  39
  • Reputation:   2
  • Joined:  08/19/12
  • Last Seen:  

Du meinst es ginge mit den gegebenen Parametern delay1 und delay2, die man bei normalen Spawnen hätte?

@Psysk:

Sehe keinen Fehler, sollte eigentlich klappen.

Haste auch reloadscript benutzt oder Map-Server neugestartet?

EDIT:

Es wäre mit delay1 und delay2 möglich, allerdings wäre es laut dem Thread, den ich hier bereits oben erwähnt hatte,

kein Zufall, und somit nicht die Lösung, die sich Psysk wünscht.

Wenn man natürlich delay2 als rand(240000) einträgen könnte/dürfte, ginge das, aber ich denke mal, das ginge nicht.

So z.B.:

kh_dun02,0,0,0,0 boss_monster Kiel D-01 1734,1,300000,rand(240000),0

Aber wie gesagt,klappen wird's garantiert net.

Edited by skyleo
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Ich habe es mit Serverneustart versucht und Reloadscript.

Ich habe zum Test die beiden Zahlen mal vertauscht also dann ging es der Kiel kamm dann allerdings immer nach 3:40 Minuten oder mal 3:30

Bei der Variante oben kam Kiel nicht wegen der 1.

Mache ich nun aus

240001 also 240000

dann kommt er allerdings immer erst nach 4:20 - 4:50 Minuten.

Habe keine Ahnung warum das so ist.

Link to comment
Share on other sites

  • 1 month later...

  • Group:  Members
  • Topic Count:  17
  • Topics Per Day:  0.00
  • Content Count:  59
  • Reputation:   1
  • Joined:  01/15/12
  • Last Seen:  

abyss_03,0,0,0,0 boss_monster Detardeurus 1719,1,2400000,600000,0

Delay 1

Delay 2

das erklärt egtl alles delay 1 ist das minimum delay und delay 2 = delay 1 + delay 2 => dann haste des maximum delay

delay 2 wird vom delay 1 aus gezählt

EDIT:

ah jetzt weiß ich was du genau wolltest, setz doh einfach das delay 1 sehr niedrig, und das delay 2 auf ne höhere zahl ;)

Edited by bimbi
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...