11.06.2012, 17:17
(
Последний раз редактировалось Heaven_BR; 11.06.2012 в 18:51.
)
Pessoal, sou programador em C e jб tive experiкncia com os emuladores Cronus/(e/br)Athena de Ragnarok. Estou querendo desenvolver a profissгo de maquinista ferroviбrio com essas caracterнsticas:
Pбtio Proposto - Existente(Essa casinha nгo й necessбria):
Possнvel tipo de Sinalizaзгo(Ordem das luzes nгo seria essa):
Gostaria que me desse as coordenadas iniciais. Como comeзo, onde devo editar, quais sistemas jб posso usar para me facilitar...
Pelo que eu estava vendo das funзхes do SA-MP, estava querendo comeзar assim:
Vou esboзar aqui o script...
- Como na vida real, haveria um Centro de Controle Operacional(CCO), que seria controlado pelo computador
- Haveriam somente o trens de passageiros em uma rota ъnica, com um ъnico sentido, mas com paradas diferentes
- Haveria semбforos ferroviбrios a cada trecho e na saнda dos pбtios e de cada respectiva "vaga".
- Ao furar o semбforo do pбtio o jogador voltaria automaticamente para a tela de seleзгo de classe e seu trem desapareceria
- Ao furar o semбforo na linha, ele poderia voltar e esperar no seu trecho. Caso essa "furada" tenha causado um acidente, todos os trens que foram acidentados seriam retirados da linha e todos jogadores iriam ganhar o $ e o rank respectivo se tivessem terminado a rota. Exceto o que causou o acidente, que nгo poderia utilizar a classe por uma semana.
- [strike]O tamanho de cada trecho seria o tamanho fixo dos trens. [/strike]
- O semбforo ferroviбrio, como o dos automуveis, teria 3 luzes: a verde, a amarela e a vermelha.(Os semбforos ferroviбrios nгo sгo assim, mas dessa forma fica mais fбcil de entender)
- Nas Estaзхes os trens seriam distribuнdos nas vias disponнveis, a fim de nгo causar um engarrafamento
- Se alguйm passa por um semбforo verde, o trecho seria denominado "Trecho Verde". Se alguйm passa por um semбforo amarelo, o trecho seria denominado "Trecho Amarelo". Se alguйm passa por um semбforo Vermelho, o trecho seria denominado "Trecho Vermelho".
- Vermelho e Amarelo simultaneamente indicando a velocidade baixa para troca de via.
- A velocidade em trechos verdes seria a mбxima possнvel sem descarrilamento(acho que й 45 km/h pelos testes que fiz no sistema de missхes do GTA original)
- Os trechos seriam amarelos quando o prуximo fosse vermelho, assim, a velocidade mбxima seria a metade para dar tempo de frenagem
- Em trechos amarelos, a metade.
- Em trechos vermelhos, nгo seria permitida a entrada sendo submetido ao item 5.
- Seriam construнdas novas Estaзхes a fim de ter uma maior possibilidade de paradas
- Caso um trem nгo necessite parar em determinada estaзгo e haja outra via para ultrapassagem, o CCO habilitaria esse movimento, logo ao final da Estaзгo, voltaria para via principal.
- Na primeira viagem, o maquinista iria para uma linha-teste em que receberia as instruзхes como: nгo deve ultrapassar semбforos vermelhos de forma alguma, sу deve andar com a metade da velocidade em trechos amarelos, a distвncia que deve comeзar a freiar para parar corretamente junto а Estaзгo. Apуs, serб feito um teste. Se passar, irб para um trem em um pбtio(se houver vaga). Se nгo, poderб fazer o teste novamente ou voltar para receber as instruзхes
- Nas estaзхes que seriam construнdas pelas equipe do TOB, deveriam haver mais vias para desvio e/ou parada.
- Nos pбtios, cada trem seria liberado de uma vez, por ordem de quem entrou primeiro.
- A troca de via deveria ser feita em baixa velocidade
- O semбforo, ao invйs de fixo, poderia ser um texto que ficaria prуximo ao velocнmetro e quando mudasse de estado seria mostrada uma mensagem no centro da tela. Neste caso, sу ficaria amarela quando estivesse a Xm do prуximo trem. E vermelho quando estivesse MUITO prуximo.
Pбtio Proposto - Existente(Essa casinha nгo й necessбria):
Possнvel tipo de Sinalizaзгo(Ordem das luzes nгo seria essa):
Gostaria que me desse as coordenadas iniciais. Como comeзo, onde devo editar, quais sistemas jб posso usar para me facilitar...
Pelo que eu estava vendo das funзхes do SA-MP, estava querendo comeзar assim:
- Dirigibilidade - Spawnar o trem com os vagхes dentro do pбtio
- Alocaзгo - Alocar dentro das vagas disponнveis no pбtio a partir da tela de seleзгo de classes
- Sinalizaзгo - Fazer a sinalizaзгo do sistema
- Retirar, indenizar e punir envolvidos em acidente, retirando imediatamente todos trens colididos.
- Roteirizaзгo - Criar as rotas
Vou esboзar aqui o script...
Код:
new Float:RandomTrain[][6] = { // Positions, (ModelID, X, Y, Z and Facing Angle, Ocupation) //0 -> nгo existe {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0} }; public GetFreeMaquinista( ) { new i; //0 -> nгo existe while(RandomTrain[rand][5] && i <= sizeof(RandomTrain)) { new rand = random(sizeof(RandomTrain)); i++; } else if(i > sizeof(RandomTrain)) { } } public OnMaquistaInit( ) { new vaga=GetFreeMaquinista(); // Add a Train to the game if are a place empty if(vaga) { //CreateVehicle(RandomTrain[rand][0], RandomTrain[rand][1], RandomTrain[rand][2], RandomTrain[rand][3], RandomTrain[rand][4], 0, 0, 0); //AddStaticVehicleEx RandomTrain[rand][5] = 1; //AttachTrailerToVehicle //PutPlayerInVehicle return 1; } else return 0; }