1* testa ae...
local premios = {
[1] = {{id = 0000, qnt = 1}, {id = 1111, qnt = 2}},
[2] = {{id = 0000, qnt = 1}, {id = 1111, qnt = 2}},
[3] = {{id = 0000, qnt = 1}, {id = 1111, qnt = 2}},
[4] = {{id = 0000, qnt = 1}, {id = 1111, qnt = 2}},
[5] = {{id = 0000, qnt = 1}, {id = 1111, qnt = 2}},
[6] = {{id = 0000, qnt = 1}, {id = 1111, qnt = 2}},
[7] = {{id = 0000, qnt = 1}, {id = 1111, qnt = 2}},
[8] = {{id = 0000, qnt = 1}, {id = 1111, qnt = 2}},
[9] = {{id = 0000, qnt = 1}, {id = 1111, qnt = 2}},
[10] = {{id = 0000, qnt = 1}, {id = 1111, qnt = 2}},
}
local gods = {"GOD", "CM", "GM"} --uma proteçao para n contar gods, gms e afins.. ;x
function onLogin(cid)
if getGlobalStorageValue(9999) == -1 then setGlobalStorageValue(9999, 0) end
if getGlobalStorageValue(9999) < 10 then
for i = 1, #gods do
if string.find(getCreatureName(cid), gods) then
return true
end
end
setGlobalStorageValue(9999, getGlobalStorageValue(9999)+1)
local sto = getGlobalStorageValue(9999)
for a = 1, #premios[sto] do
doPlayerAddItem(cid, premios[sto][a].id, premios[sto][a].qnt)
end
end
return true
end
<event type="login" name="premioLogin" event="script" value="premioLogin.lua"/>
2* n sei se eh possivel verificar quando o player passar por uma escada ![]()
4* testa ae...
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
msg = string.lower(msg)
--- Atributos ---
local needPoke = "Mr. Mime" --poke q o player precisa ter...
local tradePoke = "Chansey" --poke q o player vai ganhar...
local level = 45 --level q o poke vai vir...
--- end ---
--- Functions ---
function givePoke(cid, pokemon, lvl)
if pokemon == "" then return true end
local gender = getRandomGenderByName(pokemon)
local mypoke = getPokemonStatus(pokemon)
if not mypoke then return true end
local level = lvl
local extrastr = 1.5
local btype = "normal"
local offense = mypoke.off * level * extrastr
local defense = mypoke.def * level * extrastr
local speed = mypoke.agi * level * extrastr
local vit = mypoke.vit * level * extrastr
local spatk = mypoke.spatk * level * extrastr
local happy = 200
local leveltable = getPokemonExperienceTable(pokemon)
if getPlayerFreeCap(cid) >= 6 or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then
item = doCreateItemEx(11826)
else
item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, 11826, 1)
end
doItemSetAttribute(item, "poke", pokemon)
doItemSetAttribute(item, "hp", 1)
doItemSetAttribute(item, "level", level)
doItemSetAttribute(item, "exp", leveltable[level])
doItemSetAttribute(item, "nextlevelexp", leveltable[level+1] - leveltable[level])
doItemSetAttribute(item, "offense", offense)
doItemSetAttribute(item, "defense", defense)
doItemSetAttribute(item, "speed", speed)
doItemSetAttribute(item, "vitality", vit)
doItemSetAttribute(item, "specialattack", spatk)
doItemSetAttribute(item, "happy", happy)
doItemSetAttribute(item, "gender", gender)
doItemSetAttribute(item, "description", "Contains a "..pokemon..".")
doItemSetAttribute(item, "fakedesc", "Contains a "..pokemon..".")
if getPlayerFreeCap(cid) >= 6 or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then --alterado v2.6
doPlayerSendMailByName(getCreatureName(cid), item, 1)
end
end
function havePokemon(cid, poke, excluir)
local pbs = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
local slot = getPlayerSlotItem(cid, 8)
if slot.itemid > 0 and isPokeball(slot.itemid) then
if getItemAttribute(slot.uid, "poke") == poke and excluir and excluir == true then
doRemoveItem(slot.uid, 1)
doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_LEGS).uid, 2395)
return true
elseif getItemAttribute(slot.uid, "poke") == poke then
return true
end
end
for i = 1, #pbs do
if getItemAttribute(pbs, "poke") == poke and excluir and excluir == true then
doRemoveItem(pbs, 1)
return true
elseif getItemAttribute(slot.uid, "poke") == poke then
return true
end
end
return false
end
--- end ---
if (msgcontains(msg, 'change') or msgcontains(msg, 'trade')) then
if havePokemon(cid, needPoke) then
selfSay("Are you sure you want to exchange your "..needPoke.." for my "..tradePoke.."?", cid)
talkState[talkUser] = 2
else
selfSay("You don't have "..getArticle(needPoke).." "..needPoke.." with you!", cid)
talkState[talkUser] = 0
return true
end
elseif msgcontains(msg, 'yes') then
if havePokemon(cid, needPoke, true) then
selfSay("Thanks so much! I will take care of your "..needPoke.." and i hope you enjoy my "..tradePoke.."!", cid)
givePoke(cid, tradePoke, level)
talkState[talkUser] = 0
return true
else
selfSay("Are you trying to joke with me? Good bye!", cid)
talkState[talkUser] = 0
return true
end
elseif msgcontains(msg, 'no') then
selfSay("Ok then... Good bye.", cid)
talkState[talkUser] = 0
return true
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
5* mano eu n aconcelharia isso n.. ;x pq um poke, seja qual for, no lvl 1 n vai ter muito mais força q um rattata lvl 5 por exemplo... ;/ e n sei se a galera vai querer upar com um poke fodao com força de um rattata ;x
mas se ms assim quiser fazer essa locura... vai em lib/catch system.lua e no começo vai ter 2x isso..
status.clevel = tonumber(getItemAttribute(corpse, "level"))
troca pra isso..
status.clevel = 1
6* as chances eh em actions/scripts/catch.lua no 'cr = ' dessa tabela..
local ballcatch = {
[2394] = {cr = 3, on = 24, off = 23, ball = 11826, send = 47, typeee = "normal"},
[2391] = {cr = 6, on = 198, off = 197, ball = 11832, send = 48, typeee = "great"},
[2393] = {cr = 10, on = 202, off = 201, ball = 11835, send = 46, typeee = "super"},
[2392] = {cr = 15, on = 200, off = 199, ball = 11829, send = 49, typeee = "ultra"},
}
soh lembrando q n testei nenhum dos scripts... soh passei pelo debug..






info
Grupo: Conde
Registrado: 18/10/12
Posts: 757
Reputação: +111
Ai pessoal, estou fazendo um server e para começo quero alguns sistemas... Quem puder ajudar mesmo que seja com 1, já ta ajudando muito... Ajudo? Dou Rep+!!!
PS: Uso base PDA By Slicer (2.6+2.6.1+2.7)
1 º - Premio aos primeiros player's.
Quero um system, que os 10 primeiros players ganhem alguns itens quando criarem o char e logar...
Mas quero que cada um receba itens diferentes!!!
2 º - Alavanca cria escada.
Quando um player puxar uma alavanca em tal posição, em outra posição aparece uma escada...
Quando o player subir nesta escada, ela some novamente.
3 º - Sprites de elevador
Estou querendo criar algumas coisas diferentes no meu server, então queria saber, se alguém poderia fazer para mim umas sprites...
Não tenho preferencias nem nada, mas se possível fazer as paredes, um piso, e uma porta aberta e fechada. ASSHAUSHSU'
4 º - System de trocar Pokemon's
Isso seria meio complexo acho, tipo, quero igual o system do GBA, que alguns npcs te dão um certo pokemon em troca de outro...
5 º - System de Catch editado
Acho que isso seria no catch, se não for me avise...
Queria que quando um player captura-se um pokemon qualquer, este pokemon viesse no level 20...
6 º - Duvida - Pokeball
Como faço para editar chance's dos catch's das pokeball's que têm no meu server...
R: É só editar o "cr" data/actions/scripts/catch.lua.
E como faço para adicionar novos pokeballs?
7 º - Teleportes Múltiplos em 1 Script
O título já diz tudo, quero 1 único script que de para criar vários teleportes.
E isso ai por enquanto pessoalzinho... É muita coisa mesmo, mas pode deixa...
Que para muitas coisas, eu tenho muitos rep's!! xD
Editado Dezembro 5 por GuhPk