Ir para conteúdo
  • 0

[AJUDA] Separar script


wougoplex

Pergunta

Tipo vc da use no item e ganhaa outfit que queria separar pra tipo

um script so male pode usar e o outro so famele 

 

Esse é o script que eu tenho 

 

Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)

if getPlayerStorageValue(cid, 181656) == 1 then
return doPlayerSendCancel(cid, 22, "Você já possue essa outfit.")
else
setPlayerStorageValue(cid, 181656, 1)
doRemoveItem(item.uid, 1)
doPlayerSendTextMessage(cid, 22, "Parabéns você ganhou a outfit Sr.Madruga.")
end
end

 

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
34 minutos atrás, wougoplex disse:

 

 

 

Testa ai, não sei se vai funcionar:

 

local sex = getPlayerSex(cid)function onUse(cid, item, fromPosition, itemEx, toPosition)if sex == 0 thenreturn doPlayerSendCancel(cid, 22, "Só homens podem pegar essa outfit.")return falseendif getPlayerStorageValue(cid, 181656) == 1 thenreturn doPlayerSendCancel(cid, 22, "Você já possue essa outfit.")elsesetPlayerStorageValue(cid, 181656, 1)doRemoveItem(item.uid, 1)doPlayerSendTextMessage(cid, 22, "Parabéns você ganhou a outfit Sr.Madruga.")endend

 

Link para o comentário
Compartilhar em outros sites

  • 0
17 minutos atrás, gabriel28 disse:

 

Testa ai, não sei se vai funcionar:

 

local sex = getPlayerSex(cid)function onUse(cid, item, fromPosition, itemEx, toPosition)if sex == 0 thenreturn doPlayerSendCancel(cid, 22, "Só homens podem pegar essa outfit.")return falseendif getPlayerStorageValue(cid, 181656) == 1 thenreturn doPlayerSendCancel(cid, 22, "Você já possue essa outfit.")elsesetPlayerStorageValue(cid, 181656, 1)doRemoveItem(item.uid, 1)doPlayerSendTextMessage(cid, 22, "Parabéns você ganhou a outfit Sr.Madruga.")endend

 

Nao foi

 

Link para o comentário
Compartilhar em outros sites

  • 0
function onUse(cid, item, fromPosition, itemEx, toPosition)if getPlayerSex(cid) == 0 then   if getPlayerStorageValue(cid, 181656) == 1 then      doPlayerSendCancel(cid, 22, "Você já possue essa outfit.")   else       setPlayerStorageValue(cid, 181656, 1)       doRemoveItem(item.uid, 1)       doPlayerSendTextMessage(cid, 22, "Parabéns você ganhou a outfit Sr.Madruga.")   endelse    doPlayerSendCancel(cid, 22, "Apenas male")endreturn trueend

 

Link para o comentário
Compartilhar em outros sites

  • 0

^ Apenas alguns erros básicos. 

cid é um argumento dentro do callback. Logo, fora dele seu valor é nulo.

O correto seria declarar a variável sex abaixo de function onUse(...).

 

Nesta parte:

if sex == 0 then	return doPlayerSendCancel(cid, 22, "Só homens podem pegar essa outfit.")	return falseend

Você colocou dois valores de retorno, o que gera erros. O adequado seria:

if sex == 0 then    return doPlayerSendCancel(cid, 22, "Só homens podem pegar essa outfit.")end

Finalmente, recomendaria retornar verdadeiro ao final deste código, ou, ao menos, abaixo de doPlayerSendTextMessage.

 

Caso não se importe, escrevi duas versões do código.

Na primeira, um mesmo item garante outfits diferentes considerando-se o sexo.

Spoiler
local outfits = {    --[sex] = {key = storage, outfit_name = "nome_da_outfit"},    [1] = {key = 181656, outfit_name = "Sr. Madruga"},    --etc}function onUse(cid, item)    local outfit = outfits[getPlayerSex(cid)]        if getPlayerStorageValue(cid, outfit.key) > -1 then        doPlayerSendCancel(cid, "Você já possui essa outfit.")        return true    end        doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou a outfit "..outfit.outfit_name..".")    setPlayerStorageValue(cid, outfit.key, 1)    doRemoveItem(item.uid, 1)    return trueend

 

 

