LG

[Encerrado] Reward Chuck norris

Por lgan, 09 de dez. de 2013 em Tópicos Sem Resposta

resolvido
script
6
507
lganL
09 de dezembro de 2013 às 02:32

Dae pessoal.. to com um pequeno problema aki...

quero colocar uma recompensa pra quem derrotar o Chuck Norris. Após algumas pesquisas cheguei a conclusão que o ideal seria usar o script do starter.lua e fazer as modificações necessárias. não sou scripter nem nada sou apenas um curioso... e gosto de mexer em ots..

ta quase tudo certo soh estou com 2 problemas...

1° - a ball com o poke (lee ou chan) eh unique... assim como os pokes iniciais.. como faço para que não sejam unique?

2° - se o player ganhar do chuck norris ele pode ficar clicando no bau e pegando varias recompensas.... como posso fazer para que ele pegue apenas uma vez?

3°- isso não eh bem um problema...quando o player clica no bau ele teleporta pra city inicial.. se alguem souber como tiro essa função...


aki vai o script que estou usando...

local starterpokes = {

["hitmonchan"] = {x = 613, y = 990, z = 7},
["hitmonlee"] = {x = 615, y = 990, z = 7},
}

local btype = "normal"

function onUse(cid, item, frompos, item2, topos)

if getPlayerLevel(cid) > 20 then
return true
end

local pokemon = ""

for a, b in pairs (starterpokes) do
if isPosEqualPos(topos, b) then
pokemon = a
end
end
if pokemon == "" then return true end

if getPlayerStorageValue(cid, 759848) <= 6 then
sendMsgToPlayer(cid, 27, "Derrote o Chuck Norris primeiro!!")
return true
end --alterado v1.9 \/

doPlayerSendTextMessage(cid, 27, "You got your first pokemon! You also received some pokeballs to help you in your way.")
doPlayerSendTextMessage(cid, 27, "Don't forget to use your pokedex on every undiscovered pokemon!")

addPokeToPlayer(cid, pokemon, 0, nil, btype, true)
doPlayerAddItem(cid, 11446, 10)


doSendMagicEffect(getThingPos(cid), 29)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doSendMagicEffect(getThingPos(cid), 27)
doSendMagicEffect(getThingPos(cid), 29)


return TRUE
end

 


flw

Editado Dezembro 9 por lgan

zipter98Z
09 de dezembro de 2013 às 02:49

Pode postar sua função addPokeToPlayer (se não me engano, fica em some functions.lua).

 

local starterpokes = {
["hitmonchan"] = {x = 613, y = 990, z = 7},
["hitmonlee"] = {x = 615, y = 990, z = 7},
}
 
local btype = "normal"
 
function onUse(cid, item, frompos, item2, topos)
 
if getPlayerLevel(cid) > 20 then
return true
end
 
local pokemon = ""
 
for a, b in pairs (starterpokes) do
if isPosEqualPos(topos, b) then
pokemon = a
end
end
if pokemon == "" then return true end
 
if getPlayerStorageValue(cid, 759848) <= 6 then
sendMsgToPlayer(cid, 27, "Derrote o Chuck Norris primeiro!!")
return true
end --alterado v1.9 \/
 
    if getPlayerStorageValue(cid, 938111) >= 1 then
        return doPlayerSendCancel(cid, "Você já pegou um pokémon!")
    end
 
doPlayerSendTextMessage(cid, 27, "You got your first pokemon! You also received some pokeballs to help you in your way.")
doPlayerSendTextMessage(cid, 27, "Don't forget to use your pokedex on every undiscovered pokemon!")
 
addPokeToPlayer(cid, pokemon, 0, nil, btype, true)
doPlayerAddItem(cid, 11446, 10)
 
 
doSendMagicEffect(getThingPos(cid), 29)
setPlayerStorageValue(cid, 938111, 1)
doSendMagicEffect(getThingPos(cid), 27)
doSendMagicEffect(getThingPos(cid), 29)
 
 
return TRUE
end
MaxxSilvaM
09 de dezembro de 2013 às 02:53

