PXM (PField) Open Source 2021

KaboFlow
em OTServer Alternativo (ATS)

KaboFlow

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 04/07/17Posts: 434

 

5a7b5de2110fb_1jojl1FOMkX9WypfBe43D6kjfBqRNJmRvJwXs1M3EMoAJtlSElhvFv9...png.88767b85daa58d26ca46526165d8c1ab.png

 

 

Como todos sabem existem milhares de servidores de poketibia para download aqui no fórum, mas nenhum esta 100%, quando eu falo 100% é dos sistemas principais e não das edições. Então resolvi pegar uma base PField OpenSource aqui do fórum mesmo e começar um projeto comunitário totalmente aberto, para tentarmos deixar a base 100% com os sistemas principais de um servidor de poketibia para quem quiser começar um projeto serio usar este server como base.

 Mas porque eu escolhi a base PField? Simples, por ela ser uma base mais antiga e mais limpa, sem todas as gambiarras, armadilhas e menos poluída. A minha meta é trabalharmos no server opensource, cliente com as sources criado do 0 tambem, e todos se ajudarem para quando ficar com os sistemas básicos 100% dai a galera começar a fazer suas edições

 

ATENÇÃO: Não sou programador, sou meia boca em quase tudo e tenho esperança que com a ajuda de todos conseguiremos deixar a base perfeita para futuros projetos. Peço que não briguem aqui no tópico por causa de créditos, reps etc. Caso alguém tenha autoria em algo e não estiver nos créditos me avise que estarei adicionando. Não quero reputação, apenas quero fazer algo bom para a comunidade com a ajuda de vocês.

Inicialmente estaremos corrigindo os bugs e adicionando os sistemas principais deixando a base mais atualizada, quem quiser pegar a base e já ir editando não fique perguntando aqui no tópico, porque como eu disse a prioridade inicial são os sistemas básicos.

 

 

• Menu:

                 ├ Informações;
  ├ Prints;

├ Bugs;
           ├ Download;
       └ Créditos.

 

separador-2.png

logo.png.7e13cdd446c6363c5362f16731215fcd.png 

Spoiler

Systems do PFIELD!

 
Bike System: 100%
Caught System: 100%
Evolution System: 100%
Go-Back System: 100%
Gerações 1: 100%
Gerações 2: 100%
Limite de 6 Pokemons na Bag: 100%
Moves System: 100%
Portrait System: 100%
Pokedex System: 100%
Ride System: 100%
Sem Level System!
fly System: 100%
Surf System: 100%
Teleport System: 100%
Auto Stacking.
Player canWalkthrough.
ETC...

 

         separador-2.png

• Prints 

Spoiler

project.thumb.png.cb6577f3b3d2ad9237c5f1f78ad82417.png

 

 

ddddd.thumb.png.da40a19985d0cdb15014c0efb8c3ba6d.png

 

 

blastoise.thumb.png.b3d484522d090caf350402b780191c56.png

 

kkkkkkkkk.png.52e60017131f9bef3b913e3d51b2c6a9.png

 

ddddddddddd.png.986a54a6341ec780035bc4ad74c0cb74.png

 

 

 

 

Dungeon.thumb.png.b89c9aa1ca5a7dc1de0c417cc36abf07.png

 

1552738642_TaskDaily.thumb.png.c2aa6427fb0fb4fa4565dc512f2eca76.png

 

 

1860308875_Sinttulo33333.thumb.png.a19fc848beb319f241284f6ef0f29baf.png

 

 

Daily.thumb.png.11f460073c326f8331551e32a9e963af.png

 

• Informações Basicas 

Spoiler

O que falta:
Adicionar sistema de clã.
Sistema de nick.
Sistema de duel.
Sistema de gym esta parcial, ainda conte bugs.
Player soltar poke/usar revive andando.
Pokedex.
Fishing.
ETC...

 

Tem muita coisa faltando, mas a intenção deste tópico é justamente essa, adicionar os sistemas e corrigir os bugs, como essa base é bem limpa sera mais fácil de trabalharmos.
 
Pesso a ajuda de todos, porque assim como eu, muitos sentem falta de uma base boa para começar um projeto.
 
Observações
 
Os systems acima apenas afirma que os sistema em si esta em 100%, quero deixa bem claro que nem todos os pokemos então adicionados ao sistemas.
 
Lembrando tambem que possa aparece bugs porque todos os OtServs de Poketibia á Bugs... Mais Caso Ocorra algum por favor me relate que sera rapidamente corrigido.

separador-2.png

