• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Request: Pokedex with a channel!

Printer

if Printer then print("LUA") end
Senator
Premium User
Joined
Dec 27, 2009
Messages
5,780
Solutions
31
Reaction score
2,299
Location
Sweden?
Who can make the pokedex with channel that you can click!

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;
  • All pokemon descriptions (1-151).
  • Pokemon list registration.
  • When you get a new pokemon on pokedex gain experience.
Special thanks to:

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:
pokedex.jpg




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!
 
Back
Top