-
Total de itens
9 -
Registro em
-
Última visita
Histórico de Reputação
-
gustavoxl deu reputação a Rafix em Criando E Administrando Sua Cadeia 100%
Bom, eu prometi num tutorial postar um tutorial de como fazer um npc policial, mas é mas facil assim...
Começando...
1-Primeiro abra seu Map Editor junto com seu mapa e coloque a cadeia no lugar que voce desejar, tente fazer mais ou menos assim:
Link: http://img518.imageshack.us/img518/5489/tutocadeia1ei.jpg
Bom Depois de ter construido tudo, Tem que escolher o sistema que voce quer:
-Sistema Policial 10k(preço reajustável): Seria um sistema aonde se voce paga 10k ao policial voce sai da cadeia...
-Sistema de alerta by colex:(Link Aqui!) Que voce pode fazer que cada vez que a pessoa vai pra cadeia = 10% Alerta dai quando chegar ao 100% ja está no script que é banido, tem tudo explicado la.
-Normal System: Deixar a pessoa por 1 dia na cadeia(24horas[Tempo Reajustável])
Depois de escolher seu sistema, está na hora de criar os npcs Delegado, Policial, e se quiser o Advogado que voce paga 20k mais sai o alerta...
Seguem ai os npcs:
Policial:
Abra a pasta de Seu OTServ e Va em data\npc, copie um npc e cole, renomeie para Policial
Delete tudo e preencha com as seguintes informações:
<?xml version="1.0"?><npc name="Policial" script="data/npc/scripts/policial.lua" access="3"> <look type="131" head="114" body="88" legs="107" feet="114"/></npc>
Nota: Look Type é opcional
Agora va em scripts e copie a seguinte script:
-boat
Cole e renomeie para: policial
abra e delete tudo o que está lá dentro
e cole isso:
focus = 0talk_start = 0target = 0following = falseattacking = falsefunction onThingMove(creature, thing, oldpos, oldstackpos)endfunction onCreatureAppear(creature)endfunction onCreatureDisappear(cid, pos) if focus == cid then selfSay('Bem feito por estar preso seu mal educado.') focus = 0 talk_start = 0 endendfunction onCreatureTurn(creature)endfunction msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))endfunction onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hello') and (focus == 0)) and getDistanceToCreature(cid) < 3 then if isPremium(cid) then selfSay('O Que foi, ' .. creatureGetName(cid) .. '! Voce pode sair se me pagar 10k. Voce quer??') focus = cid talk_start = os.clock() else selfSay('Desculpe, Voce não tem dinheiro suficiente.') focus = 0 talk_start = 0 end elseif msgcontains(msg, 'hello') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Espera, ' .. creatureGetName(cid) .. '!') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'yes') then if pay(cid,10000) then selfSay('Espero que não volte mais!') selfSay('/send ' .. creatureGetName(cid) .. ', 160 54 7') focus = 0 talk_start = 0 else selfSay('Desculpe, voce não tem grana.') end elseif msgcontains(msg, 'ciieeeeeeeey') then if pay(cid,20) then selfSay('Let\'s go!') selfSay('/send ' .. creatureGetName(cid) .. ', 171 65 7') focus = 0 talk_start = 0 else selfSay('Sorry, you don\'t have enough money.') end elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 end endendfunction onCreatureChangeOutfit(creature)endfunction onThink() if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Que fale o próximo se tiver...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Tá Tá agora suma.') focus = 0 end endend
Nota: Aquele cieeeeey foi um erro não modifique,eu não modifiquei pois não tive tempo...
NPC: Delegado:
Em Andamento... Vou pedir um code a alguem, quem souber fazer codes me add no msn (rafix_sr@hotmail.com)
NPC: Advogado:
Ainda não implementado... Colex preciso falar com voce...
Bom Gente ta ai
Quando der eu Posto o rewsto dos Npcs la...
-
gustavoxl deu reputação a Xedegux em Teleportando Em Item
Usuário crazY4kill alertado por fazer vários posts como esse de cima.
-
gustavoxl deu reputação a bloder em Sistema De Cassanique
Bom,esse é o primeiro Script que eu faço e posto aki no :XTibia_smile: ,então espero que gostem.
O Script funciona assim: o player pucha a alavanca e então aleatóriamente é criado 3 items,se os items forem iguais o player ganha um premio!
Então vamos ao que interesssa.Primeiramente,abra o mapa do seu ot e faça uma area mais ou menos como essa da imagem abaixo:
Depois,vá em data/actions/scripts e crie um arquivo chamado cassino.lua
e cole isto dentro:
-- Cassino System by LucasHere function onUse(cid, item, frompos, item2, topos) pos1 = {x=989, y=1013, z=7, stackpos=1} --posição que vai cria os items pos2 = {x=990, y=1013, z=7, stackpos=1} pos3 = {x=991, y=1013, z=7, stackpos=1} local config = { moneyneed = 100 -- dinheiro para jogar } local premio = 2148 -- id do premio local premio_cont = 200 -- quantidade do premio que vai ganhar function additem(cid,premio,premio_cont) doPlayerAddItem(cid, premio,premio_cont) end if item.itemid == 1945 and getPlayerMoney(cid) < config.moneyneed then doPlayerSendCancel(cid,"Desculpe,voce não grana suficiente para jogar!") return FALSE end if item.itemid == 1945 and math.random(0, 8) == 1 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) doCreateItem(6556,1,pos1) addEvent(doCreateItem, 1000, 6556, 1, pos2) addEvent(doCreateItem, 2000, 6556, 1, pos3) addEvent(additem,2000,cid,premio,premio_cont) return true elseif item.itemid == 1945 and math.random(0, 8) == 2 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) doCreateItem(6557,1,pos1) addEvent(doCreateItem, 1000, 6557, 1, pos2) addEvent(doCreateItem, 2000, 6556, 1, pos3) return true elseif item.itemid == 1945 and math.random(0, 8) == 3 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) doCreateItem(6557,1,pos1) addEvent(doCreateItem, 1000, 6557, 1, pos2) addEvent(doCreateItem, 2000, 6557, 1, pos3) addEvent(additem,2000,cid,premio,premio_cont) return true elseif item.itemid == 1945 and math.random(0, 8) == 4 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) addEvent(doCreateItem, 1000, 6556, 1, pos2) addEvent(doCreateItem, 2000, 6556, 1, pos3) doCreateItem(6557,1,pos1) return true elseif item.itemid == 1945 and math.random(0, 8) == 5 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) addEvent(doCreateItem, 1000, 6557, 1, pos2) addEvent(doCreateItem, 2000, 6556, 1, pos3) doCreateItem(6557,1,pos1) return true elseif item.itemid == 1945 and math.random(0, 8) == 6 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) addEvent(doCreateItem, 1000, 6556, 1, pos2) addEvent(doCreateItem, 2000, 6557, 1, pos3) doCreateItem(6557,1,pos1) return true elseif item.itemid == 1945 and math.random(0, 8) == 7 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) addEvent(doCreateItem, 1000, 6557, 1, pos2) addEvent(doCreateItem, 2000, 6556, 1, pos3) doCreateItem(6557,1,pos1) return true elseif item.itemid == 1945 and math.random(0, 8) == 8 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) addEvent(doCreateItem, 1000, 6556, 1, pos2) addEvent(doCreateItem, 2000, 6557, 1, pos3) doCreateItem(6556,1,pos1) return true end item0 = getThingfromPos(pos1) item1 = getThingfromPos(pos2) item2 = getThingfromPos(pos3) if item.itemid == 1946 then doTransformItem(item.uid,1945) if item0.itemid ~= 0 and item1.itemid ~= 0 and item2.itemid ~= 0 then doRemoveItem(item0.uid,1) doRemoveItem(item1.uid,1) doRemoveItem(item2.uid,1) end else doTransformItem(item.uid,1945) end return 1 end
E em Actions.xml,Cole isto:
<action actionid="XXXX" event="script" value="cassino.lua"/>
XXXX = action id que vai ser usado para executar o script,não esqueça de colocar na alavanca do mapa.
Espero que tenham gostado!
-
gustavoxl deu reputação a tibiano do hell em Alavanca Do Mal
hj vim postar + um script para o seu ot!
primeiro vo explica como funciona
vc puxa a alavanca e tira um x de dano
Muito util para RPG quests
vamos ao script?
se tiver dificuldade de ver pegue esse
Alavancadomal.txt
Tags
Vamos a legenda
doSendAnimatedText(getCreaturePosition(cid), "Take This!", TEXTCOLOR_RED) : a mensagem ira aparecer quando o player puxar a alavanca
doCreatureAddHealth(cid,-900) quanto de life vai tirar do player nesse exemplo hitou 900
bom no meu ot essa action repete (deu pra perceber no script ¬¬) pra td vez que o infelz for puxar tomar 900 de dano
mais é claro vc não presisa colocar só em alavancas... vc pode colocar em paredes portas qualquer coisa (sua criatividade manda xD)
bom ah ss né?
Espero que gostem
Creditos
MatheusMkalo,Marcryzius,Focost por ajudarem a "solucionar" o script xD
Asdghbf por dar a ideia do script e postar
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.