5a7b6d069bfa9_logo(3).png.383884d5404f3a42b7ab2a379cefc8d6.png

 

Spoiler

Server

Descarga 04/03/2021

 

Cliente

Descarga

 

•Scan•

Scan

 

 

• Créditos •

•ADM Kabo

•Kevick

•Aberos

•Avronex

•Lordbaxx

•CipSoft

•PxG

•Nintendo

Se faltar algum me avisem.

 

Se tiver algo errado no tópico me avisem, não tenho muita experiencia em posts.

@Yan Liima

Yan Liima

Scripter,Programador,WebMaster.
avatar
Diretor
Diretor

INFOS

Grupo: DiretorRegistrado: 12/05/12Posts: 818Gênero: MasculinoChar no Tibia: [ADM] Night

Muito bom, a comunidade xTibia agradece xD

Só peço que adicione o scan por favor

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

ALGUNS DOS MEUS TRABALHOS:

Spoiler

WODBOHS[DOWNLOAD]

Newstory dbo+nto+bleach[DOWNLOAD]

 

>> Mais infos <<

- Projetos lançados também feitos por mim {

DBO SKY

POKE SKY

WODBOWARS

Tic-tac-War

Dbo Universe(em desenvolvimento)

}

universe.thumb.png.6840320998d0fc1a4652b3db81a585c0.png

Separador.PNG

Te Ajudei? Rep + e ficamos Quits

imageproxy.png.84dce08dd18d31663a72aa1ce37b858a.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

KaboFlow

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 04/07/17Posts: 434
12 minutos atrás, Yan Liima disse:

Muito bom, a comunidade xTibia agradece xD

Só peço que adicione o scan por favor

 

ja

 

 

 

BrunooMaciell

Bruno Maciel
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/08/11Posts: 1919Gênero: MasculinoChar no Tibia: Bruno Maciel

A ideia e iniciativa - E bacana 

 

O problema e se tem galera pra isso pra ajudar pra testar(no caso ir atras de bugs pra possivelmente arrumar) 

 

Eu acho melhor dando uma dica simples de uma possivel V2 tipo algo de inicio.

 

É:  - coloca remakes nos pokemos.

     - coloca nao sei se nesta base como e antiga, itens grupaveis - 100x tipo: stones e items raros.

     - e arrumar bugs.

 

Sei la e uma dica de inicio de V2.

 

E complicado de inicio coloca sistemas tipo: clan system ou ate mesmo boost system.

 

De inicio e bom começa pelo simples ate chega sei la em uma V4 ou V5 onde ai começa coloca sistemas e coisas bacanas.

 

So uma dica mesmo!!

 

Boa Iniciativa ;) 

Wyzze

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/02/21Posts: 3

Problemas dessa base:
- Sistemas antigos/ desatualizados;
- Sistema de passive/ agressive feito em .lua, o que leva a sobrecarregar o servidor, travando os players (lag infernal);
- Sistema de Moves (m1, m2, m3), toda vez que criar uma spell para o Pokémon (player), precisa criar outra para o Pokémon (selvagem);

Não é uma base ruim para edição, mas creio que não seja viável começar um projeto com a mesma.
Hoje existe praticamente todas as funções para se montar uma source para o PDA e deixa-lo estável para um projeto.

BrunooMaciell

Bruno Maciel
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/08/11Posts: 1919Gênero: MasculinoChar no Tibia: Bruno Maciel
3 horas atrás, Wyzze disse:

Problemas dessa base:
- Sistemas antigos/ desatualizados;
- Sistema de passive/ agressive feito em .lua, o que leva a sobrecarregar o servidor, travando os players (lag infernal);
- Sistema de Moves (m1, m2, m3), toda vez que criar uma spell para o Pokémon (player), precisa criar outra para o Pokémon (selvagem);

Não é uma base ruim para edição, mas creio que não seja viável começar um projeto com a mesma.
Hoje existe praticamente todas as funções para se montar uma source para o PDA e deixa-lo estável para um projeto.

O problema de um PDA. 

 

E uma base onde tem muitas gambiarras. 

 

Porem assim:

 

E uma base boa pra se editar por se mais atualizada e tudo mais. 

 

Porem pra cria um projeto OPEN SOURCE em cima de um PDA, creio eu que tinha que ter uma equipe grande ate pra fazer uma source em cima dele, e uma parte desta equipe tinha que esta jogando horas e horas pra ta achando erros e falhas no server ate mesmo possivel bugs de nukar o server.

 

O PDA e um server muito bom por ser atualizadão porem como disse e muita gambiarra e um server que foi trabalhado e postado sem source onde complico muito o server.

 

Mas da pra fazer um projeto OPEN SOURCE em cima dele porem e um grande trabalho nele. 

Wyzze

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/02/21Posts: 3
6 horas atrás, BrunooMaciell disse:

O problema de um PDA. 

 

E uma base onde tem muitas gambiarras. 

 

Porem assim:

 

E uma base boa pra se editar por se mais atualizada e tudo mais. 

 

Porem pra cria um projeto OPEN SOURCE em cima de um PDA, creio eu que tinha que ter uma equipe grande ate pra fazer uma source em cima dele, e uma parte desta equipe tinha que esta jogando horas e horas pra ta achando erros e falhas no server ate mesmo possivel bugs de nukar o server.

 

O PDA e um server muito bom por ser atualizadão porem como disse e muita gambiarra e um server que foi trabalhado e postado sem source onde complico muito o server.

 

Mas da pra fazer um projeto OPEN SOURCE em cima dele porem e um grande trabalho nele. 

PDA no caso foi apenas uma ideia, a base PField precisa de muito trabalho em cima da mesma, creio que quase todos os sistemas dela precisam ser atualizados.

Sobre o sistema de moves creio que utilizar a função doCreatureCastSpell seria uma ótima alternativa e deixaria muito mais leve e otimizado o sistema.

BrunooMaciell

Bruno Maciel
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/08/11Posts: 1919Gênero: MasculinoChar no Tibia: Bruno Maciel
2 horas atrás, Wyzze disse:

PDA no caso foi apenas uma ideia, a base PField precisa de muito trabalho em cima da mesma, creio que quase todos os sistemas dela precisam ser atualizados.

Sobre o sistema de moves creio que utilizar a função doCreatureCastSpell seria uma ótima alternativa e deixaria muito mais leve e otimizado o sistema.

Entendi. 

 

Sim todas as bases vai da um grande trabalho porque todas tem oque melhora e arruma.

Wyzze

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/02/21Posts: 3

A ideia do sistema de move (m1, m2, m3) utilizando a doCreatureCastSpell seria basicamente assim:
Link da função: doCreatureCastSpell

 

function getTime(s)
	local n = math.floor(s / 600)
	s = s - (600 * n)
	return n, s
end

function onSay(cid, words, param)
	if #getCreatureSummons(cid) == 0 then --- Check SUMMON!
		return doPlayerSendCancel(cid, "Sorry, not possible.")
	end
	
	local summon = moves[getCreatureName(getCreatureSummons(cid)[1])][words]
	if not summon then
		return true
	end
	
	local storage = summon.st
	local cd = math.ceil(summon.cd/2)
	local pokemon = getCreatureSummons(cid)[1]
	local target = getCreatureTarget(cid)
    
	---	
	
	if getTilePzInfo(getCreaturePosition(pokemon)) and summon.pz == false then --- Check PZ!
		return doPlayerSendCancel(cid, "You can't use spells in protection zone.")
	end
	
	if getPlayerLevel(cid) < summon.minlvl then --- Check LVL!
		return doPlayerSendCancel(cid, "You must be level "..summon.minlvl.." or higher to use this move.")
	end
	
	if os.time()-getPlayerStorageValue(cid, storage) <= cd then --- Check CD!
		minutes,seconds = getTime(cd-(os.time()-getPlayerStorageValue(cid, storage)))
		return doPlayerSendCancel(cid, "Wait "..seconds.." seconds to use "..summon.atk..".")
	end
	
	if target == 0 and summon.target then
		return doPlayerSendCancel(cid, "You can't use this move.")
	end
	
	--- 
	
	doCreatureSay(cid, getCreatureName(pokemon)..", "..summon.atk.."!", TALKTYPE_MONSTER)
	doCreatureSay(pokemon, string.upper(summon.atk).."!", TALKTYPE_MONSTER)
	
	doCreatureCastSpell(pokemon, summon.atk) --- Soltar SPELL!

	---
	
	setPlayerStorageValue(cid, storage, os.time()+cd) --- Setar CD!
	return true
end

 

E a tabela com os moves algo assim:
 

moves = {
	["Dragon"] = {
		["m1"] = {atk = "Death Strike", minlvl = 20, st = 2000, cd = 0, target = true, pz = false},
		["m2"] = {atk = "Flame Strike", minlvl = 20, st = 2001, cd = 0, target = true, pz = false},
		["m3"] = {atk = "Mass Healing", minlvl = 20, st = 2002, cd = 0, target = false, pz = false},
		["m4"] = {atk = "Wrath of Nature", minlvl = 20, st = 2003, cd = 0, target = false, pz = false},
		},
}


No caso trabalharia apenas com as spells do spell.xml não precisaria criar duas spell uma pro summon e outra para o selvagem

KaboFlow

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 04/07/17Posts: 434
Em 01/03/2021 em 08:54, Wyzze disse:

A ideia do sistema de move (m1, m2, m3) utilizando a doCreatureCastSpell seria basicamente assim:
Link da função: doCreatureCastSpell

 

function getTime(s)
	local n = math.floor(s / 600)
	s = s - (600 * n)
	return n, s
end

function onSay(cid, words, param)
	if #getCreatureSummons(cid) == 0 then --- Check SUMMON!
		return doPlayerSendCancel(cid, "Sorry, not possible.")
	end
	
	local summon = moves[getCreatureName(getCreatureSummons(cid)[1])][words]
	if not summon then
		return true
	end
	
	local storage = summon.st
	local cd = math.ceil(summon.cd/2)
	local pokemon = getCreatureSummons(cid)[1]
	local target = getCreatureTarget(cid)
    
	---	
	
	if getTilePzInfo(getCreaturePosition(pokemon)) and summon.pz == false then --- Check PZ!
		return doPlayerSendCancel(cid, "You can't use spells in protection zone.")
	end
	
	if getPlayerLevel(cid) < summon.minlvl then --- Check LVL!
		return doPlayerSendCancel(cid, "You must be level "..summon.minlvl.." or higher to use this move.")
	end
	
	if os.time()-getPlayerStorageValue(cid, storage) <= cd then --- Check CD!
		minutes,seconds = getTime(cd-(os.time()-getPlayerStorageValue(cid, storage)))
		return doPlayerSendCancel(cid, "Wait "..seconds.." seconds to use "..summon.atk..".")
	end
	
	if target == 0 and summon.target then
		return doPlayerSendCancel(cid, "You can't use this move.")
	end
	
	--- 
	
	doCreatureSay(cid, getCreatureName(pokemon)..", "..summon.atk.."!", TALKTYPE_MONSTER)
	doCreatureSay(pokemon, string.upper(summon.atk).."!", TALKTYPE_MONSTER)
	
	doCreatureCastSpell(pokemon, summon.atk) --- Soltar SPELL!

	---
	
	setPlayerStorageValue(cid, storage, os.time()+cd) --- Setar CD!
	return true
end

 

E a tabela com os moves algo assim:
 

moves = {
	["Dragon"] = {
		["m1"] = {atk = "Death Strike", minlvl = 20, st = 2000, cd = 0, target = true, pz = false},
		["m2"] = {atk = "Flame Strike", minlvl = 20, st = 2001, cd = 0, target = true, pz = false},
		["m3"] = {atk = "Mass Healing", minlvl = 20, st = 2002, cd = 0, target = false, pz = false},
		["m4"] = {atk = "Wrath of Nature", minlvl = 20, st = 2003, cd = 0, target = false, pz = false},
		},
}


No caso trabalharia apenas com as spells do spell.xml não precisaria criar duas spell uma pro summon e outra para o selvagem

tenhe como judar?

Em 28/02/2021 em 16:30, BrunooMaciell disse:

E bom vc coloca oque foi feito.

Olá, gostaria que alguém me ajudasse, ocupo o EDITOR DE ITENS Para essa base já que os que encontrei dão erro e quero melhorar muito melhor o projeto

6 horas atrás, Slytherin disse:

Tu não acha que se explica as coisa que foram adicionadas no "UPDATE" seria melhor? 

 

AutoLoot  - presisa add mais pokes!!

Sprits de algums pokes!!

Melhr n map

KaboFlow

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 04/07/17Posts: 434

New Update

03/03/2021

Add Autoloot Mais Pokes N Lista!

New Sprits 

Melhr n map

 

Descarga Update

update.png.1e0cd4ab9937c9a7ecf6c33f2ad3f26d.png

BrunooMaciell

Bruno Maciel
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/08/11Posts: 1919Gênero: MasculinoChar no Tibia: Bruno Maciel
8 minutos atrás, KaboFlow disse:

New Update

03/03/2021

Add Autoloot Mais Pokes N Lista!

New Sprits 

Melhr n map

 

Descarga Update

update.png.1e0cd4ab9937c9a7ecf6c33f2ad3f26d.png

Bom Update!!

 

Continua assim vai ser uma BOA base ;)