[Gyűjtőtéma]Kis publikációk

Indította HaWk, 2011-03-29, 07:16:13

Terrain (azaz map) szerkesztő, amivel kényelmesen készíthető height.raw a maphoz, ráadásul azonnal meg is nézhetjük és bejárhatjuk az egészet.

http://www.planetside.co.uk/index.php?option=com_content&view=article&id=38&Itemid=174

Ha kell, PS-el 2 kattintással 2 csatornássá tehető a raw fájl.


Egyszerű mount quest:

quest mount begin
state start begin
when mountpecsétID.use begin
pc.mount(mountID, 60*60*60)
chat("Ha leakarsz szálni nyomj ctrl+g-t!")
end
end
end


Ez a quest nem használ pc.setqf et ami azért jó mert az sokszor betud kavarni, hibákat okozhat.
(Ha hasznát veszed a questnek nyomj egy "+".t  :) )

Két egyszerű query, amivel rendbetehetjük a céh telkeket:

1:
UPDATE land SET guild_id=0, WHERE guild_id not in (select id AS guild_id from guild);
Ezzel a törölt (nem létező) céhek telkei újra megvásárolhatóvá válnak

2:
DELETE FROM object WHERE land_id in ( SELECT id AS land_if FROM land WHERE guild_id=0 );
Ezzel pedig az eladó telkeken található tárgyakat töröljük (így minden eladó telek üres lesz)

Reboot és lehet örömködni :)

2012-11-01, 17:47:22 #43 Utolsó szerkesztés: 2012-12-18, 15:54:31 Szerző: AnonimT.
Sziasztok.

Eszméletlen mennyiségű téma van/volt itt fórumon hogy MC nélkül mért nem enged csatlakozni bla bla.

Most leírom nektek:

Ha Vpc/Vbox os szervert csinálsz, az csak "szimulált FreeBSD",
Teljesen mind1 hogy root/hama/router/dyndns és a többi ha vpc/vboxon csináltad. (Amit úgye egy Windowson futtatsz.)

Ha Vpc/Vboxon megy a szervered, akkor MC nélkül soha a .... életben nem fogsz tudni csatlakozni a szerverre, lehet root vagy hama vagy bármi. (Persze azon a gépen amin megy a szerver azon engedi, de másik gépről NEM)

Ha a számítőgép alap Oprendszere FreeBSD, akkor nem kell MC a csatlakozáshoz,
De ha Windows, és azon van vpc/vbox/ amibe tettél egy szimulált FreeBSD-t amin ugye fut a szerver akkor KELL MC ha másik gépről akarsz csatlakozni az adott szerverre, mert aznélkül nemfog menni.

Na most felmerül a kérdés: De akkor sehogy nem lehet vbox/vpc-s szerverre MC nélkül csatlakozni?
De igen abban az esetben ha így csinálod meg a szervert:
Katt

Remélem érthető voltam....


Szerk: MC nélkül csak a kari választásig enged, utána ledob. (A pistiknek felvilágosításként írtam mert belém kötöttek.)

Szerk2: A Patchernek semmi köze a csatlakozáshoz, teljesen mind1 hogy .bat fájlból vagy patcherből indítod a bin-t, itt csak a szerver konfig illetve az "oprendszer" (Igazi Freebsd vs Vbox FreeBSD) számít.

Metin2 futtatása Windows 8 alatt:

Jobb klikk az indítóra: Kompatibilitási problémák megoldás > Program hibaelhárítása > Első két opció kipipálása > Windows 7 > Tovább > Program tesztelése > Tovább > Igen, mentem a program beállításait > Hibaelhárító bezárása.


Sziasztok!
Szerintem sokaknak van az a probléma Tűzfölddel, hogy nincsenek szörnyek stb.. Ez a hiba nálam is előjött, így picit kutakodni kezdtem a szerverfájlomban. Azt vettem észre, hogy egy alapból használatban NEM lévő pálya van ugyan azokon a koordinátákon mint Tűzföld. Ez a pálya a Naga pálya.
Szóval, hogy ha szeretnénk, hogy tűzföldön legyen szörny mindössze annyit kell tennünk, hogy kivesszük a metin2_map_naga1-et az Index fájlból és a CONFIG-okból. Ezzel javítottuk is a hibát.
Sok sikert mindenkinek :-)
A legfontosabb, hogy mindig önmagad legyél..
Kivéve akkor, ha lehetsz Teddy. Akkor inkább Teddy legyél.

Ahoy