Vá em data/action/action.xml e confira se você adicionou a tag certa :

<action itemid="1740" event="script" value="chucknorrischest.lua"/> --- vermelho é o id da chest

lembresse coloque no baú do hitmonlee e do hitmonchan um unique id que você não use.

Agora no chucknorrischest.lua

 

 

local starterpokes = {
["hitmonchan"] = {x = 613, y = 990, z = 7},
["hitmonlee"] = {x = 615, y = 990, z = 7},
}

local btype = "normal"

function onUse(cid, item, frompos, item2, topos)

if getPlayerLevel(cid) > 20 then --level que pega o premio
return true
end

local pokemon = ""

for a, b in pairs (starterpokes) do
if isPosEqualPos(topos, b) then
pokemon = a
end
end

if pokemon == "" then return true end

local gender = getRandomGenderByName(pokemon)

local happy = 180

doPlayerAddItem(cid, 2160, 5) --- pode colocar itens adicionais para ganhar junto.


local item = doCreateItemEx(2219)
doItemSetAttribute(item, "poke", pokemon)
doItemSetAttribute(item, "hp", 1)
doItemSetAttribute(item, "happy", happy)
doItemSetAttribute(item, "gender", gender)
doItemSetAttribute(item, "description", "Contains a "..pokemon..".")
doItemSetAttribute(item, "fakedesc", "Contains a "..pokemon..".")
doItemSetAttribute(item, "firstpoke", getCreatureName(cid))
doPlayerAddItemEx(cid, item, true)

doTransformItem(item, pokeballs[btype].on)

doPlayerSendTextMessage(cid, 27, "Você é um verdadeiro campeão aqui está seu prêmio!")

doSendMagicEffect(getThingPos(cid), 29)
doSendMagicEffect(getThingPos(cid), 27)
doSendMagicEffect(getThingPos(cid), 29)


return TRUE
end

 

Ps : não sei se vai funcionar pois sou iniciante e não manjo de scripts mais dou pro galho.

 

 

 

 

 

 

 

 

 

 

Ops foi malz zipter você entende mais ajuda o cara ignore meu post

Editado Dezembro 9 por MaxxSilva

lganL
09 de dezembro de 2013 às 12:15

vlw ai quem tentou ajudar... mas resolvi aki mesmo... segue ai pra geral como ficou o script caso alguem queira fazer igual...

 

 

local starterpokes = {
["hitmonchan"] = {x = 613, y = 990, z = 7},
["hitmonlee"] = {x = 615, y = 990, z = 7},
}

local btype = "normal"

function onUse(cid, item, frompos, item2, topos)

if getPlayerLevel(cid) > 20 then
return true
end

local pokemon = ""

for a, b in pairs (starterpokes) do
if isPosEqualPos(topos, b) then
pokemon = a
end
end
if pokemon == "" then return true end

if getPlayerStorageValue(cid, 759848) <= 6 then
sendMsgToPlayer(cid, 27, "Derrote o Chuck Norris primeiro!!")
return true
end


if getPlayerStorageValue(cid, 759848) >= 8 then
sendMsgToPlayer(cid, 27, "você ja pegou sua recompença!!")
return true

end --alterado v1.9 \/

doPlayerSendTextMessage(cid, 27, "Pegue seu pokemon por ter derrotado o Chuck Norris!!")


addPokeToPlayer(cid, pokemon, 0, nil, btype, false)
doPlayerAddItem(cid, 11446, 10)
setPlayerStorageValue(cid,759848,8)




return TRUE
end

 

 

duvida sanada podem fechar....

GabrieltxuG
09 de dezembro de 2013 às 15:17

Tópico movido para a seção de dúvidas e pedidos resolvidos.

4 anos depois...
StigalS
21 de abril de 2018 às 03:14
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.