Ir para conteúdo
Entre para seguir isso  
Mock

[8.1] Npcsystem em portugues!

Recommended Posts

Mock    32
Mock

Bom eu etou ultimamente sem grandes ideias ai vim apenas postar algo meio inutil xD

eu traduzi as falas dos npcs da lib.

algumas pessoas chegam:

AI CARA TRADUZ ESSE NPC P MIN???

ai o cara traduz...

Ai o outro diz:

AFF CARA ELE TA TODO BR MAS QUANDO EU FALO SELL DEMON SHIELD ELE FALA EM INGLES!

Bom eu apenas traduzi :P

é so a lib em lua as libs de parameter eu raduzi tb mas so vo posta as em .lua se allguem quiser e so falar.

O script foi feito para 8.1 apenas Talvez pegue em 8.11

E foi testado em areis 4.0

Bom va na pasta npcs> scripts> lib

Vai ter um arquivo chamado:

npc.lua

Fassa uma copia dele pq se n funcionar o script ai pode acabar com seus npcs :P

agora apague tudo que tem dentro e ponha isso:

-- Include external classes.
-- npclib em portugues 100% by mock!
dofile('data/npc/scripts/lib/npcsystem/npcsystem.lua')

--- Pegando o dinheiro
function getPlayerMoney(cid)
local val1 = 0
local val2 = 0
local val3 = 0
if (isPlayer(cid) == TRUE) then
crist = getPlayerItemCount(cid,ITEM_CRYSTAL_COIN)
if crist > 0 then
 val1 = (crist*10000)
end
plat = getPlayerItemCount(cid,ITEM_PLATINUM_COIN)
if plat > 0 then
 val2 = (plat*100)
end
god = getPlayerItemCount(cid,ITEM_GOLD_COIN)
if god > 0 then
 val3 = (god*1)
end

total = (val1+val2+val3)
return total
else
return 0
end
end

-- get the distance to a creature
function getDistanceToCreature(id)
if id == 0 or id == nil then
	selfGotoIdle()
end

cx, cy, cz = creatureGetPosition(id)
sx, sy, sz = selfGetPosition()

if cx == nil then
	return nil
end

return math.max(math.abs(sx-cx), math.abs(sy-cy))
end

-- do one step to reach position
function moveToPosition(x,y,z)
selfMoveTo(x, y, z)
end

-- do one step to reach creature
function moveToCreature(id)
if id == 0 or id == nil then
	selfGotoIdle()
end
tx,ty,tz=creatureGetPosition(id)
if tx == nil then
	selfGotoIdle()
else
   moveToPosition(tx, ty, tz)
  end
end

-- stop talking
function selfGotoIdle()
following = false
attacking = false
selfAttackCreature(0)
target = 0
end

-- getCount function by Jiddo
function getCount(msg)
b, e = string.find(msg, "%d+")

if b == nil or e == nil then
	count = 1
else
	count = tonumber(string.sub(msg, b, e))
end

if count > 2000 then
	count = 2000
elseif count == 0 then
	count = 1
end

return count
end

-- buy an item
function buy(cid, itemid, count, cost)
cost = count*cost
amount = count
if doPlayerRemoveMoney(cid, cost) == 1 then
	if getItemStackable(itemid) then
		while count > 100 do
			doPlayerAddItem(cid, itemid, 100)
			count = count - 100
		end

		doPlayerAddItem(cid, itemid, count) -- add the last items, if there is left
	else
		while count > 0 do
			doPlayerAddItem(cid, itemid, 1)
			count = count - 1
		end
	end

	if amount <= 1 then
		selfSay('Aqui esta seu: '.. getItemName(itemid) .. '(pago: '..cost..')!')
	else
		selfSay('Aqui esta seus '.. amount ..' '.. getItemName(itemid) .. ' (pago: '..cost..')!')		
	end
else
	selfSay('Desculpe mas seu dinheiro e insuficiente. isso custa '..cost..' e voçê tem '..getPlayerMoney(cid)..'gps.')
end
end