Amit most mondok az lehet, hogy egyesek számára nem újdonság, de eddig én nem tudtam róla, így hát lehet, hogy más sem.
Tegnap nézegettem az UGMT2 szerverfájlt és találtam pár érdekességet;
    - /ma <vnum>
    - /mc <vnum>

Ezek parancsok. Használatuk egyezik a sima /m használatával, de van egy-egy plusz tulajdonságuk.
Az elsőnél(ma) a lehívott szörnyek agresszív állapotban idéződnek meg és rád támadnak.
A másodiknál(mc) a lehívott szörnyek menekülő állapotban idéződnek meg, mint például a Tanaka.

Példa: /ma 101 99
101 a szörny vnum jelen esetben vadkutya
99  a megidézendő szörnyek száma
(a darabszám 20[nekem 100] alaphelyzetben, game fájlban módosítható.)

+ egy kisebb észrevétel:

Régebben írtam egy multi-achievement(jutalom) rendszer questet, és elég sok questflag-ot(qf) használtam.
S amikor lekérdeztem játékban, hogy megadja-e a flagot azt tapasztaltam, hogy a questflag-ot nem a quest nevére adta meg, hanem egy teljesen más quest nevére. Tehát az én általam írt quest neve arch_test, ami így is néz ki "quest arch_test quest\n\tstate start begin" és a questflag-ot nem erre az arch_test névre adta hozzá, hanem egy nem létező bank névhez, ez lekérdezve szépen kimutatkozik a /getqf <name> paranccsal (bank.arch_level 78). De ez a probléma szerencsére kiküszöbölhető -ha gondot okoz vagy zavar- a pc.setf() paranccsal.
pc.setf(quest_name, flag_name, flag_value)
  - quest_name a quest fájlbeli neve, azaz nem a fájl neve
  - flag_name egyértelműen a flag neve
  - flag_value szintén egyértelműen a flag értéke
Egy példa rá:

test.quest:
quest pelda begin
state start begin
when login begin
if pc.getf("pelda", "necsinecsi") ~= 1 then-- '~=' = '!=' azaz nem egyenlő.
pc.setf("pelda", "necsinecsi", 1)
end
end
end


Ezzel a megoldással sikerült saját questnévre beállítgatni a questflagokat.

Persze ha nincs bajod a pc.setqf() paranccsal akkor az is használható.

2012-12-03, 11:24:26 #47 Utolsó szerkesztés: 2012-12-06, 08:18:39 Szerző: P3NG3R
Halihó.

Tegnap reggel elhatároztam, hogy megcsinálom a fektetett leltárhoz való difet.
El is készült, de ahhoz, hogy működjön kelleni fog a kliensoldali része is, amit én most nem tudok feltenni.
Esetleg, ha valakinek megvan az küldje el nekem és majd pótlom a hiányosságot, amint tudom
.
Hibát nem találtam benne, de ha van is benne hiba, akkor azt jelezzétek nekem PM-ben, hogy milyen körülmények között jött elő a hiba és hogy milyen formában, előre is köszi.

This difference file was created by IDA Pro

game_r2089M_32
000494B5: 05 09
0004952C: 05 09
00049572: 05 09
000495F1: 05 09
0004A7A5: 05 09
0004A808: 05 09
0004A80B: 05 09



http://imageshack.us/photo/my-images/402/1216135133.jpg/


2012-12-13, 19:55:18 #48 Utolsó szerkesztés: 2012-12-15, 10:40:52 Szerző: AnonimT.
Kézbe vehető yang:

Sziasztok. Készítettem kézbe vehető yangot minden kasztra.

sql:


INSERT INTO item_proto VALUES ('1334', 0x59616E6720284BE97A6265207665686574F529, 0x59616E6720284BE97A6265207665686574F529, '1', '0', '0', '1', '52', '1', '16', '', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '100', '3', '0');
INSERT INTO item_proto VALUES ('1333', 0x59616E6720284BE97A6265207665686574F529, 0x59616E6720284BE97A6265207665686574F529, '1', '0', '0', '1', '56', '1', '16', '', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '100', '3', '0');
INSERT INTO item_proto VALUES ('1335', 0x59616E6720284BE97A6265207665686574F529, 0x59616E6720284BE97A6265207665686574F5292020202020, '1', '0', '0', '1', '44', '1', '16', '', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '100', '3', '0');
INSERT INTO item_proto VALUES ('1336', 0x59616E6720284BE97A6265207665686574F529, 0x59616E6720284BE97A6265207665686574F529, '1', '4', '0', '1', '28', '1', '16', '', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '100', '3', '0');


kliens item_proto:

<Item vnum="1333" hashName="Yang (Kézbe vehető)" name="Yang (Kézbe vehető)" type="1" subtype="0" weight="0" size="1" antiflag="56" flag="1" wearflag="16" immuneflag="0" gold="0" buy_price="0" limittype0="1" limitvalue0="1" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="127" socket1="127" socket2="127" socket3="127" socket4="127" socket5="127" refine_vnum="0" refine_set="0" magic_pct="100" specular="100" socket_pct="3" />
<Item vnum="1334" hashName="Yang (Kézbe vehető)" name="Yang (Kézbe vehető)" type="1" subtype="0" weight="0" size="1" antiflag="52" flag="1" wearflag="16" immuneflag="0" gold="0" buy_price="0" limittype0="1" limitvalue0="1" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="127" socket1="127" socket2="127" socket3="127" socket4="127" socket5="127" refine_vnum="0" refine_set="0" magic_pct="100" specular="100" socket_pct="3" />
<Item vnum="1335" hashName="Yang (Kézbe vehető)" name="Yang (Kézbe vehető)" type="1" subtype="0" weight="0" size="1" antiflag="44" flag="1" wearflag="16" immuneflag="0" gold="0" buy_price="0" limittype0="1" limitvalue0="1" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="127" socket1="127" socket2="127" socket3="127" socket4="127" socket5="127" refine_vnum="0" refine_set="0" magic_pct="100" specular="100" socket_pct="3" />
<Item vnum="1336" hashName="Yang (Kézbe vehető)" name="Yang (Kézbe vehető)" type="1" subtype="4" weight="0" size="1" antiflag="28" flag="1" wearflag="16" immuneflag="0" gold="0" buy_price="0" limittype0="1" limitvalue0="1" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="127" socket1="127" socket2="127" socket3="127" socket4="127" socket5="127" refine_vnum="0" refine_set="0" magic_pct="100" specular="100" socket_pct="3" />


item_list:

1333 WEAPON icon/item/money.tga d:/ymir work/item/etc/money.gr2
1334 WEAPON icon/item/money.tga d:/ymir work/item/etc/money.gr2
1335 WEAPON icon/item/money.tga d:/ymir work/item/etc/money.gr2
1336 WEAPON icon/item/money.tga d:/ymir work/item/etc/money.gr2


ID-k:

1333: Harcos (Kard alapú subtype)
1334: Ninja (Kard alapú subtype)
1335: Sura (Kard alapú subtype)
1336: Sámán (Harang alapú subtype)


Felmerül a kérdés hogy letöltés nincs? Nincs mert a földre "kidobott yang" modelljét használja  :)

kép: (most a harcost fényképeztem le)



http://kepfeltoltes.hu/121213/Screenshot_1_www.kepfeltoltes.hu_.png


100% én készítettem a leírást! (Takyang)


(Ilyen módszerrel lehet kézbe vehető bossládát, aranyrudat stb is készíteni.)

Üdvözlök mindenkit tudom több ilyen quest is van fent fórumon de ez egy picit össze tettebb
Egy Zen Pont rendszer vagy egy olyan rendszer aminek akarjátok...
Először is
Hogyan lehet hozzá jutni egy Zen Ponthoz ha megölünk egy mobot
ide Azreal van beírva 50096 pedig a Zen Pont ID-je

quest Zenp begin
state start begin
when 2598.kill begin
game.drop_item_with_ownership(50096, 1)
end
end
end

