Amigo a função AddPokeToPlayer funciona da seguinte forma.
function addPokeToPlayer(cid, pokemon, boost, gender, ball, unique)
entao isso seria uma adição de pokemon unique.
addPokeToPlayer(cid, pokemon, 0, nil, btype, true)
info
Grupo: Campones
Registrado: 17/06/09
Posts: 75
Reputação: +13
Gênero: Masculino

Amigo a função AddPokeToPlayer funciona da seguinte forma.
function addPokeToPlayer(cid, pokemon, boost, gender, ball, unique)
entao isso seria uma adição de pokemon unique.
addPokeToPlayer(cid, pokemon, 0, nil, btype, true)
1 minuto atrás, klipstyle disse:Amigo a função AddPokeToPlayer funciona da seguinte forma.
function addPokeToPlayer(cid, pokemon, boost, gender, ball, unique)
entao isso seria uma adição de pokemon unique.
addPokeToPlayer(cid, pokemon, 0, nil, btype, true)
entendi muito obrigado sanou minha duvida^^ teria como tirar outra? ;x é enquanto unique items
faz ideia de poke o attributo unique fica 100% em pokemon (nao da pra tacar vender nem nada) mas se vc coloca num item mesmo se ele nao for stackable, vc pode tacar no chao?
info
Grupo: Campones
Registrado: 17/06/09
Posts: 75
Reputação: +13
Gênero: Masculino

Na função que verifica se item é único não tem nada que determine isso. Acredito que deve funcionar normalmente.
function getItensUniquesInContainer(container) --alterado v1.6
if not isContainer(container) then return {} end
local items = {}
if isContainer(container) and getContainerSize(container) > 0 then
for slot=0, (getContainerSize(container)-1) do
local item = getContainerItem(container, slot)
if isContainer(item.uid) then
local itemsbag = getItensUniquesInContainer(item.uid)
for i=0, #itemsbag do
table.insert(items, itemsbag)
end
elseif getItemAttribute(item.uid, "unique") then
table.insert(items, item)
end
end
end
return items
end

entraho, bom criarei outro post pra ver se alguem ajuda la enquanto isso ^^ duvida sanada podem fechar
info
Grupo: Visconde
Registrado: 07/02/12
Posts: 427
Reputação: +112

item = doCreateItemEx(12330)
doItemSetAttribute(item, "unique", getCreatureName(cid))
doPlayerAddItemEx(cid, item)
O Item não pode ter a função stackable habilitada para funcionar.
Editado Setembro 25 por KarlKalvin
37 minutos atrás, KarlKalvin disse:item = doCreateItemEx(12330)
doItemSetAttribute(item, "unique", getCreatureName(cid))
doPlayerAddItemEx(cid, item)
O Item não pode ter a função stackable habilitada para funcionar.
o item ai é uma TV CAM @KarlKalvin, ela nao é stackable
info
Grupo: Visconde
Registrado: 07/02/12
Posts: 427
Reputação: +112

Use como falei acima então!
2 horas atrás, KarlKalvin disse:Use como falei acima então!
ela ja esta assim ;x
function BetaItem(cid)
if getPlayerStorageValue(cid, storages.betaStorage) == -1 then
setPlayerStorageValue(cid, storages.betaStorage, 1)
item = doCreateItemEx(12330)
doItemSetAttribute(item, "unique", getCreatureName(cid))
doPlayerAddItemEx(cid, item)
end
end
info
Grupo: Visconde
Registrado: 07/02/12
Posts: 427
Reputação: +112

