Não sei como é seu sistema vip, mas use a função abaixo para fazer sua talkaction:
function doChangeSex(cid) return getPlayerSex(cid) == 1 and doPlayerSetSex(cid, 0) and true or getPlayerSex(cid) == 0 and doPlayerSetSex(cid, 1) and true end
flw
info
Grupo: Visconde
Registrado: 03/02/09
Posts: 361
Reputação: +200
Char no Tibia: Fearless Man

Não sei como é seu sistema vip, mas use a função abaixo para fazer sua talkaction:
function doChangeSex(cid) return getPlayerSex(cid) == 1 and doPlayerSetSex(cid, 0) and true or getPlayerSex(cid) == 0 and doPlayerSetSex(cid, 1) and true end
flw
Meu sistema vip esta abaixo!!!, agora me diz esse script é so fazer a talkaction que só os vips vao poder usar ou tenho que colar isso dentro do meu codigo ?
MEU VIP SYSTEM, COMANDOS DO GOD.
function onSay(cid, words, param, channel)
local t = param:explode(",")
local name, days = t[1], tonumber(t[2])
if words == "/installvip" then
if installVip() then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vip System instalado com sucesso!")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não foi possível instalar o Vip System!")
end
elseif words == "/addvip" then
if name then
if days then
local acc = getAccountIdByName(name)
if acc ~= 0 then
addVipDaysByAccount(acc, days)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip ao "..name..", agora ele possui "..getVipDaysByAccount(acc).." dia(s) de vip.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar essa quantidade de dia(s) de vip.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar dia(s) de vip a este player.")
end
elseif words == "/removevip" then
if name then
if days then
local acc = getAccountIdByName(name)
if acc ~= 0 then
doRemoveVipDaysByAccount(acc, days)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você retirou "..days.." dia(s) de vip do "..name..", agora ele possui "..getVipDaysByAccount(acc).." dia(s) de vip.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode retirar essa quantidade de dia(s) de vip.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode retirar dia(s) de vip a este player.")
end
elseif words == "/checkvip" then
if name then
local acc = getAccountIdByName(name)
if acc ~= 0 then
local duration = getVipDateByAccount(acc)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O "..name.." possui "..getVipDaysByAccount(acc).." dias de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode visualizar os dias de vip a este player.")
end
end
return TRUE
end
SISTEMA VIP DOS PLAYERS( vip por item )
local config = {
vip = "yes",
storage = 13540
}
function onSay(cid, words, param, channel)
if words == "/buyvip" then
local days = 10
local storageplayer = getPlayerStorageValue(cid, 13540)
if doPlayerRemoveItem(cid, 9693, 1) then
addVipDays(cid, days)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip, agora você possui "..getVipDays(cid).." dia(s) de vip.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem vip doll para ativar sua vip.")
end
elseif words == "/vipdays" then
local duration = getVipDate(cid)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))
end
return TRUE
end
Editado Setembro 23 por Baiakuda
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

ta ai:
function onSay(cid, words, param, channel) if isVip(cid) == FALSE then doPlayerSendCancel(cid, "Desculpe, Somente jogadores Vips,usam este comando.") else return doPlayerSetSex(cid, getPlayerSex(cid) == 0 and 1 or 0) end return TRUE end
Vodkart isso é uma talkactions certo? eu peguei esse seu script salvei em sex.lua e fiz isso
<talkaction words="!changesex" event="script" value="sex.lua"/>
só que nao deu certo, fiz algo de errado?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

usa esse:
--[[ By Vodkart ]]--
function onSay(cid, words, param, channel)
local s = {
[1] = {new_sex = 0,price = 100000,cobrar = true, msg = "Você acabou de mudar de sexo para female,favor relogar"},
[0] = {new_sex = 1,price = 100000,cobrar = true, msg = "Você acabou de mudar de sexo para male,favor relogar"}
}
local e = s[getPlayerSex(cid)]
if(not e) then
return false
end
if isVip(cid) == FALSE then
doPlayerSendCancel(cid, "Desculpe, Somente jogadores Vips,usam este comando.")
return TRUE
end
if e.cobrar == true and doPlayerRemoveMoney(cid, e.price) == FALSE then
doPlayerSendCancel(cid,"Você não tem " .. e.price .. " gps para trocar de sexo.")
doSendMagicEffect(getPlayerPosition(cid), 2)
return TRUE
end
doPlayerSetSex(cid, e.new_sex)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, e.msg)
return TRUE
end
Editado Setembro 25 por Vodkart
Vodkart vlw cara, voce é muito bom mesmo!
obrigado ae, se algum moderador quiser pode fechar o topico.
VLW XTIBIA!
info
Grupo: Conde
Registrado: 31/10/08
Posts: 871
Reputação: +199
Char no Tibia: Luis Felipe Knight

Tópico movido para a subseção referente a esta área.
Caso o usuário necessite de ajuda avançada, deverá utilizar o mesmo tópico.
Abraços.
info
Grupo: Campones
Registrado: 14/08/10
Posts: 45
Reputação: +3
Tipo do script:Talkactions ou WEB
Protocolo (versão do Tibia):8.54 a 8.57
Servidor utilizado:Styller Yurots
Nível de experiência:medio (acho)
Adicionais/Informações:BOM antes que alguem fale "AREA ERRADA, SERA REPORTADO" é assim, eu queria um script que no qual somente os players vips iriam mudar de genero e cada vez que eles mudasem de genero perderia 1 dia de vip, eu tirei o comando !changender para que nao haja erro, assim pode ser uma talkaction ou ate mesmo algo que eu coloca-se no meu SHOP para mudar o genero do player que compra-se.
Abradeçido!
Editado Agosto 27 por Daniel