Перейти к содержанию
Авторизация  
Na'Vi

SA:MP 0.3.8

Рекомендуемые сообщения

Na'Vi

Добрый день уважаемые пользователи, нужна консультация адекватных людей

 

Мы собираемся разрабатывать samp 0.3.8 с новыми функциями нужно пару советов и исходников 

 

1. Есть ли исходник samp в сети?

 

2. Является ли это нарушением Авторских прав

 

 

Вот эти 2 вопроса интересуют 

 

Просьба не офтопить!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
EgasVegas

Что-то в голос.

Исходников 0.3.7 нету.

Смысл делать 0.3.8?

Разработчики пока болт не ложили.

А так в голосину прокричал.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vsergeenko

1. Есть ли исходник samp в сети?

Можешь забыть, ближайшие несколько лет никто выкладывать исходники не будет.

 

2. Является ли это нарушением Авторских прав

Какого авторского права? Где ты его увидел?

 

нужно пару советов и исходников 

Не обязательно иметь исходники для доработки существующего ПО.

Изменено пользователем JoKeR_2020

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

, Меня интересует вкладка Hosted в SAMP 0.3.7 можно ли как то в клиенте изменить что бы регистрация списка была через мой сайт т.е список серверов во вкладке HOSTED был мой 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vsergeenko

@Na'Vi, перехватываешь функцию send из библиотеки wsock32.dll. На сайте выводишь список с указанием хейдера:

Content-Type: text/plain

...без сжатия и кэширования.

Изменено пользователем JoKeR_2020

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

, Поможешь в skype ? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vsergeenko

@Na'Vi, нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

, Я оплачу мне минут 10-15 времени уделишь 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

@RaMzEsS, А кто тебе сказал что этим буду заниматься я, для этого у меня есть спец. группа разработчиков! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
RaMzEsS

 

 


RaMzEsS, А кто тебе сказал что этим буду заниматься я, для этого у меня есть спец. группа разработчиков! 

Надо уметь быть работящим барином, не только задания раздавать, а еще и самому понимать что это, а то как вообще давать задания?

Уже давно никто не работает в стиле "пацаны, короче мне надо чтоб машина взрывалась вот тут а из нее игрок вылетал как супергерой, потом получите адменко на моем 0.3.8 сервере" 

В общем ничего не выйдет, и это не хэйтерство, а реальность, прежде чем озвучивать такие идеи нужно 30 раз подумать

  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vsergeenko

@Na'Vi, если ты со своей спец. группой разработчиков задаешь вопрос "где найти исходники SA-MP?", то че то у тебя это не разработчики. Дело в том, что если бы исходники были слиты, то уже давно кто нибудь другой занялся продолжаем разработки.

 

UPD: что-то я бред написал в первом предложении

Изменено пользователем JoKeR_2020

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

https://github.com/Sasuke78200/open-samp

 

Если руки прямые, можно допилить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

, Исходники samp 0.3d слиты, возможно от 0.3.7 тоже слиты но некто не искал! 


, Спасибо буду думать 


@RaMzEsS, Мне не сложно этим заняться тем более есть некие навыки,и даже если не получится я ничего не теряю и я не собираюсь переделывать весь SAMP есть пару фишек в задумке которые можно добавить туда! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rustyk

Человек посмотрел на замечательного человека JoKeR_2020, и захотел тоже как-то выделиться в толпе + к тому же, если он будет управлять вкладкой hosted, то он сможет на этом зарабатывать, а почему бы и нет? А потому, нужно хотя бы что-то знать в этой части. Это тебе не QB, в котором всё будет понятно даже человеку, который не знает как пользоваться компуктором, тут сложнее. Но если ты для начала что-нибудь подучишь, а потом в свет будешь изливать свои идеи со вкладкой hosted, управляемой с твоего сайта, то это будет уже другим разговором.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
EgasVegas

[warn=Очистил тему от оффтопа.][/warn]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vsergeenko

к тому же, если он будет управлять вкладкой hosted, то он сможет на этом зарабатывать

Не буду из-за будущих договоренностей SA-MP Team.

 

Исходники samp 0.3d слиты, возможно от 0.3.7 тоже слиты но некто не искал! 