Já na segunda versão, cada item concede uma outfit diferente, com a limitação do sexo.

Spoiler
local outfits = {    --[itemid] = {sex = xxx, key = storage, outfit_name = "nome_da_outfit"},    [xxx] = {sex = 1, key = 181656, outfit_name = "Sr. Madruga"},    --etc}function onUse(cid, item)    local outfit = outfits[item.itemid]    if not outfit then return true end         if getPlayerSex(cid) ~= outfit.sex then        doPlayerSendCancel(cid, "Este item garante uma outfit ao sexo oposto.")        return true    elseif getPlayerStorageValue(cid, outfit.key) > -1 then        doPlayerSendCancel(cid, "Você já possui essa outfit.")        return true    end        doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou a outfit "..outfit.outfit_name..".")    setPlayerStorageValue(cid, outfit.key, 1)    doRemoveItem(item.uid, 1)    return trueend

 

 

Naturalmente, nesse caso, você configuraria os itens na mesma tag, separando-os por ponto e vírgula (;).

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

  • 0
Em 08/12/2016 at 22:00, zipter98 disse:

^ Apenas alguns erros básicos. 

cid é um argumento dentro do callback. Logo, fora dele seu valor é nulo.

O correto seria declarar a variável sex abaixo de function onUse(...).

 

Nesta parte:

if sex == 0 then	return doPlayerSendCancel(cid, 22, "Só homens podem pegar essa outfit.")	return falseend

Você colocou dois valores de retorno, o que gera erros. O adequado seria:

if sex == 0 then    return doPlayerSendCancel(cid, 22, "Só homens podem pegar essa outfit.")end

Finalmente, recomendaria retornar verdadeiro ao final deste código, ou, ao menos, abaixo de doPlayerSendTextMessage.

 

Caso não se importe, escrevi duas versões do código.

Na primeira, um mesmo item garante outfits diferentes considerando-se o sexo.

  Mostrar conteúdo oculto
local outfits = {    --[sex] = {key = storage, outfit_name = "nome_da_outfit"},    [1] = {key = 181656, outfit_name = "Sr. Madruga"},    --etc}function onUse(cid, item)    local outfit = outfits[getPlayerSex(cid)]        if getPlayerStorageValue(cid, outfit.key) > -1 then        doPlayerSendCancel(cid, "Você já possui essa outfit.")        return true    end        doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou a outfit "..outfit.outfit_name..".")    setPlayerStorageValue(cid, outfit.key, 1)    doRemoveItem(item.uid, 1)    return trueend

 

 

Já na segunda versão, cada item concede uma outfit diferente, com a limitação do sexo.

  Mostrar conteúdo oculto
local outfits = {    --[itemid] = {sex = xxx, key = storage, outfit_name = "nome_da_outfit"},    [xxx] = {sex = 1, key = 181656, outfit_name = "Sr. Madruga"},    --etc}function onUse(cid, item)    local outfit = outfits[item.itemid]    if not outfit then return true end         if getPlayerSex(cid) ~= outfit.sex then        doPlayerSendCancel(cid, "Este item garante uma outfit ao sexo oposto.")        return true    elseif getPlayerStorageValue(cid, outfit.key) > -1 then        doPlayerSendCancel(cid, "Você já possui essa outfit.")        return true    end        doPlayerSendTextMessage(cid, 22, "Parabéns, você ganhou a outfit "..outfit.outfit_name..".")    setPlayerStorageValue(cid, outfit.key, 1)    doRemoveItem(item.uid, 1)    return trueend

 

 

Naturalmente, nesse caso, você configuraria os itens na mesma tag, separando-os por ponto e vírgula (;).

Qual das duas da de pro so pra male usar ou female ?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...