function buyFluidContainer(cid, itemid, count, cost, fluidtype)
cost = count*cost
amount = count
if doPlayerRemoveMoney(cid, cost) == 1 then
	while count > 0 do
		doPlayerAddItem(cid, itemid, fluidtype)
		count = count - 1
	end

	if amount <= 1 then
		selfSay('Aqui esta seu '.. getItemName(itemid) .. '!')
	else
		selfSay('Aqui está seus '.. amount ..' '.. getItemName(itemid) .. ' e aqui estão os seus '..cost..'gps.')		
	end
else
	selfSay('Desculpe mas seu dinheiro e insuficiente. isso custa '..cost..' e voçê tem '..getPlayerMoney(cid)..'gps.')
end
end

function buyContainer(cid, container, itemid, count, money)
if doPlayerRemoveMoney(cid, money) == 1 then
	bp = doPlayerAddItem(cid, container, 1)
	x = 0

	while x < 20 do
		doAddContainerItem(bp, itemid, count)
		x = x + 1
	end

	selfSay('Aqui está')
else
	selfSay('Desculpe mas seu dinheiro e insuficiente. isso custa '..money..' e voçê tem '..getPlayerMoney(cid)..'gps.')
end
end 

-- sell an item
function sell(cid, itemid, count, cost)
cost = count*cost
if doPlayerRemoveItem(cid, itemid, count) == 1 then
	doPlayerAddMoney(cid, cost)


	if count <= 1 then
		selfSay('Obriagado por vender este '.. getItemName(itemid) .. '!')
	else
		selfSay('Obriago por vender '.. count..' '.. getItemName(itemid) .. ' e aqui estão os seus '..cost..'gps.')		
	end
else
	selfSay('Desculpe, mas voçê não tem '.. getItemName(itemid) .. ' com voçê.')
end
end

-- pay for anything?
function pay(cid, cost)
if doPlayerRemoveMoney(cid, cost) == 1 then
	return true
else
	return false
end
end

-- learn spell
function learnSpell(cid, spell, cost)
x,y,z = creatureGetPosition(cid)
if doPlayerLearnSpell(cid, spell) == 1 then
	if doPlayerRemoveMoney(cid, cost) == 1 then
		doSendMagicEffect({x=x, y=y, z=z}, 14)
		selfSay('Para usar isto diga: '.. spell ..'.')
	else
		selfSay('Desculpe mas seu dinheiro e insuficiente. isso custa '..money..' e voçê tem '..getPlayerMoney(cid)..'gps.')
	end
else
	selfSay('Voçê ja sabe esta magia.')
end
end

-- Travel player
function travel(cid, x, y, z)
destpos = {x = x, y = y, z = z}
doTeleportThing(cid, destpos)
doSendMagicEffect(destpos, 10)
end

-- add all addons
function addon(cid, addon)
if getPlayerSex(cid) == 1 then
	for x = 128, 134 do
		doPlayerAddAddon(cid, x, addon)
	end

	for y = 143, 146 do
		doPlayerAddAddon(cid, y, addon)
	end

	for z = 151, 154 do
		doPlayerAddAddon(cid, z, addon)
	end
else	
	for x = 136, 142 do
		doPlayerAddAddon(cid, x, addon)
	end

	for y = 147, 150 do
		doPlayerAddAddon(cid, y, addon)
	end

	for z = 155, 158 do
		doPlayerAddAddon(cid, z, addon)
	end
end
end

function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end

As funções em br so se aplicam a:

learnSpell(cid, spell, cost)

sell(cid, itemid, count, cost)

buy(cid, itemid, count, cost)

buyFluidContainer(cid, itemid, count, cost, fluidtype)

buyContainer(cid, container, itemid, count, money)

Função: getPlayerMoney(cid) ja incluida nessa lib

 

Feito isso basta salvar e acabou abra seu ot e seje feliz :D

Compartilhar este post


Link para o post
tiba_041    0
tiba_041

Hmm Cara Gostei ta aprovado por mim, precisava muito disso mais agora nem preciso... Mais Vlw

Atenciosamente Tiba.

Compartilhar este post


Link para o post
Mock    32
Mock

o legal disso dai é que quando voçÊ vende mais de um item ele fala quanto deu tudo fala quantos vc tem e tb se vc n tiver grana ele fala quanto dinheiro vc tem e quanto presisa :P

