Ir para conteúdo
Entre para seguir isso  
GDLib

Sex System

Recommended Posts

GDLib    2
GDLib

Esse script foi criado para o concurso da OTNet, os erros encontrados foram corrigidos.

Quero lembrar que como eu não testo nada que faço, eu não tinha prestado atenção nos erros, mas dei uma revisão rápida, e creio que não deve ter mais bugs.

 

A explicação está no comentário o script.

 

SexSystem.lua

 

--[[
Secure Sex 1.0 (talkaction)

Caso o player possua um item de id 6527, ao qual considerei como camisinha, no slot de munição, e dizer 'craw', o mesmo terá um sexo seguro.
Caso contrário, ele poderá correr o risco de adquirir AIDS e ir morrendo aos poucos, ou mesmo ter um filho, e perder todo dinheiro para sustentá-lo.

Para fazer sexo, basta chegar em frente a um jogador e dizer 'craw'

Observação: código estruturado segundo os padrões oficiais do LUA, segundo o site lua.org
]]--

--[[
Declaração de variáveis e constantes

As variáveis 'damage e 'times', determinam o dano e a quantidade de vezes que o mesmo ocorrerá.

]]--
local ITEM_CONDON = 6527
local ITEM_GOLD = 2148
local ITEM_PLATINUM = 2152
local ITEM_CRYSTAL = 2160
local ITEM_CHILD = 6579
local damage = 50
local times = 50

--[[
Combate

Usado para caso o jogador pegue AIDS, o mesmo, perder vida
]]--
local combat = createCombatObject()
local condition = createConditionObject(CONDITION_DROWN)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, times, 100, -damage)
setCombatCondition(combat, condition)

function onSay(cid, words, param)
   --A variável 'noCondon' estipula um interger que pode ser de 1 a 4, conforme a execução do script.
   local noCondon = math.random(1,4)
   local playerPos = geCreaturePosition(cid)
   -- Pegando-se o alvo, caso o mesmo exista
   if (getPlayerLookDir(cid) == 1) then 
       target = {x = playerPos.x + 1, y = playerPos.y, z = playerPos.z, stackpos = 253}
   elseif (getPlayerLookDir(cid) == 2) then
       target = {x = playerPos.x, y = playerPos.y + 1, z = playerPos.z, stackpos = 253}
   elseif (getPlayerLookDir(cid) == 3) then
       target = {x = playerPos.x - 1, y = playerPos.y, z = playerPos.z, stackpos = 253}
   else
       target = {x = playerPos.x, y = playerPos.y - 1, z = playerPos.z, stackpos = 253}
   end
   target = getThingfromPos(target)
   -- Checando se o alvo anteriormente pego é um jogador
   if (isPlayer(target.uid) == TRUE) then
       -- Checando se o alvo está de costas, ou seja, da mesma direção que o jogador que executa tal ação
       if (getPlayerLookDir(target.uid) == getPlayerLookDir(cid)) then
           -- Checando se existe alguma camisinha
           if (getPlayerItemCount(cid, ITEM_CONDON) > 0) then
               -- Exibindo efeitos e removendo camisinha
               doSendAnimatedText(playerPos, 'Craw!!!', TEXTCOLOR_GOLD)
               doSendAnimatedText(getThingPos(target.uid), 'Oh God!!', TEXTCOLOR_CRYSTAL)
               doPlayerRemoveItem(cid, ITEM_CONDON, 1)
           else
               -- Utilizando a variável 'noCondon' estipulando que se o valor for menor que 3, o jogador pegará AIDS e então a execução do 'combat' começará
               if (noCondon < 3) then
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, 'You got AIDS!')
                   doCombat(0,combat,numberToVariant(cid))
               else
                   -- Pegando os valores restantes (3,4 e 5) e estipulando que caso a variável 'noCondon' retorne tais valores, o jogador então terá um filho, e perderá todo seu dinheiro.
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, 'You got a child!')
                   local child = doCreateItem(ITEM_CHILD, 1, target)
                   doSetItemSpecialDescription(child,'It is a son of '..getCreatureName(cid)..' and '..getCreatureName(target.uid)..'.')
                   local gps = getPlayerItemCount(cid, ITEM_GOLD)
                   local pcs = getPlayerItemCount(cid, ITEM_PLATINUM)
                   local ccs = getPlayerItemCount(cid, ITEM_CRYSTAL)
                   if (gps > 0 or pcs > 0 or ccs > 0) then
                       doPlayerRemoveItem(cid, ITEM_GOLD, gps)
                       doPlayerRemoveItem(cid, ITEM_PLATINUM, pcs)
                       doPlayerRemoveItem(cid, ITEM_CRYSTAL, ccs)
                   else
                       return TRUE
                   end
               end
           end
       else
           return TRUE
       end
   else
       return TRUE
   end
   -- não retornando a fala do jogador, já que a mesma é falada nos efeitos e isso poderia gerar uma certa 'poluição visual'.
   return FALSE
