Mhalicot 392 Posted December 6, 2013 Malinaw na Gabay kung paano gamitin sa iyong server ang Plugins ng Hercules. Talaan ng Nilalaman: I. Panimula: Ang C (Programming Language) para sa plugin ay karaniwang walang kaibahan, bago ma compile ang plugin kailangan matugunan muna ang pamantayan depende sa iyong Operating System, may dalawang Gabay sa baba, yung isa ay para sa Windows at yung isa naman ay para sa lahat ng iba pa (na kung saan dapat gumana sa anumang *nix distro, pati narin sa OSX) II. Para sa Windows: ~ Ang gabay na ito ay kung paano maihanda ang iyong MSVC environment para sa bagong HPM plugins. ~ Pakiusap intindihing mabuti para hindi maligaw Pumunta sa [ src/plugins/ ] folder, at gumawa ng bagong [ .c ] file, Halimbawa. [ dance.c ](ang pangalan na yan ang gagamitin bilang halimbawa) Buksan ang [ dance.c ] at i-paste ang code na ito, Gumamit ng Notepad++ #include <stdio.h>#include <string.h>#include "../common/HPMi.h"#include "../map/script.h"#include "../map/pc.h"HPExport struct hplugin_info pinfo ={ "@dance", // Plugin name SERVER_TYPE_MAP,// Which server types this plugin works with? "0.1a", // Plugin version HPM_VERSION, // HPM Version (don't change, macro is automatically updated)};ACMD(dance){ if (!message || !*message) { clif->message(fd, "usage: @dance 1-9");return -1; } if ( atoi(message) == 1 ) {clif->specialeffect(&sd->bl, 413, ALL_CLIENT); } else if ( atoi(message) == 2 ) {clif->specialeffect(&sd->bl, 414, ALL_CLIENT); } else if ( atoi(message) == 3 ) {clif->specialeffect(&sd->bl, 415, ALL_CLIENT); } else if ( atoi(message) == 4 ) {clif->specialeffect(&sd->bl, 426, ALL_CLIENT); } else if ( atoi(message) == 5 ) {clif->specialeffect(&sd->bl, 458, ALL_CLIENT); } else if ( atoi(message) == 6 ) {clif->specialeffect(&sd->bl, 466, ALL_CLIENT); } else if ( atoi(message) == 7 ) {clif->specialeffect(&sd->bl, 501, ALL_CLIENT); } else if ( atoi(message) == 8 ) {clif->specialeffect(&sd->bl, 540, ALL_CLIENT); } else if ( atoi(message) == 9 ) {clif->specialeffect(&sd->bl, 550, ALL_CLIENT); } else { clif->message(fd, "usage: @dance 1-9"); } return true;}/* Server Startup */HPExport void plugin_init (void){ clif = GET_SYMBOL("clif"); script = GET_SYMBOL("script"); skill = GET_SYMBOL("skill"); addAtcommand("dance",dance);} Buksan ang iyong MSVC project (Hal. 'Hercules-10.sln') Pumunta sa [ Solution Explorer ] i-Right Click ang Hercules Project ( unang item sa [ Solution Explorer ]), tapos [ Add->New Project ]. Piliin ang [ General ], at Piliin din ang [ Empty Project ]. Ilagay ang pangalan ng plugin sa [ Name ] field sa ibaba tapos i-click ang OK. Tignan ang Image sa #6. Sa solution explorer buksan ang ginawang project para ipakita ang lahat ng nilalaman. i-Right Click ang iyong project na ginawa, at buksan [ Add->Existing Item ] i-Browse at hanapin ang [ dance.c ] file sa [ src/plugins ] at pindutin ang OK. Ilagay ang [ dance.c ] file sa ilalim ng [ Source Files ], i-drag ito papunta sa project na ginawa mo tapos i-drop o bitawan mo ang pagkaka drag (Sa madaling salita mapupunta ito sa labas ng source files folder.) (Dapat ganito ang kalalabasan) Kapag nasalabas na nang folder ang [ dance.c ], i-delete ang 3 na folder (Piliin ang 3, pindutin ang delete button sa keyboard mo and pindutin ang OK.) (Dapat ganito ang kalalabasan) i-Right Click ang iyong project na ginawa at buksan ang [ Properties ] Sa ilalim ng [ Configuration Properties ] pindutin ang [ General ], palitan ang [ Output Directory ] gawing ..plugins Palitan din ang [ Intermediate Directory ] gawing $(ProjectName)$(ConfigurationName) at ang [ Configuration Type ] gawing Dynamic Library (.dll) Sa ilalim ng [ Configuration Properties ] i-click ang [ C/C++ ] tapos buksan ang [ General ], at ilagay sa [ Additional Include Directories ] ang ..srccommon;..3rdpartymsinttypesinclude Sa ilalim ng [ Configuration Properties ] i-click ang [ Linker ] at buksan ang [ General ], palitan ang [ Output File ] gawing $(OutDir)dance.dll (Palitan ang dance.dll ng pangalan ng iyong sariling file kung iyon ang ginagamit mo.) tapos i-click ang OK.Halimbawa lamang ang dance.dll dahil ito ang filename nang Gabay na ito. i-Right Click ang project na ginawa mo and Piliin ang Build. Pag walang error ibig sabihin tama ang ginawa mo. i-Add ang iyong file sa [ /config/plugins.conf ] plugins_list: [ /* Enable HPMHooking when plugins in use rely on Hooking */ //"HPMHooking", //"db2sql", //"sample", //"other", "dance", // dance.c] III. Para sa (*nix distro, OSX at ibapa): ~ Ang gabay na ito ay kung paano I-handa ang GCC environment para sa bagong HPM plugin. Sa iyong [ src/plugins/Makefile.in ] file, may makikita kang katulad nito: ################ PLUGIN CONFIGURATION ############################### ## When you add a plugin, add its name here: ## Example: if you have a plugin named my_cool_plugin.c and another ## one named my_second_plugin.c, add them to the list like this: ## ## MYPLUGINS = my_cool_plugin my_second_plugin ## ## Note: DO NOT include the .c extension!!! #MYPLUGINS = I dagdag lamang ang iyong plugin name (hindi kasama ang .c extension), Pagkatapos ng [ MYPLUGINS = plugin name ] MYPLUGINS = dance i-save at i-close. Pang huli, i-Run ang [ make plugins ] command sa root folder ng Hercules at tapos ka na. IV. Kapaki-pakinabanang na Link and Download: ~ [script Command] addrid ~ [script bonus] bCoolDownRate,<x>; ~ [Atcommand] @autopots ~ [Atcommand] @afk ~ [Atcommand] @identifyall ~ [Atcommand] @autoatk ~ Pag aralan ang Hercules Plugin Manager ~ More Plugin Release V. Kadalasang Tanong: ~ Mga tanong na nasagot na Hanapin lamang ang iyong problema sa link sa taas bago mag post kung hindi mo makita. Mag mungkahi nang mga gusto idagdag sa gabay na ito. 1 REKT reacted to this Quote Share this post Link to post Share on other sites