[Ajuda]Comando /agendar - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda]Comando /agendar (
/showthread.php?tid=337751)
[Ajuda]Comando /agendar -
Matheus_Ecko - 27.04.2012
Eu estou a tentar a fazer um comando. Ele funciona assim. O administrador usa /agendar [nome do player] [tempo]. Este comando serve para um administrador agendar o player na cadeia, o comando serve somente se o player estiver off e quando ele entrar ele seria automaticamente enviado para a cadeia adm.
pawn Код:
//>-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
if(strcmp(cmd, "/cadeia",true) == 0)
{
if(IsPlayerConnected(playerid))
{
new tempo[20];
new tempo2;
if(PlayerInfo[playerid][pAdmin] < 2)
{
SendClientMessage(playerid, COLOR_GREY, " Vocк nгo esta autorizado para usar este comando!");
return true;
}
tmp = strtok(cmdtext, idx);
tempo = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [id] [Tempo] [Motivo]");
return true;
}
if(!strlen(tempo))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [id] [Tempo] [Motivo]");
return true;
}
if(admtrampando[playerid] < 1)
{
SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/jogar)");
return true;
}
giveplayerid = ReturnUser(tmp);
tempo2 = strval(tempo);
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[100];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Admin %s colocou %s na Cadeia, por %s minutos, Motivo: %s",PlayerName(playerid), giveplayer, tempo, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
ResetPlayerWeaponsEx(giveplayerid);
OnPlayerUpdate(giveplayerid);
PlayerInfo[giveplayerid][pJailed] = 6;
PlayerInfo[giveplayerid][pJailTime] = tempo2 * 60;
SetPlayerInterior(giveplayerid, 5);
SetPlayerPos(giveplayerid, 318.5804,316.9043,999.1484);
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " O jogador estб offline !");
return true;
}
}
return true;
}
Re: [Ajuda]Comando /agendar -
Jason` - 27.04.2012
Nгo vou lhe dar cуdigo pronto, pois estou sem tempo, tenho aula jб..
Porйm, podes utilizar o cуdigo abaixo para verificar se um jogador esta online pelo nome.
pawn Код:
stock IsPlayerOnline ( const _name [ ] )
{
new bool: yesno = false ;
new name [ 24 ] ;
for ( new p ; p != GetMaxPlayers ( ) ; ++p ) {
if ( IsPlayerConnected ( p ) ) {
GetPlayerName ( p , name , sizeof ( name ) ) ;
if ( !strcmp ( name , _name , true ) ) {
yesno = true ;
}
}
}
return yesno ;
}
Tente concluir seu sistema com base neste cуdigo.
Re: [Ajuda]Comando /agendar -
Matheus_Ecko - 27.04.2012
eu tentei de uns mil geito e n resulta em nada poderiam me ajudar ai.