GDLib 2 #1 Postado 3 Novembro, 2007 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 #2 Postado 4 Novembro, 2007 Obrigado pelo script. Movido... Compartilhar este post Link para o post
tibianoforever 0 #3 Postado 4 Novembro, 2007 uAuaAuAUA Que rox,To zuando muito no ot,poderia dar uma descrição no bêbê tipo "filho de x com x" UAuauua Flws Mlk! Compartilhar este post Link para o post
NaZgooL123456 0 #4 Postado 4 Novembro, 2007 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 #5 Postado 4 Novembro, 2007 bem legal eEAeaUuaHEiAuhaEe Critividade 10! Parabéns garoto ^^ Compartilhar este post Link para o post
Mionzinho 0 #6 Postado 5 Novembro, 2007 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 #7 Postado 5 Novembro, 2007 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 Compartilhar este post Link para o post
Arthur Anderaos 0 #8 Postado 5 Novembro, 2007 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 #9 Postado 5 Novembro, 2007 Boa féra, gostei do script. Ótimo! Compartilhar este post Link para o post
Raphael Carnaúba 1 #10 Postado 5 Novembro, 2007 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 #11 Postado 6 Novembro, 2007 Tem um erro aqui, o cara não goza!!! Compartilhar este post Link para o post
sorrisotdr 0 #12 Postado 7 Novembro, 2007 falta doq fazer ... mas blzaaaa Compartilhar este post Link para o post
plomentes 0 #13 Postado 7 Novembro, 2007 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 #14 Postado 7 Novembro, 2007 AUHSIuahs muito irado isso Compartilhar este post Link para o post
Digo Kakashi 0 #15 Postado 15 Novembro, 2007 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 #16 Postado 27 Novembro, 2007 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 #17 Postado 30 Novembro, 2007 Q zuera... Mas ta muito bom o script Compartilhar este post Link para o post
Sir fanton 0 #18 Postado 30 Novembro, 2007 Bem loko o script cara tah de parabens Compartilhar este post Link para o post
viniciusfeijo 0 #19 Postado 3 Dezembro, 2007 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 #20 Postado 16 Dezembro, 2007 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 Compartilhar este post Link para o post