Programação em Py
Eae galera, nesse post irei explicar alguns códigos da programação em Python..
• Não é difícil, se você entender, poderá ser um dia, um grande programador!
Bem, vou explicar um comando, somente, para dar uma idéia à vocês.
Comando a ser explicado (Não está alinhado, mas não faz mal. Não é um post de Novo Comando.. Só irei explicar ele mesmo.):
elif event.startswith("mapm "):
if self.privilegeLevel>=5:
if EVENTCOUNT >= 2:
message = event_raw.split(" ", 1)[1]
for room in self.server.rooms.values():
if room.name == self.room.name:
for playerCode, client in room.clients.items():
client.sendData("\x1A" + "\x04", ["• [Mapcrew "+self.username+"] "+message+""])
Bem, esse comando, quando acionado, no seu Transformice, sairá assim: • [Mapcrew SeuNome] SuaMensagem
É um comando bem simples, ele manda uma mensagem, na sala em que você está, não no server inteiro. Agora, explicando o comando:
elif event.startswith("mapm "): ~
Isso significa que se o comando (event) começar
(.startswith("ComOQueEleDeveComeçar")) com mapm, irá mandar uma mensagem
(message) para a sala com o '• [Mapcrew]' seguido de seu nome e a
mensagem.
if self.privilegeLevel>=5:
~ Significa que se (if) o privilégio do usuário (privilegeLevel) que
está executando este comando, ser maior ou igual à 5 (>= 5), o
comando continuará, senão, não.
if EVENTCOUNT >= 2: ~
Significa: len(EVENTRAWSPLIT), significa que se (if) o tamanho (len) do
event_raw.split() (EVENTRAWSPLIT) for maior ou igual à 2 (>= 2), o
comando continua, senão, não.
message = event_raw.split(" ", 1)[1] ~
Isso significa, que a mensagem (message) vai estar há um espaço do
comando acionado, explicando: event_raw, na sua source, se define em
event.strip(), .strip() retira os ESPAÇOS de uma string (palavra), e o
.split(), adiciona o argumento ao lado da string, no caso, o argumento é
o espaço (.split(" ", 1)[1]), se vocês já perceberam, o espaço está
entre as aspas (" "), então deduzimos que, a mensagem, estará há um
espaço do comando, simples, não?
for room in self.server.rooms.values():
~ Significa, que para (for) a sala (room) nos (in) valores das salas
(server.rooms.values), se (if) o nome da sala (room.name) for igual à
(==) o nome da sala em que está (self.room.name) o player (playerCode),
se o playerCode for válido nos itens da sala (room.client.items), irá
executar o comando, enviando a mensagem para a sala
(client.sendData("\x1A" + "\x04", ["•
[Mapcrew "+self.username+"] "+message+""])).
Bem, o +self.username+ no comando, é o nome do usuário que estará executando o comando, e +message+, adiciona a mensagem que o usuário mandou, no comando, por UM espaço.
Bem, é isso, pode ser um pouco complicado, mas se ter atenção, vai entender, e terá uma boa base.