12330 é o ID da Câmera? tira essa função do betaItem e adiciona no doAddFirstItemsToPlayer
E teste criando um novo character.
Editado Setembro 25 por KarlKalvin
49 minutos atrás, KarlKalvin disse:12330 é o ID da Câmera? tira essa função do betaItem e adiciona no doAddFirstItemsToPlayer
E teste criando um novo character.
a verdade nao sei como ta pegando isso ;x
só sei que ele esta clonando os item q estao no Pokemon Trainer Sample, no caso la tem 1 cam unique e ela é bugada...
tentei remover o do beta item e adicionar la no addfirstitemstoplayer
mas nada aconteceu acho q nao esteja pegando os items de la msm ;x
sei q tem no onlogin
doAddFirstItemsToPlayer(cid)
-- BetaItem(cid)
AutoLootinit(cid)
--doAddShoppingItem(cid)
info
Grupo: Visconde
Registrado: 20/03/14
Posts: 367
Reputação: +219
Gênero: Masculino

7 horas atrás, Josegvb disse:entraho, bom criarei outro post pra ver se alguem ajuda la enquanto isso ^^ duvida sanada podem fechar
Vá em data\creaturescripts\scripts\player\moveItem.lua
procure por..
if isPokeball(item.itemid) or isContainer(item.uid) then
troque para..
if isPokeball(item.itemid) or isContainer(item.uid) or getItensUniquesInContainer(item.itemid) then
depois no msm arquivo procure por..
elseif isContainer(toContainer.uid) and (isPokeball(item.itemid) or isContainer(item.uid)) then
troque para..
elseif isContainer(toContainer.uid) and (isPokeball(item.itemid) or isContainer(item.uid) or getItensUniquesInContainer(item.itemid)) then
Agora os itens uniques não poderá ser jogados no chão.
7 horas atrás, Drakopoulos disse:Vá em data\creaturescripts\scripts\player\moveItem.lua
procure por..
if isPokeball(item.itemid) or isContainer(item.uid) thentroque para..
if isPokeball(item.itemid) or isContainer(item.uid) or getItensUniquesInContainer(item.itemid) thendepois no msm arquivo procure por..
elseif isContainer(toContainer.uid) and (isPokeball(item.itemid) or isContainer(item.uid)) thentroque para..
elseif isContainer(toContainer.uid) and (isPokeball(item.itemid) or isContainer(item.uid) or getItensUniquesInContainer(item.itemid)) thenAgora os itens uniques não poderá ser jogados no chão.
funfa agr qse perfeito ^^ unica coisa ruim é os items stackables, msm sendo stackables na hora se vc tanta pular fora tds eles nao cai, mas se vc move eles dentro da sua bag ou separa eles ai eles perdem seu attributo unique vo ver se crio outro post aqui pra ver se algum dos membros experientes conseguem mexer nas sources pra arrumar os items stackables =x
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

