Ir para conteúdo
  • Cadastre-se

(Resolvido)[Pedido] Skin System


Ir para solução Resolvido por Gengo,

Posts Recomendados

Base: 8.54 / 0.3.6

 

Vim aqui pedir um sistema de Skin que seria basicamente assim:

 

Eu tenho o item "Skin Goku" e ao usar , o item some e me "Seta" uma Storage

 

Digo "!skin" para ver quais Skins eu possuo no caso usei só a do Goku então irá aparecer : Goku - Sim  // caso eu não tenha a Storage ficará assim : Goku - Nao

 

Ao dizer "!skin Goku" e possuindo a Storage da Skin eu mudo a minha outfit.

 

1º OBS : O item eu já tenho , preciso apenas do System

2º OBS : Se possível , fazer os nomes das skins aparecerem em um quadradinho igual o do /commands

 

Ex:

Goku - Sim

Naruto - Nao

Madara - Nao

 

Agradeço desde já de coração <3

Link para o post
Compartilhar em outros sites
  • Solução

Eai mano blz, vê se este script lhe atende suas necessidades ou pelo menos te de o caminho das pedras.

 

Na pasta do seu servidor data/talkactions/script crie um arquivo com um nome skin.lua e coloque o seguinte codigo:

Spoiler

local config = {
	["goku"]	= { itemId = 2155, storage = 6970, outfitId = 134},
	["naruto"]	= { itemId = 2158, storage = 6971, outfitId = 152},
	["madara"]	= { itemId = 2156, storage = 6972, outfitId = 151}
}

function onSay(cid, words, param)
	
	if param == '' then
		local texto = ''
		for i,k in pairs(config) do
			if ( getPlayerStorageValue(cid, config[i].storage) ~= -1 ) then 
			texto = texto..i..' - Sim\n'
			else
				texto = texto..i..' - Nao\n'
			end	
		end
		doPlayerPopupFYI(cid, texto)
		return true
	end

	
	if config[param]  then
		if ( getPlayerItemCount(cid, config[param].itemId) > 0 ) then
		doCreatureChangeOutfit(cid, {lookType = config[param].outfitId})
		setPlayerStorageValue(cid, config[param].storage, 0)
		doPlayerRemoveItem(cid, config[param].itemId, 1)
		else
			doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, 'MENSAGEM')
		end
	end
	
	return false
end

 

 

Agora só registrar no talkactions.xml no arquivo  data/talkactions/talkactions.xml coloque a seguinte tag:

Spoiler

<talkaction words="!skin" separator=" " script="skin.lua" />

 

Espero que lhe ajude.

 

OBS: Altere o itemId e outfitId de acordo com o seu servidor.

 

Editado por Luis360 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Luis360 Então mano , o sistema está pegando tudo certinho sem erro algum porém

eu gostaria que ele não retirasse o item do player ( quando der USE no item ele já some sozinho e seta a storage ).

 

Queria que apenas verificasse se o player tem a storage que foi setado pelo item nele e se tiver setado ai sim ele pode falar o comando e ganhar a roupa

17 minutos atrás, zLockey9 disse:

@Luis360 Então mano , o sistema está pegando tudo certinho sem erro algum porém

eu gostaria que ele não retirasse o item do player ( quando der USE no item ele já some sozinho e seta a storage ).

 

Queria que apenas verificasse se o player tem a storage que foi setado pelo item nele e se tiver setado ai sim ele pode falar o comando e ganhar a roupa

@Luis360 Já arrumei mano , parece que você me deu realmente o caminho das pedras e eu limpei o caminho, MUITO OBRIGADO <3

( não usou o ItemId do script mas deu preguiça de tirar )

 

Ficou assim o script :

Spoiler

local config = {
    ["skin1"]    = { itemId = 12119, storage = 5839, outfitId = 1231},
    ["skin2"]    = { itemId = 12133, storage = 5844, outfitId = 1199},
    ["skin3"]    = { itemId = 12047, storage = 5843, outfitId = 1192},
    ["skin4"]    = { itemId = 12044, storage = 5841, outfitId = 1194},
    ["skin5"]    = { itemId = 12045, storage = 5840, outfitId = 1193},
    ["skin6"]    = { itemId = 12046, storage = 5842, outfitId = 913},
    ["skin7"]    = { itemId = 12043, storage = 5844, outfitId = 1195},
    ["skin8"]    = { itemId = 12134, storage = 5845, outfitId = 1190}
}

function onSay(cid, words, param)
    
    if param == '' then
        local texto = ''
        for i,k in pairs(config) do
            if ( getPlayerStorageValue(cid, config.storage) ~= -1 ) then
            texto = texto..i..' - Sim\n'
            else
                texto = texto..i..' - Nao\n'
            end    
        end
        doPlayerPopupFYI(cid, texto)
        return true
    end

    
    if config[param]  then
        if ( getPlayerStorageValue(cid, config[param].storage) ~= -1 ) then
        doCreatureChangeOutfit(cid, {lookType = config[param].outfitId})
        setPlayerStorageValue(cid, config[param].storage, 0)
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Voce nao possui essa Skin.')
        end
    end
    
    return false
end

 

Link para o post
Compartilhar em outros sites
11 horas atrás, zLockey9 disse:

@Luis360 Então mano , o sistema está pegando tudo certinho sem erro algum porém

eu gostaria que ele não retirasse o item do player ( quando der USE no item ele já some sozinho e seta a storage ).

 

Queria que apenas verificasse se o player tem a storage que foi setado pelo item nele e se tiver setado ai sim ele pode falar o comando e ganhar a roupa

@Luis360 Já arrumei mano , parece que você me deu realmente o caminho das pedras e eu limpei o caminho, MUITO OBRIGADO <3

( não usou o ItemId do script mas deu preguiça de tirar )

 

Ficou assim o script :

  Mostrar conteúdo oculto

local config = {
    ["skin1"]    = { itemId = 12119, storage = 5839, outfitId = 1231},
    ["skin2"]    = { itemId = 12133, storage = 5844, outfitId = 1199},
    ["skin3"]    = { itemId = 12047, storage = 5843, outfitId = 1192},
    ["skin4"]    = { itemId = 12044, storage = 5841, outfitId = 1194},
    ["skin5"]    = { itemId = 12045, storage = 5840, outfitId = 1193},
    ["skin6"]    = { itemId = 12046, storage = 5842, outfitId = 913},
    ["skin7"]    = { itemId = 12043, storage = 5844, outfitId = 1195},
    ["skin8"]    = { itemId = 12134, storage = 5845, outfitId = 1190}
}

function onSay(cid, words, param)
    
    if param == '' then
        local texto = ''
        for i,k in pairs(config) do
            if ( getPlayerStorageValue(cid, config.storage) ~= -1 ) then
            texto = texto..i..' - Sim\n'
            else
                texto = texto..i..' - Nao\n'
            end    
        end
        doPlayerPopupFYI(cid, texto)
        return true
    end

    
    if config[param]  then
        if ( getPlayerStorageValue(cid, config[param].storage) ~= -1 ) then
        doCreatureChangeOutfit(cid, {lookType = config[param].outfitId})
        setPlayerStorageValue(cid, config[param].storage, 0)
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Voce nao possui essa Skin.')
        end
    end
    
    return false
end

 

Opa  tinha até colocado para sumir o item porque você mesmo especificou : 

 Eu tenho o item "Skin Goku" e ao usar , o item some e me "Seta" uma Storage

Mas é isso ai, ainda bem que você conseguiu alterar conforme suas necessidades.

Link para o post
Compartilhar em outros sites
  • 5 months later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo