Who can make the pokedex with channel that you can click!
Not with a dialog!

Not with a dialog!

Well I was thinking better and I decided that I will publish my pokedex script for free.
And I inform that one part of this system it is UNIQUE and there is not published on other place.
Features;
Special thanks to:
- All pokemon descriptions (1-151).
- Pokemon list registration.
- When you get a new pokemon on pokedex gain experience.
PokeServer team of XTibia -> for the pokemon descriptions.
thalia I think is the administrator of the project.
strack -> Help on registration list code.
Okay, now we go to start.
You need to download the pokemon descriptions on a RAR pack.
Here -> pokdescr rar
When you download the descriptions put the carpet descriptions on data/actions/scripts of your server.
Now go to data/lib/000-constant.lua and add this:
LUA:pokestorages = { [7274] = {"001","Bulbasaur"}, [7275] = {"002","Ivysaur"}, [7276] = {"003","Venusaur"}, [7277] = {"004","Charmander"}, [7278] = {"005","Charmeleon"}, [7279] = {"006","Charizard"}, [7280] = {"007","Squirtle"}, [7281] = {"008","Wartortle"}, [7282] = {"009","Blastoise"}, [7283] = {"010","Caterpie"}, [7284] = {"011","Metapod"}, [7285] = {"012","Butterfree"}, [7286] = {"013","Weedle"}, [7287] = {"014","Kakuna"}, [7288] = {"015","Beedril"}, [7289] = {"016","Pidgey"}, [7290] = {"017","Pidgeotto"}, [7291] = {"018","Pidgeot"}, [7292] = {"019","Rattata"}, [7293] = {"020","Raticate"}, [7294] = {"021","Spearow"}, [7295] = {"022","Fearow"}, [7296] = {"023","Ekans"}, [7297] = {"024","Arbok"}, [7298] = {"025","Pikachu"}, [7299] = {"026","Raichu"}, [7300] = {"027","Sandshrew"}, [7301] = {"028","Sandslash"}, [7302] = {"029","Nidoran(M)"}, [7303] = {"030","Nidorina"}, [7304] = {"031","Nidoquin"}, [7305] = {"032","Nidora(F)"}, [7306] = {"033","Nidorino"}, [7307] = {"034","Nidokin"}, [7308] = {"035","Clefairy"}, [7309] = {"036","Clefable"}, [7310] = {"037","Vulpix"}, [7311] = {"038","Ninetales"}, [7312] = {"039","Jigglypuff"}, [7313] = {"040","Wigglytuff"}, [7314] = {"041","Zubat"}, [7315] = {"042","Golbat"}, [7316] = {"043","Oddish"}, [7317] = {"044","Gloom"}, [7318] = {"045","Vileplume"}, [7319] = {"046","Paras"}, [7320] = {"047","Parasect"}, [7321] = {"048","Venomat"}, [7322] = {"049","Venomoth"}, [7323] = {"050","Diglett"}, [7324] = {"051","Dugtrio"}, [7325] = {"052","Meowth"}, [7326] = {"053","Persian"}, [7327] = {"054","Psyduck"}, [7328] = {"055","Golduck"}, [7329] = {"056","Mankey"}, [7330] = {"057","Primeape"}, [7331] = {"058","Growlithe"}, [7332] = {"059","Arcanine"}, [7333] = {"060","Poliwag"}, [7334] = {"061","Poliwhirl"}, [7335] = {"062","Poliwrath"}, [7336] = {"063","Abra"}, [7337] = {"064","Kadabra"}, [7338] = {"065","Alakazam"}, [7339] = {"066","Machop"}, [7340] = {"067","Machoke"}, [7341] = {"068","Machamp"}, [7342] = {"069","Bellsprout"}, [7343] = {"070","Weepinbell"}, [7344] = {"071","Victreebell"}, [7345] = {"072","Tentacool"}, [7346] = {"073","Tentacruel"}, [7347] = {"074","Geodude"}, [7348] = {"075","Graveler"}, [7349] = {"076","Golem"}, [7350] = {"077","Ponyta"}, [7351] = {"078","Rapidash"}, [7352] = {"079","Slowpoke"}, [7353] = {"080","Slowbro"}, [7354] = {"081","Magnemite"}, [7355] = {"082","Magneton"}, [7356] = {"083","Farfetch'd"}, [7357] = {"084","Doduo"}, [7358] = {"085","Dodrio"}, [7359] = {"086","Seel"}, [7360] = {"087","Dewong"}, [7361] = {"088","Grimer"}, [7362] = {"089","Muk"}, [7363] = {"090","Shellder"}, [7364] = {"091","Cloyster"}, [7365] = {"092","Gastly"}, [7366] = {"093","Haunter"}, [7367] = {"094","Gengar"}, [7368] = {"095","Onix"}, [7369] = {"096","Drowzee"}, [7370] = {"097","Hypno"}, [7371] = {"098","Krabby"}, [7372] = {"099","Kingler"}, [7373] = {"100","Voltorb"}, [7374] = {"101","Electrode"}, [7375] = {"102","Eggxecute"}, [7376] = {"103","Eggxecutor"}, [7377] = {"104","Cubone"}, [7378] = {"105","Marowak"}, [7379] = {"106","Hitmonlee"}, [7380] = {"107","Hitmonchan"}, [7381] = {"108","Likitung"}, [7382] = {"109","Koffing"}, [7383] = {"110","Weezing"}, [7384] = {"111","Rhyhorn"}, [7385] = {"112","Rhydon"}, [7386] = {"113","Chansey"}, [7387] = {"114","Tangela"}, [7388] = {"115","Kangaskhan"}, [7389] = {"116","Horsea"}, [7390] = {"117","Seadra"}, [7391] = {"118","Goldeen"}, [7392] = {"119","Seaking"}, [7393] = {"120","Staryu"}, [7394] = {"121","Starmie"}, [7395] = {"122","Mr.Mime"}, [7396] = {"123","Scyther"}, [7397] = {"124","Jynx"}, [7398] = {"125","Electrabuzz"}, [7399] = {"126","Magmar"}, [7400] = {"127","Pinsir"}, [7401] = {"128","Tauros"}, [7402] = {"129","Magikarp"}, [7403] = {"130","Gyarados"}, [7404] = {"131","Lapras"}, [7405] = {"132","Ditto"}, [7406] = {"133","Eevee"}, [7407] = {"134","Vaporeon"}, [7408] = {"135","Jolteon"}, [7409] = {"136","Flareon"}, [7410] = {"137","Porygon"}, [7411] = {"138","Omanite"}, [7412] = {"139","Omastar"}, [7413] = {"140","Kabuto"}, [7414] = {"141","Kabutops"}, [7415] = {"142","Aerodactyl"}, [7416] = {"143","Snorlax"}, [7417] = {"144","Articuno"}, [7418] = {"145","Zapdos"}, [7419] = {"146","Moltres"}, [7420] = {"147","Dratini"}, [7421] = {"148","Dragonair"}, [7422] = {"149","Dragonite"}, [7423] = {"150","Mewtwo"}, [7424] = {"151","Mew"} } pokemons = { -- { number of storage, itemid on click pokedex, number} ["Bulbasaur"] = {7274, 2222, 1}, ["Ivysaur"] = {7275, 2435, 2}, ["Venusaur"] = {7276, 2222, 3}, ["Charmander"] = {7277, 2222, 4}, ["Charmeleon"] = {7278, 2222, 5}, ["Charizard"] = {7279, 2222, 6}, ["Squirtle"] = {7280, 2222, 7}, ["Wartortle"] = {7281, 2222, 8}, ["Blastoise"] = {7282, 2222, 9}, ["Caterpie"] = {7283, 2222, 10}, ["Metapod"] = {7284, 2222, 11}, ["Butterfree"] = {7285, 2222, 12}, ["Weedle"] = {7286, 2222, 13}, ["Kakuna"] = {7287, 2222, 14}, ["Beedrill"] = {7288, 2222, 15}, ["Pidgey"] = {7289, 2222, 16}, ["Pidgeotto"] = {7290, 2222, 17}, ["Pidgeot"] = {7291, 2222, 18}, ["Ratatta"] = {7292, 2222, 19}, ["Raticate"] = {7293, 2222, 20}, ["Spearow"] = {7294, 2222, 21}, ["Fearow"] = {7295, 2222, 22}, ["Ekans"] = {7296, 2222, 23}, ["Arbok"] = {7297, 2222, 24}, ["Pikachu"] = {7298, 2222, 25}, ["Raichu"] = {7299, 2222, 26}, ["Sandshrew"] = {7300, 2222, 27}, ["Sandslash"] = {7301, 2222, 28}, ["Nidoran(H)"] = {7302, 2222, 29}, ["Nidorina"] = {7303, 2222, 30}, ["Nidoqueen"] = {7304, 2222, 31}, ["Nidoran(M)"] = {7305, 2222, 32}, ["Nidorino"] = {7306, 2222, 33}, ["Nidoking"] = {7307, 2222, 34}, ["Clefairy"] = {7308, 2222, 35}, ["Clefable"] = {7309, 2222, 36}, ["Vulpix"] = {7310, 2222, 37}, ["Ninetales"] = {7311, 2222, 38}, ["Jigglypuff"] = {7312, 2222, 39}, ["Wigglytuff"] = {7313, 2222, 40}, ["Zubat"] = {7314, 2222, 41}, ["Golbat"] = {7315, 2222, 42}, ["Oddish"] = {7316, 2222, 43}, ["Gloom"] = {7317, 2222, 44}, ["Vileplume"] = {7318, 2222, 45}, ["Paras"] = {7319, 2222, 46}, ["Parasect"] = {7320, 2222, 47}, ["Venomat"] = {7321, 2222, 48}, ["Venomoth"] = {7322, 2222, 49}, ["Diglett"] = {7323, 2222, 50}, ["Dugrio"] = {7324, 2222, 51}, ["Meowth"] = {7325, 2435, 52}, ["Persian"] = {7326, 2222, 53}, ["Psyduck"] = {7327, 2222, 54}, ["Golduck"] = {7328, 2222, 55}, ["Mankey"] = {7329, 2222, 56}, ["Primeape"] = {7330, 2222, 57}, ["Growlithe"] = {7331, 2222, 58}, ["Arcanine"] = {7332, 2222, 59}, ["Poliwag"] = {7333, 2222, 60}, ["Poliwhirl"] = {7334, 2222, 61}, ["Poliwrath"] = {7335, 2222, 62}, ["Abra"] = {7336, 2222, 63}, ["Kadabra"] = {7337, 2222, 64}, ["Alakazam"] = {7338, 2222, 65}, ["Machop"] = {7339, 2222, 66}, ["Machoke"] = {7340, 2222, 67}, ["Machamp"] = {7341, 2222, 68}, ["Bellsprout"] = {7342, 2222, 69}, ["Weepinbell"] = {7343, 2222, 70}, ["Victreebell"] = {7344, 2222, 71}, ["Tentacool"] = {7345, 2222, 72}, ["Tentracruel"] = {7346, 2222, 72}, ["Geodude"] = {7347, 2222, 74}, ["Graveler"] = {7348, 2222, 75}, ["Golem"] = {7349, 2222, 76}, ["Ponyta"] = {7350, 2222, 77}, ["Rapidash"] = {7351, 2222, 78}, ["Slowpoke"] = {7352, 2222, 79}, ["Slowbro"] = {7353, 2222, 80}, ["Magnemite"] = {7354, 2222, 81}, ["Magneton"] = {7355, 2222, 82}, ["Farfetch'd"] = {7356, 2222, 83}, ["Doduo"] = {7357, 2222, 84}, ["Dodrio"] = {7358, 2222, 85}, ["Seel"] = {7359, 2222, 86}, ["Dewong"] = {7360, 2222, 87}, ["Grimer"] = {7361, 2222, 88}, ["Muk"] = {7362, 2222, 89}, ["Shellder"] = {7363, 2222, 90}, ["Cloyster"] = {7364, 2222, 91}, ["Gastly"] = {7365, 2222, 92}, ["Haunter"] = {7366, 2222, 93}, ["Gengar"] = {7367, 2222, 94}, ["Onix"] = {7368, 2222, 95}, ["Drowzee"] = {7369, 2222, 96}, ["Hypno"] = {7370, 2222, 97}, ["Krabby"] = {7371, 2222, 98}, ["Kingler"] = {7372, 2222, 99}, ["Voltorb"] = {7373, 2222, 100}, ["Electrode"] = {7374, 2222, 101}, ["Eggxecute"] = {7375, 2435, 102}, ["Eggxecutor"] = {7376, 2222, 103}, ["Cubone"] = {7377, 2222, 104}, ["Marowak"] = {7378, 2222, 105}, ["Hitmonlee"] = {7379, 2222, 106}, ["Hitmonchan"] = {7380, 2222, 107}, ["Likitung"] = {7381, 2222, 108}, ["Koffing"] = {7382, 2222, 109}, ["Weezing"] = {7383, 2222, 110}, ["Rhyhorn"] = {7384, 2222, 111}, ["Rhydon"] = {7385, 2222, 112}, ["Chansey"] = {7386, 2222, 113}, ["Tangela"] = {7387, 2222, 114}, ["Kangaskhan"] = {7388, 2222, 115}, ["Horsea"] = {7389, 2222, 116}, ["Rotworm"] = {7390, 2222, 117}, ["Goldeen"] = {7391, 2222, 118}, ["Seaking"] = {7392, 2222, 119}, ["Staryu"] = {7393, 2222, 120}, ["Starmie"] = {7394, 2222, 121}, ["Mr.Mime"] = {7395, 2222, 122}, ["Scyther"] = {7396, 2222, 123}, ["Jynx"] = {7397, 2222, 124}, ["Electrabuzz"] = {7398, 2222, 125}, ["Magmar"] = {7399, 2222, 126}, ["Pinsir"] = {7400, 2222, 127}, ["Tauros"] = {7401, 2222, 128}, ["Magikarp"] = {7402, 2222, 129}, ["Gyarados"] = {7403, 2222, 130}, ["Lapras"] = {7404, 2222, 131}, ["Ditto"] = {7405, 2222, 132}, ["Eevee"] = {7406, 2222, 133}, ["Vaporeon"] = {7407, 2222, 134}, ["Jolteon"] = {7408, 2222, 135}, ["Flareon"] = {7409, 2222, 136}, ["Porigon"] = {7410, 2222, 137}, ["Omanite"] = {7411, 2222, 138}, ["Omastar"] = {7412, 2222, 139}, ["Kabuto"] = {7413, 2222, 140}, ["Kabutops"] = {7414, 2222, 141}, ["Aerodactyl"] = {7415, 2222, 142}, ["Snorlax"] = {7416, 2222, 143}, ["Articuno"] = {7417, 2222, 144}, ["Zapdos"] = {7418, 2222, 145}, ["Moltres"] = {7419, 2222, 146}, ["Dratini"] = {7420, 2222, 147}, ["Dragonair"] = {7421, 2222, 148}, ["Dragonite"] = {7422, 2222, 149}, ["Mewtwo"] = {7423, 2222, 150}, ["Mew"] = {7424, 2222, 151} }
Well I explain the values of pokemons table on 000-constant.lua, example:
RED COLOR -> It's the storage of registered pokemon ( do not modify for precaution ).
ORANGE COLOR -> The itemid of portrait image.
YELLOW COLOR -> It's the name of the description file ( do not modify ).
The pokestorages table, if you do not know do not modify it.
Go to data/actions/scripts and create a LUA file called pokedex.lua. Now on the file put this:
LUA:function addPoke(cid, storage) setPlayerStorageValue(cid, storage, 1) end local list = "Pokedex registration: \n" local pokemonss = 0 local showpokedex = "" local img = "" function onUse(cid, item, fromPosition, itemEx, toPosition) if not isCreature(itemEx.uid) then return doPlayerSendCancel(cid, "Invalid action.") end local p = pokemons[getCreatureName(itemEx.uid)] if p then img = p[2] showpokedex = doShowTextDialog(cid, img, io.open('data/actions/scripts/descriptions/'.. p[3] ..'.txt'):read("*all")) if isMonster(itemEx.uid) then return getPlayerStorageValue(cid, p[1]) ~= 1 and doPlayerSendTextMessage(cid, 22, "Now you registered ".. getCreatureName(itemEx.uid) .." into pokedex!") and doPlayerSendTextMessage(cid, 22, "You gain ".. p[1]-7300 .." experience!") and doPlayerAddExperience(cid, p[1]-7300) and showpokedex and addPoke(cid, p[1]) or getPlayerStorageValue(cid, p[1]) == 1 and showpokedex end end if getCreatureName(itemEx.uid) == getCreatureName(cid) then for i = 7274,7424 do if getPlayerStorageValue(cid, i) == 1 then list = list.."\n[".. pokestorages[i][1] .."] - ".. pokestorages[i][2] .."" pokemonss = pokemonss + 1 elseif getPlayerStorageValue(cid, i) == -1 then list = list.."\n[".. pokestorages[i][1] .."] - Uknown pokemon" end end doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "You have ".. pokemonss .." unlocked pokemons.") doShowTextDialog(cid, item.itemid, "".. list .."\n\nEnd of registration.") end return true end
You do not need modify ANYTHING of pokedex.lua script f you do not know.
On actions.xml put this:
XML:<action itemid="id of pokedex" event="script" value="name.lua" allowfaruse="1"/>
Okay, now one image of Pokemon Registration:
![]()
New feature:
-When you say /pokedex POKEMONNAME, if you have pokemon registered the talkaction shows to you the pokemon description but if you have not registered the talkaction do not shows anything and one message be sent to you: "Eeehh? What pokemon is it?????".
No more, if you have already implemented my system, first you need to go to data / talkactions / scripts create a file called pokedex.lua and add this:
LUA:function onSay(cid, words, param, channel) -- Script by Xafterin local s = pokemons[param] if s then local regist = getPlayerStorageValue(cid, s[1]) local img = s[2] return regist == -1 and doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Eeehh? What pokemon is it?????") or regist == 1 and doShowTextDialog(cid, s[2], io.open('data/actions/scripts/descriptions/'.. s[3] ..'.txt'):read("*all")) elseif not s then doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Eeehh? What pokemon is it?????") end return 0 end
talkactions.xml
XML:<talkaction words="/pokedex" event="script" value="pokedex.lua"/>
Now, yes, my system is 100%.
Good luck!