@Josegvb faz favor de criar outro tópico com essa nova dúvida sua. Obrigado.
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Caro membro, seu tópico foi movido de Otserv > Suporte Otserv para Suporte Otserv > Otserv > Pedidos e Dúvidas Resolvidos.
Procure ler a descrição das seções antes de criar um tópico, pois criando um tópico na área errada, além de receber um alerta chatinho como este, você pode não obter respostas por causa da incoerência do tópico com a seção em que este foi publicado.
Se tiver dúvidas a respeito de postagens, mande uma mensagem pra mim que eu irei orientá-lo.
Atenciosamente, Xtibia.com.
info
Grupo: Marquês
Registrado: 23/09/12
Posts: 1k
Reputação: +87
Gênero: Masculino
Tenho 2 scripts aqui, ambos entregam pro o player 1 pokemon numa ball q é UNIQUE item
queria saber ql é a linha q ta fazendo eles vir unique pois quero usar em outros scripts mas nao faço ideia de como setar uniques os pokemons
local megasStones = {15131, 15134, 15135, 15133, 15136, 15780, 15781, 15783, 15784, 15788, 15789, 15790, 15791}
local megasToPlayer = {
["Alakazite"] = {id = 15131, megaID = "", pokeName = "Alakazam"},
["Charizardite X"] = {id = 15134, megaID = "X", pokeName = "Charizard"},
["Charizardite Y"] = {id = 15135, megaID = "Y", pokeName = "Charizard"},
["Blastoisinite"] = {id = 15133, megaID = "", pokeName = "Blastoise"},
["Gengarite"] = {id = 15136, megaID = "", pokeName = "Gengar"},
["Pidgeotile"] = {id = 15791, megaID = "", pokeName = "Pidgeot"},
["Venusaurite"] = {id = 15793, megaID = "", pokeName = "Venusaur"},
["Kangaskhanite"] = {id = 15783, megaID = "", pokeName = "Kangaskhan"},
["Aerodactylite"] = {id = 15786, megaID = "", pokeName = "Aerodactyl"},
["Tyranitarite"] = {id = 15781, megaID = "", pokeName = "Tyranitar"},
["Ampharosite"] = {id = 15794, megaID = "", pokeName = "Ampharos"},
["Scizorite"] = {id = 15784, megaID = "", pokeName = "Scizor"},
["Aggronite"] = {id = 15780, megaID = "", pokeName = "Aggron"},
["Blazikenite"] = {id = 15792, megaID = "", pokeName = "Blaziken"},
["Mawlite"] = {id = 15782, megaID = "", pokeName = "Mawlite"},
["Gardevoirite"] = {id = 15785, megaID = "", pokeName = "Gardevoir"},
["Absolite"] = {id = 15787, megaID = "", pokeName = "Absol"},
["Lucarionite"] = {id = 15788, megaID = "", pokeName = "Lucario"},
["Sceptilite"] = {id = 15789, megaID = "", pokeName = "Sceptile"},
["Swampertile"] = {id = 15790, megaID = "", pokeName = "Swampert"},
}
function onSay(cid, words, param, channel)
local mega = megasStones[math.random(1, #megasStones)]
for a, b in pairs(megasToPlayer) do
if mega == b.id then
addPokeToPlayer(cid, b.pokeName, 0, nil, "yume", true, a)
break
end
end
return true
end
function getSlot(strings, slot)
local slot1, slot2, slot3 = strings:explode("|")[1], strings:explode("|")[2], strings:explode("|")[3]
local ret, flag = "", false
for a, b in pairs(fotos) do
if getPortraitClientID(a) == tonumber(slot1) and slot == 1 then
ret = doCorrectString(a)
flag = true
elseif getPortraitClientID(a) == tonumber(slot2) and slot == 2 then
ret = doCorrectString(a)
flag = true
elseif getPortraitClientID(a) == tonumber(slot3) and slot == 3 then
ret = doCorrectString(a)
flag = true
end
if flag then
break
end
end
return ret
end
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)
--\\
local need = {
--item id....quantidade
{id = 11445, qt = 100},
{id = 11445, qt = 100},
{id = 12581, qt = 1},
}
local storage = 1234 -- nem mexe
local pokemon = "Shiny Onix" -- nome do poke q vai ganha..lembrando que n tenho 100% q vai funfa ;x
--//
if msgcontains(string.lower(msg), 'city') or msgcontains(string.lower(msg), 'help') then
if getPlayerStorageValue(cid, storage) == 1 then
selfSay("você já completou minha quest!", cid)
return true
end
--//
selfSay("Hey! Would you like to revive your Onix? if so I would need an {Crystal Tail and 200 Crystal Stone Stones }!", cid)
talkState[talkUser] = 2
return true
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
if getPlayerItemCount(cid, need[1].id) < need[1].qt or getPlayerItemCount(cid, need[2].id) < need[2].qt or getPlayerItemCount(cid, need[3].id) < need [3].qt then
selfSay("você não tem todos itens necessaríos que eu pedi, volte aqui quando tive-los todos!", cid)
return true
end
for i = 1, #need do
doPlayerRemoveItem(cid, need.id, need.qt)
end
addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true)
selfSay("nossa muito bom, obrigado e faça um bom proveito do seu novo pokémon!", cid)
setPlayerStorageValue(cid, storage, 1)
talkState[talkUser] = 0
return true
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())