То, что тебе скинули - пользовательская модификация, которая дополняет самп версии 0.3d. Последние исходники, которые утекли в сеть - так это 0.2x, та версия, в которых даже диалогов ещё не было. Я кстати даже их не смог найти в сети, вытащил с винчестера со старого ПК, однако где-то валяются исходники клиента и сервера, у меня же на данный момент есть и arctool, announce, rcon, исходники браузера серверов и многое другое.

Изменено пользователем JoKeR_2020

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

, Уже нашёл полные SDK и Source исходники samp 0.3d буду дорабатывать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vsergeenko

@Na'Vi, ты походу не читаешь мои посты. А SDK - это набор инструментов для работы с сервером из плагина.

 

Цитирую:

 

 


То, что тебе скинули - пользовательская модификация, которая дополняет самп версии 0.3d.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

, Стоп, насколько я знаю Source  это движок клиента правильно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vsergeenko

@Na'Vi, source - в переводе с английского "исходники", ты что-то путаешь с бугорными темами халфы и кс. Покажи мне хоть один кусок кода, который будет означать, что это исходники именно SA-MP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi


/**
* Open SA-MP
*
* SutraPlex Software
*
*/

/**
* Include(s)
*/
#include "../main.h"
#include "class_object.h"

/**
* Constructor #1
*/
CObject::~CObject()
{
RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectDestroy();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_DestroyObject, l_BitStream, 0xFFFFu, 2 );
delete l_BitStream;
}
}

TiXmlElement* CObject::SerializeAttribute ( void )
{
TiXmlElement* l_XmlElement = new TiXmlElement ( "object" );
if ( l_XmlElement )
{
l_XmlElement->SetAttribute ( "model", this->m_uint32_ModelIndex );
l_XmlElement->SetDoubleAttribute ( "x", this->m_Position.X );
l_XmlElement->SetDoubleAttribute ( "y", this->m_Position.Y );
l_XmlElement->SetDoubleAttribute ( "z", this->m_Position.Z );
l_XmlElement->SetDoubleAttribute ( "rx", this->m_Rotation.X );
l_XmlElement->SetDoubleAttribute ( "ry", this->m_Rotation.Y );
l_XmlElement->SetDoubleAttribute ( "rz", this->m_Rotation.Z );

return l_XmlElement;
}
return NULL;
}

void CObject::UnSerializeAttribute ( TiXmlElement* a_XmlElement )
{
a_XmlElement->QueryUnsignedAttribute ( "model", ( unsigned int* )&this->m_uint32_ModelIndex );

tVector* l_Position = new tVector();
if ( l_Position )
{
a_XmlElement->QueryFloatAttribute ( "x", &l_Position->X );
a_XmlElement->QueryFloatAttribute ( "y", &l_Position->Y );
a_XmlElement->QueryFloatAttribute ( "z", &l_Position->Z );

this->SetPosition ( l_Position );
}

tVector* l_Rotation = new tVector();
if ( l_Rotation )
{
a_XmlElement->QueryFloatAttribute ( "rx", &l_Rotation->X );
a_XmlElement->QueryFloatAttribute ( "ry", &l_Rotation->Y );
a_XmlElement->QueryFloatAttribute ( "rz", &l_Rotation->Z );

this->SetRotation ( l_Rotation );
}
}

/**
* CObject::SetElementOwner()
* Set the owner of the element. The Owner is the element who can see the object.
* @a_uint16_ElementOwner: The New Element's Owner.
*/
void CObject::SetElementOwner ( uint16_t a_uint16_ElementOwner )
{
CElement::SetElementOwner ( a_uint16_ElementOwner );

RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectDestroy();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_DestroyObject, l_BitStream, 0xFFFF, 2 );

delete l_BitStream;
l_BitStream = NULL;
}

if ( a_uint16_ElementOwner == 0 )
this->InitializeForAll();
else
this->InitializeForPlayer ( a_uint16_ElementOwner );
}

/**
* CObject::SetElementModel()
* Change the element model.
* @a_uint32_ModelIndex: The New Element's Model.
* @return: True if Model Exist. Else, False.
*/
bool CObject::SetElementModel ( uint32_t a_uint32_ModelIndex )
{
bool l_Return = CElement::SetElementModel ( a_uint32_ModelIndex );

RakNet::BitStream* l_BitStream = NULL;

l_BitStream = ComputeBitStream_ElementObjectDestroy();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_DestroyObject, l_BitStream, 0xFFFFu, 2 );
delete l_BitStream;
l_BitStream = NULL;
}

