Scriptek berakása Kezdőknek.(Kérésre)

Indította Raisen, 2011 július 30, 02:48:47 DÉLELŐTT

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

Raisen

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)



Itt menyünk be az src mappába.



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



Majd ezen belül scripts mappát.



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



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



Nyissuk meg a scriptet.



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á.



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


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.



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.





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

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



Itt a kis háromszöggel nyissuk le.




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



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



itt az elején

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

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



//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





Ha megvagyunk tekerjük le a legaljára.



Itt egy ilyen résznek kell lennie



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.




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.





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



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.)


▀█▀ █▀▀▄ █▀▀ █▀▀█ ▒█▀▀█ █▀▀█ █▀▀█ █░█ █▀▀█ █▀▀ █▀▀ ░ █░░█ █░░█
▒█░ █░░█ █▀▀ █░░█ ▒█▀▀▄ █▄▄█ █▄▄▀ █▀▄ █▄▄█ █░░ ▀▀█ ▄ █▀▀█ █░░█
▄█▄ ▀░░▀ ▀░░ ▀▀▀▀ ▒█▄▄█ ▀░░▀ ▀░▀▀ ▀░▀ ▀░░▀ ▀▀▀ ▀▀▀ █ ▀░░▀ ░▀▀▀

Bluerák

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...?

MacBook Pro 13' 2.26 GHZ, 4 GB RAM - White
iPhone 4S 16GB - Black
iPad 3 - Black

NEW PC:
Asus EAH6670 (1GB 128 bit)
AMD FX AM3+ (4x3.8GHZ)
ASRock 970 EXTREME3
8GB RAM

Pixa

#2
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.

Raisen

#3
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.


▀█▀ █▀▀▄ █▀▀ █▀▀█ ▒█▀▀█ █▀▀█ █▀▀█ █░█ █▀▀█ █▀▀ █▀▀ ░ █░░█ █░░█
▒█░ █░░█ █▀▀ █░░█ ▒█▀▀▄ █▄▄█ █▄▄▀ █▀▄ █▄▄█ █░░ ▀▀█ ▄ █▀▀█ █░░█
▄█▄ ▀░░▀ ▀░░ ▀▀▀▀ ▒█▄▄█ ▀░░▀ ▀░▀▀ ▀░▀ ▀░░▀ ▀▀▀ ▀▀▀ █ ▀░░▀ ░▀▀▀

$0undX

Szép leírás.
De blueráknak részben igaza van, építő jellegű a hozzászólása, nem kell oltani :)

Bluerák


MacBook Pro 13' 2.26 GHZ, 4 GB RAM - White
iPhone 4S 16GB - Black
iPad 3 - Black

NEW PC:
Asus EAH6670 (1GB 128 bit)
AMD FX AM3+ (4x3.8GHZ)
ASRock 970 EXTREME3
8GB RAM

Shartigan

Húhh, hát ez... ez nemhogy szájba adva, megrágva, meg is van emésztve! :P

Ment a sticky!


HTML::CSS, SQL, SHELL Programmer/Scripter, PHP Programmer, PERL Programmer
IRC Projects: Narancs(Perl) & Moldor(C#)

konDuku

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?

$0undX

Megpróbálod leforgatni (feltéve hogy ha nincs infó ott ahonnan letöltötted)

Skyne

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  ::)

konDuku

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.

kagebunshin


Aki csak most kezd bele a házépítésbe először ne a tetőt akarja megépíteni.
"-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."

konDuku

#12

$0undX

#13
Akkor vegy

konDuku

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... :(

Powered by EzPortal