11.10.2016, 12:51
(
Последний раз редактировалось Psicotico; 11.10.2016 в 15:28.
)
RESOLVIDO!
A mensagem serб mantida para os outros jogadores que quiserem o comando ou tiverem a mesma dъvida.
Alguйm me dб uma ajuda?
Queria salvar o cargo de quem agendou a cadeia do jogador, mas nгo consigo. Da forma abaixo, apenas mostra no chat (Mensagem global) quem agendou no momento, mas queria salvar isso pra quando o jogador logar, aparecer a mensagem:
"| PRISГO | O(A) (cargo aqui) Fulano te agendou a cumprir 1 minuto(s) de cadeia. Motivo: Teste"
Atualmente, no OnPlayerSpawn, estб assim:
"| PRISГO | O(A) Administrador(a) %s te agendou a cumprir %i minuto(s) de cadeia. Motivo: %s" (Aparece tudo certinho, sу queria trocar o "Administrador(a)" pelo cargo da pessoa que agendou"
Entenderam?
Cуdigos abaixo.
OnPlayerSpawn
CMD:AgendarCadeia
stock AgendarCadeia
Eu definitivamente nгo faзo ideia de como fazer, pois das formas que tentei, aparece inъmeros erros e fico em dъvida se fiz corretamente, e por este motivo prefiro vir pedir ajuda a vocкs experientes
A mensagem serб mantida para os outros jogadores que quiserem o comando ou tiverem a mesma dъvida.
Alguйm me dб uma ajuda?
Queria salvar o cargo de quem agendou a cadeia do jogador, mas nгo consigo. Da forma abaixo, apenas mostra no chat (Mensagem global) quem agendou no momento, mas queria salvar isso pra quando o jogador logar, aparecer a mensagem:
"| PRISГO | O(A) (cargo aqui) Fulano te agendou a cumprir 1 minuto(s) de cadeia. Motivo: Teste"
Atualmente, no OnPlayerSpawn, estб assim:
"| PRISГO | O(A) Administrador(a) %s te agendou a cumprir %i minuto(s) de cadeia. Motivo: %s" (Aparece tudo certinho, sу queria trocar o "Administrador(a)" pelo cargo da pessoa que agendou"
Entenderam?
Cуdigos abaixo.
OnPlayerSpawn
Код:
public OnPlayerSpawn(playerid) { Erro[playerid] = 0; TogglePlayerSpectating(playerid, false); TogglePlayerControllable(playerid, true); SetCameraBehindPlayer(playerid); if(SpawnPos[playerid] == true) SetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]), SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPosA]), SpawnPos[playerid] = false, SetPlayerCameraPos(playerid, PlayerInfo[playerid][pCamX], PlayerInfo[playerid][pCamY], PlayerInfo[playerid][pCamZ]), SetPlayerInterior(playerid, PlayerInfo[playerid][pInterior]); format(File, 56, "pAdmin/Agendados/%s.ini", pNomeOriginal[playerid]); if(DOF2_FileExists(File)) { format(Str, 256, "| PRISГO | O(A) Administrador(a) %s te agendou a cumprir %i minuto(s) de cadeia. Motivo: %s", DOF2_GetString(File, "Administrador"), DOF2_GetInt(File, "Tempo"), DOF2_GetString(File, "Motivo")); printf("%s", Str); SendClientMessage(playerid, CorErro, Str); DOF2_RemoveFile(File); } if(PlayerInfo[playerid][pCongelado] == true) TogglePlayerControllable(playerid, false); return 1; }
Код:
CMD:agendarcadeia(playerid, params[]) { new Cargo[256]; if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, CorErro, "| ERRO | Comando invбlido."); new Nome[24]; if(sscanf(params, "s[24]is[56]", Nome, ID, Motivo)) return SendClientMessage(playerid, CorErroNeutro, "Use: /AgendarCadeia [CONTA] [TEMPO EM MINUTOS] [MOTIVO]"); new ID1 = GetPlayerID(Nome); if(IsPlayerConnected(ID1)) return SendClientMessage(playerid, CorErro, "| ERRO | Este jogador estб conectado, use /Cadeia."); format(File, sizeof(File), "pAdmin/Contas/%s.ini", Nome); if(!DOF2_FileExists(File)) return SendClientMessage(playerid, CorErro, "| ERRO | Esta conta nгo existe."); switch(PlayerInfo[playerid][pAdmin]) { case 1: Cargo = "Ajudante"; case 2: Cargo = "Moderador(a)"; case 3: Cargo = "Administrador(a)"; case 4: Cargo = "Desenvolvedor"; } format(Str, sizeof(Str), "| PRISГO | O(A) %s %s agendou a prisгo de %s por %i minutos. Motivo: %s", Cargo, pNomeOriginal[playerid], Nome, ID, Motivo); SendClientMessageToAll(Vermelho, Str); AgendarCadeia(Nome, ID, playerid, Motivo); //colocar pra salvar cargo na pasta e puxar o cargo ao player logar return 1; }
Код:
stock AgendarCadeia(playerid[], tempo, administrador, Motivo1[]) { if(tempo < 0) { format(File, 56, "pAdmin/Contas/%s.ini", playerid); new TempoAtual = DOF2_GetInt(File, "pCadeia"); if(tempo * -1 >= TempoAtual / 60) { DOF2_SetInt(File, "pCadeia", 0); DOF2_SaveFile(); format(File, 56, "pAdmin/Agendados/%s.ini", playerid); if(DOF2_FileExists(File)) DOF2_RemoveFile(File); return 0; } else { new tempo1 = tempo * -1 * 60; TempoAtual -= tempo1; DOF2_SetInt(File, "pCadeia", TempoAtual); DOF2_SaveFile(); format(File, 56, "pAdmin/Agendados/%s.ini", playerid); if(DOF2_FileExists(File)) DOF2_SetInt(File, "Tempo", DOF2_GetInt(File, "Tempo") - tempo * -1), DOF2_SaveFile(); return 0; } } if(tempo > 0) { format(File, 56, "pAdmin/Contas/%s.ini", playerid); if(DOF2_GetInt(File, "pCadeia") > 0) { new Tempo9; Tempo9 = tempo * 60; DOF2_SetInt(File, "pCadeia", DOF2_GetInt(File, "pCadeia") + Tempo9); DOF2_SaveFile(); } else { DOF2_SetInt(File, "pCadeia", tempo * 60); DOF2_SaveFile(); } format(File, 56, "pAdmin/Agendados/%s.ini", playerid); if(!DOF2_FileExists(File)) { DOF2_CreateFile(File); DOF2_SetInt(File, "Tempo", tempo); DOF2_SetString(File, "Administrador", pNomeOriginal[administrador]); DOF2_SetString(File, "Motivo", Motivo1); DOF2_SaveFile(); } else { new ADM[24], Motivo2[56], Tempo1; format(ADM, 24, DOF2_GetString(File, "Administrador")); format(Motivo2, 56, DOF2_GetString(File, "Motivo")); Tempo1 = DOF2_GetInt(File, "Tempo"); format(Str, 256, "%s | %s", ADM, pNomeOriginal[administrador]); DOF2_SetString(File, "Administrador", Str); format(Str, 256, "%s | %s", Motivo2, Motivo1); DOF2_SetString(File, "Motivo", Str); DOF2_SetInt(File, "Tempo", tempo + Tempo1); DOF2_SaveFile(); } } return 1; }