Ir para conteúdo
Entre para seguir isso  
314256

Profissão

Recommended Posts

314256    2
314256

  • Nome: Profissão
  • Autor: Pinpao
  • Versão Testada: [8.60] Alissow Ots 4.11
  • Informações Adicionais: Uma action bem interesante que eu axei em outro forum e resolvi trazer para ca.

 

Cansado de ter de ficar horas ajeitando um script de profissão para que ele funcione! seus problemas acabaram com isto.

 

Coloque este script com o nome profissao

[spoiler="[Action]Profissão"]

local professions = {
["herbalism"] = {storage = 1030, maxSkill = 550},
["mining"] = {storage = 1031, maxSkill = 400},
["skinning"] = {storage = 1032, maxSkill = 500}
}

local recipes = {
-- herbalism (herbs)
[2740] = {tool = 2550, skill = 0, loot = {{2801, 4}}, effect = CONST_ME_MAGIC_GREEN, profession = "herbalism"},
[2767] = {tool = 2550, skill = 20, loot = {{2804, 4}, {2803, 7}, {2799, 4}}, effect = CONST_ME_MAGIC_GREEN, profession = "herbalism"},
[2771] = {tool = 2550, skill = 60, loot = {{2801, 4}, {2802, 4}, {2804, 5}}, effect = CONST_ME_MAGIC_GREEN, profession = "herbalism"},
[2741] = {tool = 2550, skill = 150, loot = {{2800, 6}, {2802, 4}, {2803, 5}}, effect = CONST_ME_MAGIC_GREEN, profession = "herbalism"},
[2768] = {tool = 2550, skill = 250, loot = {{2801, 7}, {2803, 5}, {2799, 4}}, effect = CONST_ME_MAGIC_GREEN, profession = "herbalism"},
[2743] = {tool = 2550, skill = 400, loot = {{2798, 4}, {2804, 5}, {2799, 4}}, effect = CONST_ME_MAGIC_GREEN, profession = "herbalism"},
[2769] = {tool = 2550, skill = 450, loot = {{2805, 4}, {2802, 5}, {2804, 3}}, effect = CONST_ME_MAGIC_GREEN, profession = "herbalism"},
[2783] = {tool = 2550, skill = 550, loot = {{2801, 6}, {2800, 7}, {2803, 6}}, effect = CONST_ME_MAGIC_GREEN, profession = "herbalism"},
--herbalism (mushrooms)
[4179] = {tool = 2566, skill = 10, loot = {{2794, 2}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4180] = {tool = 2566, skill = 40, loot = {{2792, 3}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4181] = {tool = 2566, skill = 90, loot = {{2794, 4}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4178] = {tool = 2566, skill = 160, loot = {{2792, 5}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4171] = {tool = 2566, skill = 280, loot = {{2787, 5}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4170] = {tool = 2566, skill = 420, loot = {{2791, 5}, {2789, 4}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4179] = {tool = 2566, skill = 510, loot = {{2789, 6}, {2791, 7}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4177] = {tool = 2566, skill = 550, loot = {{2793, 5}, {2787, 7}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
--herbalism (big mushrooms)
[4167] = {tool = 2550, skill = 50, loot = {{2791, 3}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4168] = {tool = 2550, skill = 150, loot = {{2790, 4}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4169] = {tool = 2550, skill = 250, loot = {{2791, 5}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4174] = {tool = 2550, skill = 350, loot = {{2790, 5}, {2795, 5}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4175] = {tool = 2550, skill = 450, loot = {{2791, 4}, {2796, 6}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4172] = {tool = 2550, skill = 550, loot = {{2791, 5}, {2796, 6}, {2792, 4}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
[4173] = {tool = 2550, skill = 550, loot = {{2795, 5}, {2787, 7}, {2793, 7}}, effect = CONST_ME_MAGIC_RED, profession = "herbalism"},
--mining (stones)
[3607] = {tool = 2422, skill = 0, loot = {{2150, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
[3608] = {tool = 2422, skill = 10, loot = {{2149, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
[3609] = {tool = 2422, skill = 50, loot = {{2150, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
[3615] = {tool = 2422, skill = 100, loot = {{2147, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
[3616] = {tool = 2422, skill = 130, loot = {{2149, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
[1357] = {tool = 2422, skill = 190, loot = {{2146, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
[1356] = {tool = 2422, skill = 280, loot = {{9970, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
[1285] = {tool = 2422, skill = 320, loot = {{2149, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
--mining (minerals, metals)
[5868] = {tool = 2553, skill = 100, loot = {{2149, 2}, {2146, 2}, {9970, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
[5867] = {tool = 2553, skill = 200, loot = {{5889, 1}, {2146, 2}, {9970, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
[5866] = {tool = 2553, skill = 300, loot = {{5892, 1}, {2149, 2}, {2147, 2}, {9970, 2}}, effect = CONST_ME_HITAREA, profession = "mining"},
[5753] = {tool = 2553, skill = 350, loot = {{5888, 1}, {2150, 2}, {2146,2 }, {9970, 2}, {2156, 1}}, effect = CONST_ME_HITAREA, profession = "mining"},
[5751] = {tool = 2553, skill = 400, loot = {{5887, 1}, {2149, 2}, {2147, 2}, {9970, 2}, {2158, 1}}, effect = CONST_ME_HITAREA, profession = "mining"}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)

if recipes[itemEx.itemid] then
	if itemEx.actionid > 0 then
		doCreatureSay(cid, "You can't do that.", TALKTYPE_ORANGE_1)
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
		return TRUE
	end
	lootTable = {}
	lootName = "You recive: "
	professionSkill = getPlayerStorageValue(cid, professions[recipes[itemEx.itemid].profession].storage)
	itemPos = getThingPos(itemEx.uid)
	if professionSkill < 1 then
		professionSkill = 0
	end
	if item.itemid == recipes[itemEx.itemid].tool then
		if professionSkill >= recipes[itemEx.itemid].skill then
			if item.actionid ~= 5001 then    
				if math.random(1, 3) < 2 then
					doRemoveItem(itemEx.uid, 1)
					doSendMagicEffect(itemPos, recipes[itemEx.itemid].effect)
					if recipes[itemEx.itemid].profession ~= "skinning" then
						addEvent(doCreateItem, 120000, itemEx.itemid, 1, itemPos)
						addEvent(doSendMagicEffect, 120000, itemPos, recipes[itemEx.itemid].effect)
					end
					if math.random(1, 2) < 2 then
						if professionSkill < professions[recipes[itemEx.itemid].profession].maxSkill then
							setPlayerStorageValue(cid, professions[recipes[itemEx.itemid].profession].storage, professionSkill + 1)
							doCreatureSay(cid, "You advanced in "..recipes[itemEx.itemid].profession..". ("..professionSkill..").", TALKTYPE_ORANGE_1)
						end
					end
					repeat
						if #recipes[itemEx.itemid].loot == 0 then
							break
						end
						for i = 1, #recipes[itemEx.itemid].loot do
							if math.random(1, 2) < 2 then
								table.insert(lootTable, (recipes[itemEx.itemid].loot)[i])
							end
						end
					until lootTable ~= {}
					for i = 1, #lootTable do
						lootCount = math.random(1, lootTable[i][2])    
						doPlayerAddItem(cid, lootTable[i][1], lootCount)
						if i == #lootTable then
							lootName = lootName..""..lootCount.."x ".. getItemNameById(lootTable[i][1]) .."."
						else
							lootName = lootName..""..lootCount.."x ".. getItemNameById(lootTable[i][1]) ..", "
						end
					end
					if lootName == "You recive: " then
						lootName = "You don't recive any loot."
					end
					doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, lootName)
				else
						doSendMagicEffect(itemPos, CONST_ME_BLOCKHIT)
				end
			else
				doSendMagicEffect(itemPos, CONST_ME_BLOCKHIT)
				doCreatureSay(cid, "This tree was cut recenlty by someone else!", TALKTYPE_ORANGE_1)
			end
		else
			doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
			doCreatureSay(cid, "You don't have required skill to do that!", TALKTYPE_ORANGE_1)
		end
	else
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_BLOCKHIT)
		doCreatureSay(cid, "This tool doesn't match!", TALKTYPE_ORANGE_1)
	end
end
return true
end

 

 

E agora coloque isto em "Actions.xml"

[spoiler=Actions.xml]

<action itemid="2550;2566;2422;2553" event="script" value="Profissao.lua"/>

 

 

Imagens

As vezes você ganha:issoae:

97620177.png

 

As vezes você erra :cansado:

24543389.png

 

As vezes não conseque nada :triste:

75550863.png

 

As vezes você ainda não tem skill :ohnoes:

32265319.png

 

[spoiler=Como editar]

Aqui são as profissões:

 

local professions = {

["herbalism"] = {storage = 1030, maxSkill = 550},

["mining"] = {storage = 1031, maxSkill = 400},

["skinning"] = {storage = 1032, maxSkill = 500}

}

Para adicionar mais fassa assim

 

["poting"] = {storage = 1033, maxSkill = 500},

 

Vermelho = o nome da profissão

Azul = a storage que ela ocupa(é bom usar numeros grandes para evitar bugs)

Verde = o maximo de skill que a profissão chega

PS:Só não bote a virgula no final na ultima das profissões

 

E aqui as receitas de itens:

local recipes = {

 

-- herbalism (herbs)

[2740] = {tool = 2550, skill = 0, loot = {{2801, 4}}, effect = CONST_ME_MAGIC_GREEN, profession = "herbalism"},

 

Azul = o id do item onde a ferramenta sera usada

Verde limão = o id da ferramenta a ser usada (lembrese que a ferramenta presisa ter USE para usar em itens)

Vermelho = o skill nessesario para usar a ferramenta no item e ganhar outro em troca

Laranja = o que vai dar caso você fassa a ação ( {{2801(o id do item a ser ganho), 4(A quantidade de itens a ser ganha)}}

Verde = o efeito que ira acontecer caso de tudo certo

Roxo = a profissão que vai ser usada (A que usamos acima, ["herbalism"] = {storage = 1030, maxSkill = 550})

 

PS:Só não bote a virgula no final na ultima das das receitas de items

 

Sempre depois de botar uma nova toll para se usar bote ela aqui:

<action itemid="2550;2566;2422;2553" event="script" value="Profissao.lua"/>

 

Vermelho = sempre após botar uma nova ferramenta na receita de items, bote o id dela aqui, sempre usando ; para dividir um id do outro

 

Bye pessoal

E lembrençe per favore me deem pelo menos reputação (que V$ eu não ganhei "Tópico sem remuneração, usuário com menos de 50 posts." achei mo robada mais tudo bem, então pliz me deem reputação pelo menos)

Editado por 314256
Identação

Compartilhar este post


Link para o post
Kaotar    5
Kaotar

Gostei da estrutura do script e a configuração e consideravelmente fácil. Espero que tenha permissão para postar este script aqui, caso o dono venha a reclamar será removido sem aviso prévio. Sem mais delongas:

 

Aprovado e Movido.

Tópico sem remuneração, usuário com menos de 50 posts.

Compartilhar este post


Link para o post
314256    2
314256

Cara mo chato isso em

Nem ganhei v$

Mo robada ai

Compartilhar este post


Link para o post
sequeled    0
sequeled

parabens ta usando array maneirim :D

Compartilhar este post


Link para o post
ViniciusLelis    0
ViniciusLelis

Gostei do script, dá um toque de RPG no server O.o, obrigado por trazer para a OTBR e compartilhar com nós \õ

Compartilhar este post


Link para o post
314256    2
314256

ou se gostou bem que podia agradecer com um pouco de rep em

Compartilhar este post


Link para o post
Ukirow    0
Ukirow

Script muito bem feito.. muito massa, ficou show !

Compartilhar este post


Link para o post
ADM MaX DE    0
ADM MaX DE

Script bom mesmo. parabens ao autor.

Mas ganhar V$ e/ou reputação nas custas de outro usuário que é dono do script...

Acho isso meio injusto, não concorda?

Compartilhar este post


Link para o post
Kaotar    5
Kaotar

Se você ver bem ele não levou v$ e a reputação que ele vai ganhar não vai ser por fazer o script e sim por compartilhar com essa comunidade.

 

Flws

Compartilhar este post


Link para o post
Criticoo    4
Criticoo

É mais se você percebeu ele postou pelo oque? porque ele se importa com a comunidade?

Que nada é porque ele quer reputação e v$.

Compartilhar este post


Link para o post
pinpao    0
pinpao

Haha '-'

Compartilhar este post


Link para o post
Kaotar    5
Kaotar

@Criticoo

Essa discussão foi encerrada no meu ultimo post, se vocês acham ruim ele postar coisas que não são da autoria dele para ajudar o fórum com o conteúdo, quem sabe vocês não fazem coisa melhor e postam com seu próprio nome e ganham seu próprio premio?

 

 

Discussão encerrada quem postar sobre isso vai levar alerta, se algum usuário ainda achar que tem que falar alguma coisa se sinta livre para me mandar PM, com sua opinião formada e com bons argumentos.

Compartilhar este post


Link para o post
pinpao    0
pinpao

Tenso '-'

Editado por pinpao

Compartilhar este post


Link para o post
Kuma Bear    33
Kuma Bear

Impressão Minha ou Skinning Não tem?

 

Tenso X:

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.

×