l_BitStream = ComputeBitStream_ElementObjectSpawn();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_SpawnObject, l_BitStream, 0xFFFF, 2 );
delete l_BitStream;
l_BitStream = NULL;
}
return l_Return;
}

/**
* CObject::SetRotation()
* Set the rotation of the object.
* @a_Rotation: Pointer to a new Rotation Vector.
*/
void CObject::SetRotation ( tVector* a_Rotation )
{
CElement::SetRotation ( a_Rotation );

RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectSetRotation();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_SetObjectRotation, l_BitStream, 0xFFFFu, 2 );
delete l_BitStream;
}
}

/**
* CObject::SetPosition()
* Set the position of the object.
* @a_Position: Pointer to a new Position Vector.
*/
void CObject::SetPosition ( tVector* a_Position )
{
CElement::SetPosition ( a_Position );

RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectSetPosition();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_SetObjectPosition, l_BitStream, 0xFFFFu, 2 );
delete l_BitStream;
}
}

/**
* CObject::SetPosition()
* Update the position of the object and its children on the network.
*/
void CObject::UpdatePosition ( void )
{
CElement::UpdatePosition();

RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectSetPosition();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_SetObjectPosition, l_BitStream, 0xFFFFu, 2 );
delete l_BitStream;
}
}

float CObject::Move ( float a_float_X, float a_float_Y, float a_float_Z, float a_float_Speed )
{
this->m_TargetPosition = new tVector ( a_float_X, a_float_Y, a_float_Z );

this->m_float_MoveSpeed = a_float_Speed;
this->m_uint8_IsMoving |= 1;

float l_float_X = ( ( this->m_TargetPosition->X - this->m_Position.X ) * ( this->m_TargetPosition->X - this->m_Position.X ) );
float l_float_Y = ( ( this->m_TargetPosition->Y - this->m_Position.Y ) * ( this->m_TargetPosition->Y - this->m_Position.Y ) );
float l_float_Z = ( ( this->m_TargetPosition->Z - this->m_Position.Z ) * ( this->m_TargetPosition->Z - this->m_Position.Z ) );

RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectMove();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_MoveObject, l_BitStream, 0xFFFFu, 2 );
delete l_BitStream;
}

return ( sqrt ( l_float_X + l_float_Y + l_float_Z ) / a_float_Speed );
}

float CObject::Move ( tVector* a_Position, float a_float_Speed )
{
this->m_TargetPosition = a_Position;

this->m_float_MoveSpeed = a_float_Speed;
this->m_uint8_IsMoving |= 1;

float l_float_X = ( ( this->m_TargetPosition->X - this->m_Position.X ) * ( this->m_TargetPosition->X - this->m_Position.X ) );
float l_float_Y = ( ( this->m_TargetPosition->Y - this->m_Position.Y ) * ( this->m_TargetPosition->Y - this->m_Position.Y ) );
float l_float_Z = ( ( this->m_TargetPosition->Z - this->m_Position.Z ) * ( this->m_TargetPosition->Z - this->m_Position.Z ) );

RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectMove();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_MoveObject, l_BitStream, 0xFFFFu, 2 );
delete l_BitStream;
}

return ( sqrt ( l_float_X + l_float_Y + l_float_Z ) / a_float_Speed );
}

void CObject::Stop ( void )
{
this->m_uint8_IsMoving &= 0xFEu;

if ( this->m_TargetPosition )
delete this->m_TargetPosition;
}

/**
* CObject::InitializeForPlayer()
* Initialize the object for the specified player.
* @a_uint16_PlayerIndex: Player's Index
*/
void CObject::InitializeForPlayer ( uint16_t a_uint16_PlayerIndex )
{
if ( ( this->m_uint16_ElementOwner == 0 ) || ( this->m_uint16_ElementOwner == a_uint16_PlayerIndex ) )
{
RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectSpawn();
if ( l_BitStream )
{
__NetGame->PlayerRPC ( RPC_SpawnObject, l_BitStream, a_uint16_PlayerIndex, 2 );
delete l_BitStream;
}
}
}

/**
* CObject::InitializeForAll()
* Initialize the object for everyone.
*/
void CObject::InitializeForAll ( void )
{
if ( this->m_uint16_ElementOwner == 0 )
{
RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectSpawn();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_SpawnObject, l_BitStream, 0xFFFF, 2 );
delete l_BitStream;
}
}
}

/**
* CObject::ShowForPlayer()
* Update the network and show the object for the specified player and only. Object's Owner flag is modified.
* @a_uint16_PlayerIndex: The Player's Index.
*/
void CObject::ShowForPlayer ( uint16_t a_uint16_PlayerIndex )
{
RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectSpawn();
if ( l_BitStream )
{
__NetGame->PlayerRPC ( RPC_SpawnObject, l_BitStream, a_uint16_PlayerIndex, 2 );
delete l_BitStream;
l_BitStream = NULL;

this->m_uint16_ElementOwner = a_uint16_PlayerIndex;
}
}

/**
* CObject::ShowForAll()
* Update the network and show the object for everyone. Reset the Object's Owner flag.
*/
void CObject::ShowForAll ( void )
{
RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectSpawn();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_SpawnObject, l_BitStream, 0xFFFF, 2 );
delete l_BitStream;
l_BitStream = NULL;

this->m_uint16_ElementOwner = 0;
}
}

/**
* CObject::HideForPlayer()
* Update the network and hide the object for the specified player. Reset the Object's Owner flag.
* @a_uint16_PlayerIndex: Player's Index.
*/
void CObject::HideForPlayer ( uint16_t a_uint16_PlayerIndex )
{
RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectDestroy();
if ( l_BitStream )
{
__NetGame->PlayerRPC ( RPC_DestroyObject, l_BitStream, a_uint16_PlayerIndex, 2 );
delete l_BitStream;
l_BitStream = NULL;

this->m_uint16_ElementOwner = 0;
}
}

/**
* CObject::HideForAll()
* Update the network and hide the object for everyone. Reset the Object's Owner flag.
*/
void CObject::HideForAll ( void )
{
RakNet::BitStream* l_BitStream = ComputeBitStream_ElementObjectDestroy();
if ( l_BitStream )
{
__NetGame->GlobalRPC ( RPC_DestroyObject, l_BitStream, 0xFFFF, 2 );
delete l_BitStream;
l_BitStream = NULL;

this->m_uint16_ElementOwner = 0;
}
}

/**
* CObject::Process()
* Process the object, Moving and things..
* @a_float_Time: Network Sync Time
*/
uint8_t CObject::Process ( float a_float_Time )
{
uint8_t l_Return = 0;

if ( this->m_uint8_IsMoving & 1 )
{
float l_float_Distance = a_float_Time * this->m_float_MoveSpeed;
float l_float_Remaining = this->GetDistanceFrom ( this->m_TargetPosition );
if ( l_float_Distance >= l_float_Remaining )
{
l_Return |= 1;
this->m_uint8_IsMoving &= ~1;

if ( this->m_Parent )
{
this->m_Position = ( *( this->m_Parent->GetPosition() ) ) + *this->m_TargetPosition;
}
else
{
this->m_Position = *this->m_TargetPosition;
}
}
else
{
l_float_Remaining /= l_float_Distance;

if ( this->m_Parent )
{
this->m_Position += ( *( this->m_Parent->GetPosition() ) ) + ( *this->m_TargetPosition - this->m_Position ) / l_float_Remaining;
//__NetGame->SendClientMessageToAll ( 0xFFFFFFFF, "Update: %f %f %f", this->m_Position.X, this->m_Position.Y, this->m_Position.Z );
}
else
{
this->m_Position += ( *this->m_TargetPosition - this->m_Position ) / l_float_Remaining;
//__NetGame->SendClientMessageToAll ( 0xFFFFFFFF, "Update: %f %f %f", this->m_Position.X, this->m_Position.Y, this->m_Position.Z );
}
}
}
return l_Return;
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vsergeenko

@Na'Vi, это не обозначает, что это именно сурсы самого сампа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

, Ты знаешь C++ давай в скайпе поговорим на эту тему! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vsergeenko

@Na'Vi, а смысл? Исходников SA-MP кроме 0.2x нет и скорее не будет. Можно допиливать этот Open SAMP, но смысл?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

, У меня аудитория 10000 человек, все ждут 0.3.8 т.к я их сбаламутил чем заниматься crmp можно заняться разработкой samp перевести hosted вкладки на наши сервера и  распиарить продукт!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.