Ezt írjátok bele a quest_functions-ba:
game.drop_item_with_ownership
Itt maga a quest 33007(NPC ide-je)
quest zenpb begin
state start begin
when 33007.chat."Zen Pont" begin
say("Mit szeretnél venni?")
local mit = select("Elemek Fegyverei","Zen vértek","Peteke","Bezár")
if mit == 5 then
return
end
if mit == 2 then
local k = select("Ninja Zen vért", "Harcos Zen vért","Sura Zen vért", "Sámán Zen vért", "Mégse")
if k == 1 then
say("Ez 50 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local b = pc.count_item(25689)
if b >= 50 then
pc.remove_item(25689, 50)
say("Tessék")
pc.give_item2(53360, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if k == 2 then
say("Ez 50 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local b = pc.count_item(25689)
if b >= 50 then
pc.remove_item(25689, 50)
say("Tessék")
pc.give_item2(53350, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if k == 3 then
say("Ez 50 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local b = pc.count_item(25689)
if b >= 50 then
pc.remove_item(25689, 50)
say("Tessék")
pc.give_item2(53340, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if k == 4 then
say("Ez 50 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local b = pc.count_item(25689)
if b >= 50 then
pc.remove_item(25689, 50)
say("Tessék")
pc.give_item2(53330, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end

if k == 5 then
return
end
if l == 2 then
say("Ez 100 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 100 then
pc.remove_item(25689, 100)
say("Tessék")
pc.give_item2(4770, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if d == 2 then
return
end
if l == 3 then
say("Ez 100 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 100 then
pc.remove_item(25689, 100)
say("Tessék")
pc.give_item2(4760, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if d == 2 then
return
end
if l == 4 then
say("Ez 100 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 100 then
pc.remove_item(25689, 100)
say("Tessék")
pc.give_item2(4740, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if d == 2 then
return
end
elseif mit == 1 then
say("Ezeken nehéz fegyverek vigyázz velük")
local l = select("Öt elem Pengéje", "Csont Kard","Elemek Kardja","Elemek Íjja", "Elemek Harangja","Elemek Legyezője" ,"Mégse")
if l == 7 then
return
end
if l == 1 then
say("Ez 100 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 100 then
pc.remove_item(25689, 100)
say("Tessék")
pc.give_item2(4750, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if d == 2 then
return
end
if l == 2 then
say("Ez 100 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 100 then
pc.remove_item(25689, 100)
say("Tessék")
pc.give_item2(4770, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if d == 2 then
return
end
if l == 3 then
say("Ez 100 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 100 then
pc.remove_item(25689, 100)
say("Tessék")
pc.give_item2(4760, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if d == 2 then
return
end
if l == 4 then
say("Ez 100 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 100 then
pc.remove_item(25689, 100)
say("Tessék")
pc.give_item2(4740, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if d == 2 then
return
end
if l == 5 then
say("Ez 100 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 100 then
pc.remove_item(25689, 100)
say("Tessék")
pc.give_item2(4720, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if d == 2 then
return
end
if l == 6 then
say("Ez 100 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 100 then
pc.remove_item(25689, 100)
say("Tessék")
pc.give_item2(4730, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if d == 2 then
return
end
elseif mit == 3 then
local p = select("Akarok egyet", "Mégse")
say("Itt azok a Petek Találhatóak")
say("Amelyeket nem lehet Elzárni")
say_reward("Holmi Itemshopba")
if p == 1 then
local m = select ("Azreal Bébi ", "Kutya Bébi","Mégse")
if m == 1 then
say("Ez 150 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 150 then
pc.remove_item(25689, 150)
say("Tessék")
pc.give_item2(53005, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if m == 2 then
say("Ez 150 Zen Pont lesz ")
local d = select("Megveszem", "Mégse")
if d == 1 then
local o = pc.count_item(25689)
if o >= 150 then
pc.remove_item(25689, 150)
say("Tessék")
pc.give_item2(53006, 1)
else
say("Hazugokkal nem kereskedem")
end
else
return
end
end
if p == 3 then
return
end
end
end
end
end
end

2012-12-31, 14:30:13 #50 Utolsó szerkesztés: 2012-12-31, 15:06:56 Szerző: Pisti95
Sziasztok! :)

Fel-, levehető mount pecsétet hogyan is csináljuk? Most megosztom veletek!

Alap quest:



quest pecsetek begin
state start begin
when PECSETID.use begin
pc.mount(MOUNTID)
end
when PECSETID.use begin
pc.mount(MOUNTID)
end
when PECSETID.use begin
pc.mount(MOUNTID)
end
when PECSETID.use begin
pc.mount(MOUNTID)
end
when PECSETID.use begin
pc.mount(MOUNTID)
end
end
end


Behelyettesítést meg tudjátok csinálni! ;)


A Pecsétek item_proto sorában, a type 16 legyen, így feltudjátok venni, mint egy szél cipőt, a pecsétet...ha leveszitek, akkor eltűnik a mount.

Alap Item_proto sor:



<Item vnum="PECSÉT ID" name="'Ŕú˝ĹŔĚżë±Ç'" gb2312name="PECSÉT NEVE" type="16" subtype="0" weight="0" size="1" antiflag="33024" flag="4" wearflag="0" immuneflag="0" gold="0" buy_price="0" limittype0="0" limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="0" socket1="64992" socket2="127" socket3="64976" socket4="21631" socket5="4855" refine_vnum="0" refine_set="0" magic_pct="0" specular="0" socket_pct="0" />


Itt is be kell helyettesíteni! ;)

Remélem hasznát veszitek!

Üdv, Pisti95


2013-01-07, 16:12:35 #51 Utolsó szerkesztés: 2013-01-08, 19:25:17 Szerző: AnonimT.
Üdv mindenki.

Ugye ez nem működik --> http://board.ddmt2.net/index.php/topic,152242.0.html
(Vagyis az ott leírt dif rossz csak, de a kliens rész uitargetes az jó, onnan megcsinálhatjátok.)

Egyrészt az indítóba SEMMI dif nem kell.

Másrészt a game fájlt az ott megadott dif helyett ezzel diffeljétek fel:
000263D2: 13 0B
00026403: 13 0B
00026420: D7 A7
00026421: 02 01
0007E995: E8 EB
0007E996: B6 29


Forrás: Hát egy itteni barát küldte nekem püben, de valószínűleg epvp-ről származik a dif.

Ez tesztelve, működik.[/color]









Item_proto ki/be csomagolás sima FR-el. (Remélem nem volt még kiposztolva.)

1. Letöltöd a csatolt fájlt (proto.7z) és kicsomagolod az FR mappádba (C:\fr)
Ha nincs FR-ed mert más csomagolót használsz akkor innen letudod tölteni az FR-ed: http://data.hu/get/2720124/FR.rar.html
2. Kibontod a locale_hu-dat és item_proto-t bemásolod az FR mappába.
3.futtatás beírod cmd (Win7 nél a keresésbe beírod hogy cmd és kiadja katt rá) Ha már a cmd-ben vagy oda beírod: "cd c:\fr" (Idézőjelek nélkül)    és nyomsz egy entert (Ne x eld ki a cmd-t)
4. Most beírod a cmd.be hogy "m2 item_proto_ex.xml" időzőjelek nélkül és nyomsz egy entert.
5. Megkapod az fr mappádba az item_proto_dump.xml-t amit szerkezhetsz notepad++al pl.
6. becsomagolás: most beírod: "m2 item_proto_pa.xml" időzőjelek nélkül.
7. Mostmár a szerkesztett item_proto fájl van az FR mappádba, amit mostmár vissza csomagolhatsz és örülsz hogy sikerült.

2013-01-08, 19:38:25 #52 Utolsó szerkesztés: 2013-11-05, 16:56:18 Szerző: Pisti95
Sziasztok! :)

Eyvil vértjeihez készítettem előre legyártott füstöléseket, GF alapú füstölés, több fajta színben


Színei:

- Fehér füst
- Fekete füst    [nem működik]
- Kék füst (alap)
- Piros füst
- Sárga füst
- Zöld füst


Kép:



Letöltés:   http://www.2shared.com/file/Fy3dbv2p/Fstlsek_by_Pisti95.html

+ aura1.dds is kell:   http://www.2shared.com/file/m9HQkQ2H/aura1.html


Üdv, Pisti95

Az alábbi kis PHP kód megmondja, hány játékos online a szerveren.
Az elterjedt SQL módszer felettébb pontatlan, így viszont mindig pontos lehet a kijelzés.

<?php
$socket 
socket_create (AF_INETSOCK_STREAMSOL_TCP);
$result socket_connect ($socket"127.0.0.1"13000);
$query "\x40USER_COUNT\x0A";
$query_size strlen($query);
$write_res socket_write($socket$query$query_size);
$recv_res socket_recv($socket$output1280);
preg_match("/(\d+)\s/"$output$count);
echo 
$count[0];
socket_close($socket);
?>




127.0.0.1 -et át kell írni a szerver IP címére. 13000 a port, szabadon lehet módosítani, ha kell.

2013-01-14, 19:51:26 #54 Utolsó szerkesztés: 2013-07-16, 12:05:52 Szerző: Pisti95
A koreai és a turbános hajak letöltés linkjei (halottak). Ezért felteszem ide is a linkeket, hátha valakinek szüksége lenne rá!

Hajak :


Quest (összeshez) :  http://www.2shared.com/file/kdQDVtC7/hair.html

Arab hajak (kliens oldal) :  http://www.2shared.com/file/4Epif52q/Arab_hajak_by_Pisti95.html

Koreai hajak (kliens oldal) :  http://www.2shared.com/file/aFmYvyXe/Koreai_hajak_by_Pisti95.html

Haj Modellek, textúrák (kliens oldal):  http://www.2shared.com/file/sqiyj76X/Koreai-Arab_hajak_modell.html

Halihó,

Ezek az üzenetek akkor jelennek meg, amikor még nem olvashatsz el egy új készségkönyvet, és x időnként más üzeneteket írat ki.
Nem biztos, hogy az üzenetek teljes egészében egyeznek a GF szerveren lévőekkel. Ha a wikin az aktuális van akkor viszont igen.
+ a game fájlban volt egy kisebb eltérés az időzítések között.

[DIF]:
This difference file is created by The Interactive Disassembler

game_r2089M_32
00064389: B3 2B
0006438A: 00 01
00064394: 2B 57
00064395: 01 02
0006439F: 57 07
000643A0: 02 07
000643AA: 07 0F
000643AB: 07 0E
000643B7: 0F 1F
000643B8: 0E 1C
000643C7: 1F 2F
000643C8: 1C 2A
000643D7: 2F 3F
000643D8: 2A 38
000643E7: 5F 7F
000643E8: 54 70
00064407: 1F 20


[locale_string.txt]:
"Ĺ©Ŕą, ±â°ˇ żŞ·ůÇĎ°í ŔÖľî! ŔĚ°Ĺ Ľł¸¶ ÁÖČ­ŔÔ¸¶Ŕΰˇ!? Á¨Ŕĺ!";
"Ohh, nem sikerült. A Francba!";

"Ľö·ĂŔĚ ˝ÇĆĐ·Î łˇłµ˝Ŕ´Ď´Ů. ´Ů˝Ă µµŔüÇŘÁֽñ⠹ٶř´Ď´Ů.";
"A tréning nem sikerült. Próbáld újra később!";

"ľî´ŔÁ¤µµ ŔĚ ±âĽúżˇ ´ëÇŘ ŔĚÇŘ°ˇ µÇľúÁö¸¸ Á¶±Ý şÎÁ·Çѵí ÇѵĄ..";
"A technológia egy részét megértetted, de valami még hiányzik..";

"%d ±ÇŔ» ´ő ŔĐľîľß Ľö·ĂŔ» żĎ·á ÇŇ Ľö ŔÖ˝Ŕ´Ď´Ů.";
"Ennyivel: %d több készség könyvet kell elolvasnod hogy fejleszthesd a képzettséget.";

"µĺµđľî łˇŔĚ ş¸ŔĚ´Â °Ç°ˇ...  ŔĚ ±âĽúŔş ŔĚÇŘÇϱⰡ łĘą« Čűµéľî..";
"Mikor lesz már végre vége...? Ezt a technológiát is nehéz megérteni...";

"¸ö ĽÓŔĚ ¶ß°Ě±ş. ÇĎÁö¸¸ ľĆÁÖ ĆíľČÇŘ. ŔĚ´ë·Î ±â¸¦ ľČÁ¤˝ĂĹ°ŔÚ.";
"Belül égek, de ez megnyugtatja a testem. A Chi-met stabilizálni kell.";

"±×·ˇ, õõČ÷. Á»´ő õõČ÷, ±×·ŻłŞ ¸·Čű ľřŔĚ şü¸Ł°Ô!";
"Kicsit lassan...De folyamatosan...Megállás nélkül!";

"±×·ˇ, ŔĚ ´Ŕł¦ŔĚľß. ĂĽł»żˇ ±â°ˇ ľĆÁÖ Ă游ÇŘ.";
"Igen, jó érzés. Tele vagyok Chi-vel.";

"´Ů ŔĐľú´Ů! ŔĚÁ¦ şń±Ţżˇ ŔűÇôŔÖ´Â ´ë·Î Ŕü˝Ĺżˇ ±â¸¦ µą¸®±â¸¸ Çϸé,";
"Olvastam! A Chi-nek most el kell oszlania a testemben.";

"±×°ÍŔ¸·Î Ľö·ĂŔş łˇł. °Ĺľß!";
"A tréning lezárult.";

"ŔĚÁ¦ ĂĄŔÇ ¸¶Áö¸· ŔĺŔĚľß! Ľö·ĂŔÇ łˇŔĚ ´«żˇ ş¸ŔĚ°í ŔÖľî!";
"A könyv utolsó oldalán járok. Mindjárt vége a tréningnek!";

"ľó¸¶ ľČ ł˛ľŇľî! Á¶±Ý¸¸ ´ő!";
"Majdnem sikerült. Még egy picit!";

"ÁÁľŇľî! Á¶±Ý¸¸ ´ő ŔĐŔ¸¸é łˇŔĚ´Ů!";
"Értem! Majdnem átolvastam!";

"ĂĄŔĺµµ ŔĚÁ¦ ľó¸¶ ł˛Áö ľĘľŇ±ş.";
"Már csak néhány oldal, és elolvastam mindent.";

"ąş°ˇ ¸ö ľČżˇ ČűŔĚ »ý±â´Â ±âşĐŔÎ °É.";
"Felfrissültem.";

"ŔĚÁ¦ Á» ˝˝˝˝ °ˇ´ÚŔĚ ŔâČ÷´Â °Í °°ŔşµĄ.";
"Már értem! Ok, tovább kell koncentrálnom!";

"ÁÁľĆ, ŔĚ ±âĽĽ·Î °čĽÓ łŞ°Ł´Ů!";
"Jobban kell koncentrálnom.";

"ľĆ´Ď ľî¶»°Ô µČ °Ô ÁľŔĎ ŔĐľîµµ ¸Ó¸®żˇ ľČ µéľîżŔłÄ.";
"Mindig ugyan azokat a sorokat olvasom.";

"°řşÎÇϱ⠽ȾîÁöł×.";
"Nem akarok tovább tanulni.";

"»ý°˘¸¸Ĺ. ŔбⰡ ˝±Áö°ˇ ľĘ±ş. ŔĚÇصµ ľî·Ć°í ł»żëµµ ł.ÇŘÇŘ.";
"Ez bonyolultabb és nehezebben érthető, mint ahogy gondoltam.";

"ŔĚ·ˇĽ.ľß °řşÎ°ˇ ľČµČ´Ů±¸.";
"Így nem tudok tanulni.";



A game fájlról és a locale_string.txt fájlról mindenképpen csinálj biztonsági másolatot!
Ha bármi probléma van vele, PM.

2013-02-07, 13:47:42 #56 Utolsó szerkesztés: 2013-08-12, 00:20:13 Szerző: ATAG
Ma találtam epvp-n egy kis szösszenetet, bizonyára sokaknak hasznos lehet.
Lényege, hogy helyi hálón üzemelő szerver (tehát router mögött vagy vboxon) nem fog kidobni kariválasztás után, így nem lesz szükség a surás indítóra.

rev 2089M Diff:
000916C4: F0 00
000916C5: 62 63
000916DD: F0 00
000916DE: 62 63
00091769: F0 00
0009176A: 62 63
001AB8E5: F0 00
001AB8E6: 62 63
001AB916: F0 00
001AB917: 62 63
001AB93B: F0 00
001AB93C: 62 63


Indításnál a -I (azaz ell nagy i) kapcsolóval kell megadni a helyes ip címet, pl: game -I 123.123.123.123

Forrás: katt

2013-02-10, 00:23:56 #57 Utolsó szerkesztés: 2013-02-10, 00:26:58 Szerző: Nzio™
Petek kiegészítő

Hello mindenkinek

Most írok egy kis kérdez feleket a petekről ,mert sokan vagytok azzal a problémával ,hogy "Jajj ,mindent jól csináltam és nem látszik"stb,stb..
Pet id-k:

22-----20120
23-----20123
24-----20126
25-----20129
26-----20132
27-----20135
28-----20138
29-----20141
30-----20144

Kérdés:Honnan olvassa alapból a modelleket gf-es kliensben?
Válasz:Az npc2-ből a textúrákkal együtt.

Kérdés:De beraktam npc2-be és nem látszik ,miért van ez?
Válasz:Mert ezken az id-ken az npc-ből olvassa.

Kérdés:De akkor hogyan oldhatnám meg ,hogy látszódjon?
Válasz:Berakod npc-be és npc2-be is a peteket.

Kérdés:De ezeken a pet id-ken már vannak mountok ,akkor mi a teendő?
Válasz:Áthelyezed a mountokat egy nagyobb id-re.Tehát a 20120-as 20150-es id-n legyen a 20121-es 20151-esen.Az id-jüket mob_proto-ban és npclistben is át kell írni ,továbbá szerver mob_proto-an és a questjükben.

Hogy honnan olvassa az adott id-n lévő mobot ,azt a syserr.txt kiírja ha át akarsz rá változni.

Fehér npc-k távolról
Hiba javítása:
Van egy gr fájl pl. chagirap.gr2(biológus) ez pl. fehér távolról
megoldása: lod fájlok kreálása a következő módon:
chagirap.gr2-t lemásolod és létrehozod ezt: chagirap_lod01.gr2 ,ha még ígysem javul meg ,akkor tovább sorszámozod ,xml fájlba nem elfelejteni bele írni ^^

Ha valaki igényli feldobom a petek kliens részét eix/epk-ba mob_proto meg npclist résszel.

Nzio

2013-02-16, 10:34:53 #58 Utolsó szerkesztés: 2013-02-16, 13:07:33 Szerző: ATAG
Sziasztok!

Gondolom van erről leírás, de én perpill nem találtam egyet sem. Íme egy tesztelt, egyszerű módszer:

Megnyitod root/uiminimap.py-t, elejére beírod az importok után
import time

Így néz ki:
Idézimport constInfo
import background
import time

class MapTextToolTip(ui.Window):

Rákeresel erre:self.positionInfo.SetText("(%.0f, %.0f)" % (x/100, y/100)
Átírod erre:
Idézself.positionInfo.SetText(time.strftime("[%H:%M:%S]"))
Így nézzen ki:
Idézdef OnUpdate(self):
      (x, y, z) = player.GetMainCharacterPosition()
      miniMap.Update(x, y)

      self.positionInfo.SetText(time.strftime("[%H:%M:%S]"))

      if self.tooltipInfo:

Ezutén megnyitod constinfo.py-t és átírod ezt:MINIMAP_POSITIONINFO_ENABLE = 0
erre:MINIMAP_POSITIONINFO_ENABLE = 1

Aztán újra csomagolod a root-ot és próba, elvileg ilyennek kell lennie:




Üzenet összefésülés: 2013-02-16, 13:06:09

Update:

Ha a positioninfo-ra is szükség van, akkor csak egy picivel komplikáltabb a dolog.
uiminimap.py elejére beírjuk (lásd feljebb):
import time

Rákeresünk erre:
self.positionInfo = 0

Alá írjuk ezt:
self.timeInfo = 0

Így nézzen ki:
Idézdef __Initialize(self):
      self.positionInfo = 0
      self.timeInfo = 0
      self.observerCount = 0

Rákeresünk erre:
self.positionInfo = self.GetChild("PositionInfo")

Alá írjuk ezt:
self.timeInfo = self.GetChild("TimeInfo")

Így nézzen ki:
Idéztry:
         self.OpenWindow = self.GetChild("OpenWindow")
         self.MiniMapWindow = self.GetChild("MiniMapWindow")
         self.ScaleUpButton = self.GetChild("ScaleUpButton")
         self.ScaleDownButton = self.GetChild("ScaleDownButton")
         self.MiniMapHideButton = self.GetChild("MiniMapHideButton")
         self.AtlasShowButton = self.GetChild("AtlasShowButton")
         self.CloseWindow = self.GetChild("CloseWindow")
         self.MiniMapShowButton = self.GetChild("MiniMapShowButton")
         self.positionInfo = self.GetChild("PositionInfo")
         self.timeInfo = self.GetChild("TimeInfo")
         self.observerCount = self.GetChild("ObserverCount")
         self.serverInfo = self.GetChild("ServerInfo")

Megkeressük ezt:
self.positionInfo.SetText("(%.0f, %.0f)" % (x/100, y/100))

Alá írjuk ezt:
self.timeInfo.SetText(time.strftime("[%H:%M:%S]"))

Így nézzen ki:
Idézdef OnUpdate(self):
      (x, y, z) = player.GetMainCharacterPosition()
      miniMap.Update(x, y)

      self.positionInfo.SetText("(%.0f, %.0f)" % (x/100, y/100))
      self.timeInfo.SetText(time.strftime("[%H:%M:%S]"))

      if self.tooltipInfo:

Ezzel az uiminimap kész is, lehet visszacsomagolni a root-ot.

Kibontjuk az uiscript-et, megnyitjuk a minimap.py-t. Megkeressük a PositionInfo-t, alá rakunk egy új childet. Így néz ki a végén (pirossal kiemeltem az új részt):

Idéz## PositionInfo
            {
               "name" : "PositionInfo",
               "type" : "text",
               
               "text_horizontal_align" : "center",

               "outline" : 1,

               "x" : 70,
               "y" : 160,

               "text" : "",
            },
            ## TimeInfo
            {
               "name" : "TimeInfo",
               "type" : "text",
               
               "text_horizontal_align" : "center",

               "outline" : 1,

               "x" : 70,
               "y" : 180,

               "text" : "",
            },

            ## ObserverCount

Ezzel kész is, lehet visszacsomagolni az uiscriptet és a végeredmény így fog kb kinézni:


2013-02-23, 20:21:23 #59 Utolsó szerkesztés: 2018-04-03, 17:36:42 Szerző: [MOD]Ken
Sziasztok.

Sokak olyan hibába esnek h betesznek egy diffet, és nem működik pl, és kidobják a game fájlt...
Na hát nem kell kidobni, mert ki is lehet venni a diffet.

Pl:

Betetted ezt a diffet:
002CD7AC : E2 B8
És ha kiakarod venni, akkor felcseréled a végén azt a 2-2 karaktert. A mi esetünkben így néz ki:
002CD7AC : B8 E2

Bediffeled újra a dif patcherrel, felcserélt karakterekkel és sikeresen eltávolítottad a diffet.