Compartilhar este post


Link para o post
Eventide    7
Eventide

com isso ae qualquer NPC é traduzido automaticamente?? o.O

Compartilhar este post


Link para o post
Mock    32
Mock

não

tipo quando vc chega la no npc fala hi ele normalmente fala em ingles.

ai blz vc pede p traduzi o cara traduz todo ai vc chega

*oi

#Olha player em que posso ajudar

* Vender esse item

# Thanks for this item.

* flw

# Até mais, volte sempre.

a função de vender é assim

Buy(cid,~

e uma função que eu dei um jeito de alterar so essas funçoes tão em portugues e melhoradas :D

Compartilhar este post


Link para o post
Kaotar    5
Kaotar

Legalzinho, mas achei que tinhas traduzido o Jiddo System.

Mas se bem que no Jiddo system tem como fazer o troço falar sozinho.

Vlws por mais uma mock.

 

Flws

 

PS: Não li o script pra criticar, então hj é sem criticas.

Compartilhar este post


Link para o post
[ B a l i l l o ]    0
[ B a l i l l o ]

Eu aprovo em partes e desaprovo na maioria.

Dei uma pequena lida, tem mais erro de ortografia do que a viva Dercy Gonçalvez.

vo'ç'ê não é com 'Ç' e sim com 'C' => VOCÊ!

Depois de um ponto (.) começa com letra maiúscula e espaço, sendo: Eu. Você. (isso foi apenas um exemplo).

'Está' se não me engano é usado no futuro do presente, vc utilizou em tempos errados este verbo.

 

E por fim, vc não traduziu o principal :S

E tbm existe os sistemas mais atualizados, em alguns OTs esse dai pode dar problema por faltar alguma função nova e etc.

 

Tive a idéia de traduzir o sistema Jiddo, mas apenas quando eu estiver com tempo.

Fora isso, um obrigado sempre é bem-vindo por uma ajuda a comunidade, mesmo porque, notei que nos ultimos tempos apenas vc está atualizando a seção de scripting :)

 

Grato.

Compartilhar este post


Link para o post
Mock    32
Mock

ah portugues n é minah vocação alem de que o portugues e a 7ª liguna mais dificl do mundo :P

eu traduzi o do jiddo funcionou tambem.

so que tipo o do jiido ele e bem diferente de ot pra ot ai eu resolvi não postar pq ai vai ter gente que usa um mais atualizado do que o meu ai vai faltar funçoes --' NEM.

Compartilhar este post


Link para o post
[ B a l i l l o ]    0
[ B a l i l l o ]
ah portugues n é minah vocação alem de que o portugues e a 7ª liguna mais dificl do mundo :P

eu traduzi o do jiddo funcionou tambem.

so que tipo o do jiido ele e bem diferente de ot pra ot ai eu resolvi não postar pq ai vai ter gente que usa um mais atualizado do que o meu ai vai faltar funçoes --' NEM.

A 7ª? Colega, oque tem de pouco no mundo inteiro são linguas, então vc não está sendo tããão esperto ein? :~

Compartilhar este post


Link para o post
Mock    32
Mock

sobre essa da lingua meu prof de artes que disse.

que seja ja falo que n sirvo pra portugues.

Compartilhar este post


Link para o post
Cloaky    0
Cloaky

Olha o pleonasmo ai gente ^^

 

"voçê não tem '.. getItemName(itemid) .. ' com voçê"

Compartilhar este post


Link para o post
FakLess    0
FakLess

Legal,acho que no global devia ter isso,pra quem nom intende nada do ingles esse sistema seria uma reviraavolta no jogo ;]

Flww

Compartilhar este post


Link para o post
MotoBoy    0
MotoBoy

eh mock..

traduzir é um negocio complexo T.T

eu traduzi todas as funções existetes no meu server (tipo getPlayerPos -> pegarPosicJogador)

depoisd e terminar tudo..

eu esqueci como fazia as funç~eos..

xD~~

 

flws~~

Compartilhar este post


Link para o post
Mock    32
Mock

essa lib ai eu fiz inutilmente coisa mais inutil u.u

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×