BA

[Ajuda]Troca De Gênero

Por Baiakuda, 23 de set. de 2010 em Scripts

tibia
script
otserv
9
4k
BaiakudaB
23 de setembro de 2010 às 14:07

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

joaohdJ
23 de setembro de 2010 às 14:28

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

BaiakudaB
23 de setembro de 2010 às 17:08

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

VodkartV
24 de setembro de 2010 às 11:16

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

BaiakudaB
25 de setembro de 2010 às 12:56

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?

VodkartV
25 de setembro de 2010 às 13:28

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

BaiakudaB
26 de setembro de 2010 às 11:06

Vodkart vlw cara, voce é muito bom mesmo!

obrigado ae, se algum moderador quiser pode fechar o topico.

 

 

VLW XTIBIA!

28 de setembro de 2010 às 09:33

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.

1 ano depois...
ofrogO
19 de outubro de 2011 às 01:05

vlw vodkart, REP+ :XTibia_smile: