Ir para conteúdo

[Encerrado] [Pedido] Alguns Systems E Umas Sprites


GuhPk

Posts Recomendados

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)

 

separador%20blog.jpgseparador%20blog.jpg

 

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

 

separador%20blog.jpgseparador%20blog.jpg

 

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.

 

separador%20blog.jpgseparador%20blog.jpg

 

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'

 

separador%20blog.jpgseparador%20blog.jpg

 

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

 

separador%20blog.jpgseparador%20blog.jpg

 

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

 

separador%20blog.jpgseparador%20blog.jpg

 

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?

 

separador%20blog.jpgseparador%20blog.jpg

 

7 º - Teleportes Múltiplos em 1 Script

 

O título já diz tudo, quero 1 único script que de para criar vários teleportes.

separador%20blog.jpgseparador%20blog.jpg

 

E isso ai por enquanto pessoalzinho... É muita coisa mesmo, mas pode deixa...

Que para muitas coisas, eu tenho muitos rep's!! xD

Editado por GuhPk
Link para o comentário
Compartilhar em outros sites

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 o.O

 

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

Editado por Slicer
Link para o comentário
Compartilhar em outros sites

Cara, valeu por tudo...

Quase tudo funcional, só a 4 que está dando este erro:

 

 

[06/12/2012 13:19:54] [Error - Npc interface]

[06/12/2012 13:19:54] data/npc/scripts/sandra.lua:onCreatureSay

[06/12/2012 13:19:54] Description:

[06/12/2012 13:19:54] (luaGetItemAttribute) Item not found

[06/12/2012 13:19:59] Shiny Dragonite ball has been created by [ADM].

 

E ela não entrega o pokemon da pessoa... Só pega o pokemon!! sauhsauhsa

(Edite para teste, dar Shiny Dragonite, e ganhar Pikachu)!!! usahsauhas'

Link para o comentário
Compartilhar em outros sites

alias erro meu kk

pega esse aki..

 

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 = "Shiny Dragonite" --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(pbs, "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())

 

Editado por Slicer
Link para o comentário
Compartilhar em outros sites

Slice, pegou sim, e direitinho...

Só com ADM, GOD, GM... Que não da certo!! sauhsauha'

Porém, testei com um player e funfou direitinho!!

 

PS: Você poderia me ensinar a adicionar balls?!!

Link para o comentário
Compartilhar em outros sites

xi mano.. isso eh bem mais complexo.. eu n sei todos os passos de 'cór'.. se eu precisase adicionar uma ball, q na real to pensando em fazer a saffari depois, eu ia fazendo aos poucos ;/ mas no topico de duvidas do PDA tem uns 5 tutoriais ensinando a fazer isso... vai no link aki da minha assinatura, e depois no final do meu post do serv tem um link para tirar duvidas.. dai nesse topico de duvidas tenta usar a ferramenta de pesquisa ali do topo da tela.. coloca para procurar no topico... se tu procurar la achu q tu acha os tutoriais...

 

ah e essa img, mostra um pouquinhu de tudo q tu vai ter q fazer.. ;x

post-276507-0-04202900-1354882373_thumb.jpg

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...