Informatikai Barkács Fórum

WORLD OF WARCRAFT SZERVER => Script => A témát indította: Raisen Dátum 2011 július 30, 02:48:47 DÉLELŐTT

Cím: Scriptek berakása Kezdőknek.(Kérésre)
Írta: Raisen Dátum 2011 július 30, 02:48:47 DÉLELŐTT
Sok helyen láttam hogy nem megy $0undX leírása szerint a script berakás. Ezt biztosan állítom hogy nem így van $0undX leírása szerint működnie kell. Na de a lényegre térve nagyon részletesen bemutatom leírom de többször ne legyen ez kérdés köszi :)

Ctrl + al nagyíthattok a képre úgy részletesebben látjátok majd ctrl - al vissza mehettek.

Először is lépjünk be a letöltött forráskód mappájába. (Én esetembe skyfire mivel azt használom)

(http://kepfeltoltes.hu/110730/cmake_www.kepfeltoltes.hu_.png)

Itt menyünk be az src mappába.

(http://kepfeltoltes.hu/110730/cmake2_www.kepfeltoltes.hu_.jpg)

Ezen belül válasszuk ki a server mappát.

(http://kepfeltoltes.hu/110730/cmake3_www.kepfeltoltes.hu_.jpg)

Majd ezen belül scripts mappát.

(http://kepfeltoltes.hu/110730/cmake4_www.kepfeltoltes.hu_.jpg)

Legvégül ezen belül a custom mappát.

(http://kepfeltoltes.hu/110730/cmake5_www.kepfeltoltes.hu_.jpg)

Ide rakjuk be a kívánt scriptet én esetembe npc_reset.cpp

(http://kepfeltoltes.hu/110730/cmake_6_www.kepfeltoltes.hu_.jpg)

Nyissuk meg a scriptet.

(http://kepfeltoltes.hu/110730/script1_www.kepfeltoltes.hu_.jpg)

Legalján található egy ilyen rész.

void AddSC_npc_reset();  <----- ez nektek a script neve lesz de az eleje meg fog egyezni ezt jegyezzétek le valahova mert szükség lesz rá.

(http://kepfeltoltes.hu/110730/script2_www.kepfeltoltes.hu_.jpg)

-----------------------------------------------------------------------------------------


Most nyissuk meg ugyan itt a custom mappába CMakeLists nevezetű fájlt.
Ami benne van töröljétek és ez legyen bent.

set(scripts_STAT_SRCS
 ${scripts_STAT_SRCS}
 )

message("  -> Prepared: Custom")


Na mit is kell itt tenni. Ami scriptet beraktatok a custom mappába és ami a script ide berakjátok ilyen módon.
(én esetembe npc_reset.cpp)


set(scripts_STAT_SRCS
 ${scripts_STAT_SRCS}
 Custom/npc_reset.cpp
)

message("  -> Prepared: Custom")

Ahova én az npc_reset.cpp-t írtam ti oda a saját scriptetek nevét írjátok amit a custom mappába raktatok pl
asd.cpp

set(scripts_STAT_SRCS
 ${scripts_STAT_SRCS}
 Custom/asd.cpp
)

message("  -> Prepared: Custom")

Ha ezzel megvagytok mentsétek.


Most jöhet a cmake.

(http://kepfeltoltes.hu/110730/cmake_7_www.kepfeltoltes.hu_.jpg)

Felülre a forráskódot rakjuk alulra pedig ahova ki generáljuk a project fájlokat.
Tisztán érthető szerintem mint ha rendesen szervert csinálnánk úgy kell.

Ha megvagyunk ezzel menyünk be ahova elkészítettük a project fájlokat.

(http://kepfeltoltes.hu/110730/cmake8_www.kepfeltoltes.hu_.jpg)



Itt mennyünk bele ezekbe a mappákba \src\server\game

itt találunk egy game nevű project fájlt ezt nyissuk be.

(http://kepfeltoltes.hu/110730/cmake9_www.kepfeltoltes.hu_.jpg)

Itt a kis háromszöggel nyissuk le.

(http://kepfeltoltes.hu/110730/visual_www.kepfeltoltes.hu_.jpg)
(http://kepfeltoltes.hu/110730/visual1_www.kepfeltoltes.hu_.jpg)

Itt keressük ki a scripting mappát és nyissuk le a kis háromszög fülel.

(http://kepfeltoltes.hu/110730/visual2_www.kepfeltoltes.hu_.jpg)

ezen belül nyissuk meg a scriploader.cpp fájlt

(http://kepfeltoltes.hu/110730/visual3_www.kepfeltoltes.hu_.jpg)

itt az elején

#include "gamePCH.h"
#include "ScriptPCH.h"
#include "ScriptLoader.h"

Után nyomjuk 3 entert és írjuk be hogy //custom

(http://kepfeltoltes.hu/110730/visual4_www.kepfeltoltes.hu_.jpg)

//custom alá azt írjátok amit megnyitottunk a custom mappába c++ scriptet és a legalján volt található írtam is hogy jegyezzétek fel valahova.
én esetembe void AddSC_npc_reset();
A lényeg hogy figyeljetek a végén legyen pontosvessző
void AddSC_npc_reset();

ez így fog kinézni

(http://kepfeltoltes.hu/110730/visual5_www.kepfeltoltes.hu_.jpg)



Ha megvagyunk tekerjük le a legaljára.



Itt egy ilyen résznek kell lennie

(http://kepfeltoltes.hu/110730/visual6_www.kepfeltoltes.hu_.jpg)

void AddCustomScripts()
{
#ifdef SCRIPTS
   /* This is where custom scripts should be added. */
   
#endif

Itt a /* This is where custom scripts should be added. */
alá egyből írjátok be ugyan azt amit fent csak void nélkül.
úgye fent ezt láthattuk void AddSC_npc_reset();

ide csak így rakjátok be AddSC_npc_reset();
Remélem világos voidot elhagyátok előle.

(http://kepfeltoltes.hu/110730/visual7_www.kepfeltoltes.hu_.jpg)


Ez a rész megvan fent rámentek file ----->save scriptloader.cpp

Majdnem készen is vagyunk menyetek vissza a főmappába és kezdjétek el lefordítani.

(http://kepfeltoltes.hu/110730/visual8_www.kepfeltoltes.hu_.jpg)
(http://kepfeltoltes.hu/110730/visual9_www.kepfeltoltes.hu_.jpg)


Ha kész akkor bin mappába meg kell jelennie ezeknek.

(http://kepfeltoltes.hu/110730/finish_www.kepfeltoltes.hu_.jpg)

Hogyha nem volt szervered innen folytathatod a leírások szerint viszont hogyha van már szeród nincs más dolgod mint a worldserver.exet felülírni ahol az emud található.

Kiegészítés: Tulajdonképpen ne töröljük a forráskódot ahol elvégeztük a másolást mivel hogyha szeretnél még mást berakni utólag nincs más dolgod mint

újra olvasni amit írtam anyi kiegel

set(scripts_STAT_SRCS
 ${scripts_STAT_SRCS}
 )

message("  -> Prepared: Custom")

résznél pl van egy scripted kgg.cpp néven hozzá rakod íj módon most vegyük bele hogy nektek is npc_reset.cpp volt az első script

set(scripts_STAT_SRCS
 ${scripts_STAT_SRCS}
 Custom/npc_reset.cpp
)

message("  -> Prepared: Custom")

ez az alap így rakod hozzá a másikat

set(scripts_STAT_SRCS
 ${scripts_STAT_SRCS}
 Custom/npc_reset.cpp
 Custom/kgg.cpp
)

message("  -> Prepared: Custom")

szóval új sorba

//custom résznél pedig projecteknél kövi generálásnál ha nem törölted a forráskódot bent marad a régi beírásod és csak alá bedobod void részt ahogy írtam

//custom
void AddSC_npc_reset();
void AddSC_kgg();

Legalján is így
AddSC_npc_reset();
AddSC_kgg();

Szintúgy mentitek és mehet a fordítás. Ha megint lenne később így ismétlitek ezt a folyamatot segíthettek magatokon annyit hogy a forráskódot nem törlitek ahova beraktátok az első scriptet mert ha ezt is berakod a régi beírások a scriptloader.cpp be megmaradnak tehát csak az újakat kell hozzáadnod.


Szerintem érthető leírás remélem a képek sokat segítenek.

Egy kérésem van mivel leírtam az egészet teljesen képekkel fel is töltöttem akkor légyszíves ne legyen még mindig kérdés hogy hogyan kell scriptet berakni.

Esetleges hibák worldserver-t nem fordítja le a visual (Rossz script,Rosszul adtad meg a fájl nevét custom mappába,Valamelyik scriptloader.cpp résznél lehagytál egy kettöspontot esetleg máshova is írtad hogy void vagy épp lehagytad. Revison eltérés.)
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: Bluerák Dátum 2011 július 30, 11:58:40 DÉLELŐTT
Istenem, mi a ráknak ennyi leírás, ha valaki úgy nem érti meg ahogy Sound leírta az így sem fogja...
Egyébként, pPlayer->IsInCombat() után mért true-val térsz vissza...?
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: Pixa Dátum 2011 július 30, 02:08:34 DÉLUTÁN
Idézetet írta: Bluerák Dátum 2011 július 30, 11:58:40 DÉLELŐTT
Istenem, mi a ráknak ennyi leírás, ha valaki úgy nem érti meg ahogy Sound leírta az így sem fogja...
Egyébként, pPlayer->IsInCombat() után mért true-val térsz vissza...?

Jobb több mint egy se ;).
Szerintem nem azért készített leírást, hogy értelmetlen hozzászólások legyen mint amivel kezdted a mondatot, hanem pl, ha valaki elakad kérdez.

UPDATE: Grat a tutorialhoz jó részletes leírás főleg, hogy jó minőségű képekkel fokoztad ezt.
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: Raisen Dátum 2011 július 30, 07:04:17 DÉLUTÁN
IdézEgyébként, pPlayer->IsInCombat() után mért true-val térsz vissza...?

Azért hogy valamibe bele tudjál kötni. A scriptet nem én írtam de szerintem tutorialnak így is megfelel ha nagyon zavar kérdezd meg Chronicwrathot hogy miért úgy van.


Update: 2 van fent az enyémmel együtt hú de sok.
Nem értem mi a gond azzal ha érthetően le van írva mit hogyan kell. Nem kell fennakadni hogy mi van a scriptbe írva. A nagyon kezdők a configba nem igazodnak ki akkor egy pár részletből nem fogják tudni mivan és szerintem ez abszolút nem gond hogy a kezdőknek készítettem egy részletes leírást képekkel.
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: $0undX Dátum 2011 július 30, 09:01:44 DÉLUTÁN
Szép leírás.
De blueráknak részben igaza van, építő jellegű a hozzászólása, nem kell oltani :)
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: Bluerák Dátum 2011 július 31, 12:14:24 DÉLUTÁN
Nem offenseként írtam, csak megjegyeztem.
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: Shartigan Dátum 2011 augusztus 11, 10:35:52 DÉLUTÁN
Húhh, hát ez... ez nemhogy szájba adva, megrágva, meg is van emésztve! :P

Ment a sticky!
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: konDuku Dátum 2011 augusztus 15, 01:22:04 DÉLELŐTT
Mielőtt bárki is belevágna a script leforgatásába nézze át még egyszer! Egy ";" kimarad és kb fél órát el ronthat vele a drága idejéből. Mi Raisen-el pontosan 2 óra hosszát szívtunk emiatt! Mindig azt hittük nem jó az emuhoz a script. Erről jut eszembe! Hogy tudom megnézni ,hogy egy script egyáltalán passzol az én szerverem típusával?
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: $0undX Dátum 2011 augusztus 15, 09:29:00 DÉLELŐTT
Megpróbálod leforgatni (feltéve hogy ha nincs infó ott ahonnan letöltötted)
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: Skyne Dátum 2011 augusztus 15, 07:37:57 DÉLUTÁN
Idézetet írta: konDuku Dátum 2011 augusztus 15, 01:22:04 DÉLELŐTT
Mielőtt bárki is belevágna a script leforgatásába nézze át még egyszer! Egy ";" kimarad és kb fél órát el ronthat vele a drága idejéből. Mi Raisen-el pontosan 2 óra hosszát szívtunk emiatt! Mindig azt hittük nem jó az emuhoz a script. Erről jut eszembe! Hogy tudom megnézni ,hogy egy script egyáltalán passzol az én szerverem típusával?

Én ezzel nem dicsekednék, syntaxis hibát minden fordító érthetően jelez  ::)
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: konDuku Dátum 2011 augusztus 27, 02:09:20 DÉLELŐTT
Oké lehet ,hogy jelez, de aki nemrégen kezdett bele a dologba, mármint foglalkozni az egész C++ -al, és ez az első esete ,hogy használnia kell az nem arra fog figyelni ,hogy jelez-e neki syntaxis hibát a fordító. És az olvasók 3/4 részének szerintem fogalma sincs hol lehet ezt nyomon követni.
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: kagebunshin Dátum 2011 augusztus 28, 11:17:28 DÉLELŐTT

Aki csak most kezd bele a házépítésbe először ne a tetőt akarja megépíteni.
Cím: Re:Scriptek berak
Írta: konDuku Dátum 2011 augusztus 28, 02:40:57 DÉLUTÁN
Cím: Re:Scriptek berak
Írta: $0undX Dátum 2011 augusztus 28, 03:52:49 DÉLUTÁN
Akkor vegy
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: konDuku Dátum 2011 augusztus 28, 04:17:51 DÉLUTÁN
Nem okoskodok, csak arra céloztam ,hogy ez egy olyan topic amiben egy script beforgatásáról van szó, nem pedig arról ,hogy ,hogyan használjuk a C++ -t, én ezeket a hozzászólásokat mindig úgy fogom fel ,hogy aki jártas a témában annak ez természetes és nem érti ,hogy a kezdő mit nem ért pl a C++ -ban. Mindenkit úgy kezel mintha 5 programnyelvet tudna... :(
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: ident Dátum 2011 augusztus 28, 07:43:21 DÉLUTÁN
Idézetet írta: konDuku Dátum 2011 augusztus 28, 04:17:51 DÉLUTÁN
ez egy olyan topic amiben egy script beforgatásáról van szó, nem pedig arról ,hogy ,hogyan használjuk a C++ -t

Ezzel meg is válaszoltad a nagy kérdést. Kezdőknek van egyéb más téma, ahol szívesen válaszolnak a kérdésekre, ez nem az a topic, nem arról szól és mint írtad, feltételezi, hogy legalább a használt fordító program kezelésével tisztában van aki használja (hiszen mindegyik az ember arcába vágja a hibákat nagyon jól láthatóan). Tehát a téma címében szereplő "kezdőknek" arra utal, hogy ismeri már a programot amit használ, de még nem patchelt repo-t.

Azt pedig hogy honnan látod, hogy passzol-e a szervered verziójához, jelzik általában a téma elején (skyfire).

Holnap kitakarítom a felesleges/ide nem illő hozzászólásoktól a témát.
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: rolisepsi Dátum 2013 március 12, 05:38:01 DÉLUTÁN
Trinity core-nál hogyvan? ien mappák nincsenek a trinitynél.
Cím: Re:Scriptek berakása Kezdőknek.(Kérésre)
Írta: Trilon Dátum 2013 július 03, 02:44:50 DÉLELŐTT
Helló ! Az lenne a problémám hogy nincsenek meg a képek. Tudnál újakat felrakni? Nagyon szépen köszönöm.