end     

 

Talkactions.xml

 

<talkaction words="craw" script="SexSystem.lua" />

Compartilhar este post


Link para o post
LaB OrA    0
LaB OrA

Obrigado pelo script.

 

Movido...

Compartilhar este post


Link para o post
tibianoforever    0
tibianoforever

uAuaAuAUA Que rox,To zuando muito no ot,poderia dar uma descrição no bêbê tipo "filho de x com x" UAuauua :D Flws Mlk!

Compartilhar este post


Link para o post
NaZgooL123456    0
NaZgooL123456

Hehe...

Bouaa Vlw...

estarei "especionando" o seu script para ver se ainda existem erros...

Se encontrar algum Entro em contato!!

mas vlw...mt bom

Compartilhar este post


Link para o post
caiOHawk    0
caiOHawk

bem legal eEAeaUuaHEiAuhaEe

 

Critividade 10!

 

Parabéns garoto ^^

Compartilhar este post


Link para o post
Mionzinho    0
Mionzinho

Meldels, nunca prestie atenção que parecia uma camisinha

Afff que loco hauHAUha

Muito zoado, parabens pra você, sempre evoluindo.

 

Abraço

Compartilhar este post


Link para o post
pcnaddeo    0
pcnaddeo

ei achei muito bom e tudo mais achei um erro...corrige ai tem uma parte escrito ao inves de getcreatureposition ta "gecreatureposition" da ctrl+f e procura q vc axa mas vlws assim mesmo :D

Compartilhar este post


Link para o post
Arthur Anderaos    0
Arthur Anderaos

So me resta a dúvida,

a criança so nasce se os sexos dos players forem opostos certo?

Compartilhar este post


Link para o post
Bytrexx    9
Bytrexx

Boa féra, gostei do script.

Ótimo!

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

Achei um bug, linha 40

geCreaturePosition(cid)

 

Não seria

getCreaturePosition(cid)

???

Flws, otimo code to testando aki XD

 

Outro bug:

O item chiild não é criado.

local child = doCreateItem(ITEM_CHILD, 1, target)

 

Correção:

local child = doCreateItem(ITEM_CHILD, 1, getThingPos(target.uid))

Outra coisa, homem pode ter filho com homem =P

Compartilhar este post


Link para o post
Nord    2
Nord

Tem um erro aqui, o cara não goza!!!

Compartilhar este post


Link para o post
sorrisotdr    0
sorrisotdr

falta doq fazer ... mas blzaaaa

Compartilhar este post


Link para o post
plomentes    0
plomentes

para mim isso nao tem utilidade mais axo q varias pessoas procuravao isso intao tah de parabenss

Compartilhar este post


Link para o post
sukatero    0
sukatero

AUHSIuahs muito irado isso

Compartilhar este post


Link para o post
Digo Kakashi    0
Digo Kakashi

muito bom cara, todas as casas la do ot tem um filho de alguem com alguem xD

eu traduzi pra ficar mais facil para os players.

 

parabens, action muito interessante, continue assim xD

(Y)

Compartilhar este post


Link para o post
picanha    0
picanha

Pa mim fica dizendo:

attemp to call global 'DoSetItemSpecialDescription' (a nil value)

 

Alguem sabe como concerto isso?

Plz help, adorei esse sistema... Mtu ROX

Ta de Parabens ^^

 

Flws

Compartilhar este post


Link para o post
LorD Sybian    0
LorD Sybian

Q zuera...

Mas ta muito bom o script

Compartilhar este post


Link para o post
Sir fanton    0
Sir fanton

Bem loko o script cara tah de parabens

Compartilhar este post


Link para o post
viniciusfeijo    0
viniciusfeijo

Aew, mt foda velho classea d++++.. pra quem quiser q o carinha goze coloca assim no codigo..

 

doSendAnimatedText(playerPos, 'Craw!!!', TEXTCOLOR_RED)

adicione na linha de baixo

 

 doCreateItem([color=Red]2019[/color],[color=Blue]6[/color],getThingPos(target.uid)) 

ficando assim

 

       doSendAnimatedText(playerPos, 'Craw!!!', TEXTCOLOR_RED)
               doCreateItem([color=Red]2019[/color],[color=Blue]6[/color],getThingPos(target.uid))

O item 2019,6 é o id do leite.. o 6 vc nao deve trocar de jeito nenhum senao nao vai parecer com goza mas se vc achar q o carinha goza pouco vc pode trocar o item 2019,6 para 2025,6

Compartilhar este post


Link para o post
erD    0
erD

Tinha no meu um npc q parecia q funcionava.. !! mas nao :( !

 

Mas eu li esse..modifiquei e deu certo cara.. !

 

BRIGADO MESMO !!

 

ABRAÇAO APROVADO :D

Compartilhar este post


Link para o post
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×