Általános kérdések és válaszok

Indította Girosz, 2010 augusztus 29, 07:45:03 DÉLUTÁN

Előző téma - Következő téma

EroniX

Van egy táblád ami tartalmazza a vip accountok guidját valamint az időpontot amíg jogosultak a vip szolgáltatásokra. Amikor a játékos belogol lecsekkolod az accountjához tartozó időtartamot és ha lejárt kegyetlenül elveszed tőle.
Azuregos Delta Force

Shyro

Zolee:
Megoldhato a problema adatbazisban is. Szivesen segitek elindulni avagy osszerakni a cuccot, viszont tobb parameterre van szukseg, irj pm - et egy elerhetoseggel.
makeSystem :: Integral a => [a] -> [a]
makeSystem l = concat (zipWith (\ a b -> replicate (fromIntegral a) (fromIntegral b)) l [ product x | x <- inits l ])
makeSystem [ 60, 60, 24, 7, 52 ] = ?

NevemSenki

WOTLK Trial Account?

Starter Edition, Trial Converter és társai. Ez mind felelhető a kliensben. Valakinek van valami ötlete hogy hogyan működhet a Trial Kliens 3.3.5.12340 Build-on?
Igazából a kliens majdnem ugyan az. Csak valami kommunikáció van a szerverrel hogy most Trial vagy nem.

Valakinek valami ötlete? Bárki írhat bármit, akármilyen ötlete...

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

brecky

A kliens majdnem ugyanaz, ez igy igaz valamint a  authentikácioban is van kicsi külöbmség. Open Source Szervereken külön az authserver ami kezelli a bejelentkezest. 

NevemSenki

Továbbgondoltam a dolgokat.

Az lehetséges lenne hogy egy account-on létrehozott karakterek csak a megadott Map-okon tartózkodhassanak?

Például:

Account táblában jelöli hogy milyen jellegű az Account.
Ezáltal bedobni egy másik kezdőre, más koordinátákra kezdéskor.
Példának okáért Kalimdor.
Valahogy megakadályozni hogy kijusson Kalimdor területéről.
Gondolok itt a Dark Portal-ra, Sum-ra, Léghajóra.... Mage Portál-ra. Lock Sum kőre.

Valahogy ezt meg lehetne oldani szerveroldalon?
( Igaz, kicsit érdekes és lehet összefüggéstelen a kérdés, elnézést érte, de rengeteget dolgozom mostanság. )

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

kagebunshin

Szerintem lehetséges. Ugyebár a DK sem hagyhatja el a kezdőhelyét amíg nem teljesíti a küldetéseit és ezt nem csak úgy biztosították, hogy nincs semmilyen más teleport a mappon.

player.cpp TeleportTo függvénye.
https://github.com/TrinityCore/TrinityCore/blob/master/src/server/game/Entities/Player/Player.cpp
kb a 2200-as sor körül:

Idézif (getClass() == CLASS_DEATH_KNIGHT && GetMapId() == 609 && !IsGameMaster() && !HasSpell(50977))
            return false;

Ha jól sejtem ez a kódrészlet biztosítja, hogy a dk-t semmilyen teleport ne vihesse el a kezdőhelyről.
Ennek a mintájára szerintem megadható bármilyen más feltétel is.

Kezdőhely megváltoztatása meg nem is szükséges. Ha jól tudom adott account típus mellett nem is enged létrehozni olyan fajt/kasztot ami nem mehet arra a mapra.
De ha mégis szükség lenne rá gondolom az is megoldható.

Most így hirtelen ennyi. (Kicsit én is fáradt vagyok. Majd holnap, azaz ma megpróbálok jobban belemélyedni)
"-Egy dolgot viszont elárulhatnál nekem. Ki találta ki, hogy a fák őreinek erejével szálljatok szembe velem, mert nem te ugye? Te nem tudtad!
-Nem... de azért vagyunk többen, hogy valaki tudja."

NevemSenki

#141
Igen, szerintem ez lesz az amire szükségem lenne.
Mert lenne egy jó ötletem amit szeretnék megvalósítani ( a már 2 éve készülő ) szerveremen.

Hogy különböztethetnénk meg a Trial és a Full accontot egymástól?
Az a baj hogy nekem ezen dolgok nem mennek, 1-2 Script-et írtam meg.... elég fogalmatlan vagyok! De ennek a résznek értem a lényegét.
Vagy is a CLASS_DEATH_KNIGHT helyett nekem a Trial acc kéne.
Az addig jó hogy adatbázisban elintézem a dolgokat, rákeresek az azon táblát érintő Core részekre és kiegészítem a lekéréseket. De hogyan vezetem be új fajta account-ot?

Másik kérdés. Az esetlegesen megoldható lenne hogy a Trial Acco-s új karakter létrehozásakor ne Lv1-ről hanem Lv 40-ről induljon? A Full Accos pedig Lv1-ről, mint ahogy alapértelmezetten is van.
Ez conf-ban állítható ha jól tudom, de akkor az az összes kezdő karakterre vonatkozik.

Köszönöm a segítségedet!!

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Shyro

Abban az esetben, ha minden felhasznalo szamara szolna a dolog, a `world`.`disables` tablat erre talaltak ki:




sourceType2
entrymapID
flags0
Ha csak bizonyos felhasznalok eseteben kell, en is ugy latom, hogy egyedi modositas szukseges. Azt meg ember valogatja, hogy eppen mikent szeretne megoldani. En kiegeszitenem a `world`.`disables` tablat egy plusz int parameterrel, ahol egy RBAC permission ID - t adnek at. Ehhez persze modositani kellene a DisableMgr.h fuggvenyeit:
https://github.com/TrinityCore/TrinityCore/blob/master/src/server/game/Conditions/DisableMgr.h

Ha van igeny a dologra (es masnak nincs kivitelezhetobb elkepzelese) akar itt a forumon is osszedobhatjuk. (Bar a mai napra valo tekintettel en mar csak ejszaka tudok hozzaszolni a temahoz ujbol.)
makeSystem :: Integral a => [a] -> [a]
makeSystem l = concat (zipWith (\ a b -> replicate (fromIntegral a) (fromIntegral b)) l [ product x | x <- inits l ])
makeSystem [ 60, 60, 24, 7, 52 ] = ?

NevemSenki

Én úgy gondoltam hogy ha sikerülne ezt kivitelezni akkor közzéteszem.
De jobb ötlet lenne ha itt a Fórumon oldanánk meg, többen.... több szemszögből.

Szerintem hasznos lenne... kinek erre - kinek arra.

Hátha érdekel még 1-2 embert, mert akkor szerintem megérné belevágni.

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

kagebunshin

Szerintem is jó ötlet ha itt a fórumon oldjuk meg. Shyro megoldását jobbnak tartom. Más hasonló probléma esetén könnyebben konfigurálható, akár anélkül, hogy újra bele kelljen piszkálni a forráskódba.

IdézAz esetlegesen megoldható lenne hogy a Trial Acco-s új karakter létrehozásakor ne Lv1-ről hanem Lv 40-ről induljon?

Ha config-ban beállítható akkor kis módosítással biztos megoldható ez is. Itt is el lehet készíteni fix-en vagy akár egy külön tábla is létrehozható amiben tároljuk, hogy milyen acc-hoz hányas szinten hozzon létre karaktert.
"-Egy dolgot viszont elárulhatnál nekem. Ki találta ki, hogy a fák őreinek erejével szálljatok szembe velem, mert nem te ugye? Te nem tudtad!
-Nem... de azért vagyunk többen, hogy valaki tudja."

Shyro

Reszemrol sincs elfelejtve a tema, de az egyetem kozbeszolt, igy februar elejen tudok csak erdemben hozzaszolni a dologhoz.
makeSystem :: Integral a => [a] -> [a]
makeSystem l = concat (zipWith (\ a b -> replicate (fromIntegral a) (fromIntegral b)) l [ product x | x <- inits l ])
makeSystem [ 60, 60, 24, 7, 52 ] = ?

NevemSenki

Az a baj, hogy én nem nagyon foglalkoztam eddig a szerver Script részével, ebből kiindulva még nem sokat tudok. Most átpakoltam majdnem mindent egy másik gépre, felállítottam az egész környezetet a Kliens Edit-hez... mindenhez.... Lassan erősen bele kell néznem a Tc Core-ba is.... nem lehet olyan nehéz mint amilyennek látszik.

Shyro, örülök neki hogy részedről sincs elfelejtve a téma, sőt örülök Kagebunshin hozzászólásának is!

Amikor lesz időtök, írjatok néhány szót.... ti hogy állnátok neki.... hogy állna fel a működése. Mert én ezt komolyan meg szeretném csinálni!
Aki tud, és lenne kedve segíteni ebben, az írjon pár szót. És ha ténylegesen elkezdjük kivitelezni, akkor nyitunk neki egy új témát. Ha mégsem tudjuk itt a Fórumon megoldani, akkor szépen lassan önmagam próbálkozom meg vele, mint annó a PHP-val. :)

Előre is köszönöm a segítséget!

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Azzeroth

Üdv.!

Remélem jó helyre írom.
Valaki tudna egy leírást linkelni/készíteni a sniffer,parser,dbc-kről, tehát ezek mit tartalmaznak, mire jók, hogyan tudjuk szerkeszteni stb

Nagyon fontos lenne!!

Powered by EzPortal