[AJUDA] /Soltar
#1

Tipo, o jogador nгo estб preso, e quando o advogado digita '/Soltar [AlgumID]' ae a pessoa spawna na casa, mesmo nгo estando preso!

Eu queria que sу puder-se soltar, sу se estiver-se preso, nгo estou conseguindo fazer isso, mas creio que seja muito simples... Se puderem me ajudar, agradeзo.

pawn Код:
if(strcmp(cmd, "/soltar", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(dini_Int(file, "aAdmin") == 1 || dini_Int(file, "Profissao") == Advogado || dini_Int(file, "Profissao") == Presidente || dini_Int(file, "Profissao") == Prefeito || IsPlayerAdmin(playerid)){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "(ERRO) Use: /soltar [id]");
return 1;
}
plid = strval(tmp);
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid, Vermelho, "(ERRO) O jogador nгo estб online");
return 1;
} else {
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
SendClientMessage(plid, Aviso, string);
dini_IntSet(file2, "Preso", 0);
preso[plid] = 0;
SetPlayerHealth(plid,100);
Preso[plid] = 0;
algemado[plid] = 0;
SpawnPlayer(plid);
SendClientMessage(playerid, COLOR_GREEN, "(INFO) Jogador Solto !");
return 1;
}
} else {
SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo й um Advogado");
return 1;
}
}
Reply
#2

Identa os cуdigos cara

pawn Код:
if(strcmp(cmd, "/soltar", true) == 0)
{
    new aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
    format(file, sizeof(file), PASTA_CONTAS, aname);
    if(dini_Int(file, "aAdmin") == 1 || dini_Int(file, "Profissao") == Advogado || dini_Int(file, "Profissao") == Presidente || dini_Int(file, "Profissao") == Prefeito || IsPlayerAdmin(playerid))
    {
        new tmp[256];
        new plid;
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
            return SendClientMessage(playerid, Vermelho, "(ERRO) Use: /soltar [id]");

        plid = strval(tmp);
        if(!IsPlayerConnected(plid))
            return SendClientMessage(playerid, Vermelho, "(ERRO) O jogador nгo estб online");
        if(Preso[plid] == 0)
            return SendClientMessage(playerid, Vermelho, "(ERRO) O jogador nгo estб preso");

        new pname[MAX_PLAYER_NAME];
        GetPlayerName(plid, pname, MAX_PLAYER_NAME);
        format(file2, sizeof(file2), PASTA_CONTAS, pname);
        SendClientMessage(plid, Aviso, string);
        dini_IntSet(file2, "Preso", 0);
        preso[plid] = 0;
        SetPlayerHealth(plid,100);
        Preso[plid] = 0;
        algemado[plid] = 0;
        SpawnPlayer(plid);
        SendClientMessage(playerid, COLOR_GREEN, "(INFO) Jogador Solto !");
        return 1;
    }
    else
        return SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo й um Advogado");

    return 1;
}
Reply
#3

Pega a variavel preso

pawn Код:
preso[plid]
Cria um if.

pawn Код:
if(Preso[plid] == 0) return SendClientMessage("O fulano ja esta solto")
Assim antes de soltar vai verificar se o preso esta preso ou nao, pelo seu codigo vai soltar a pesoa mas nao tem nada que check se a pessoa esta presa ou nao...

@edit...
N vi post do vini...

Vini ensina ao inves de dar o codigo pronto que nem o Lуs Falou la no outro topico, por isso q o povo n aprende D:
Reply
#4

pawn Код:
if(strcmp(cmd, "/soltar", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(dini_Int(file, "aAdmin") == 1 || dini_Int(file, "Profissao") == Advogado || dini_Int(file, "Profissao") == Presidente || dini_Int(file, "Profissao") == Prefeito || IsPlayerAdmin(playerid)){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "(ERRO) Use: /soltar [id]");
return 1;
}
plid = strval(tmp);
if(preso[plid] == 0) return SendClientMessage(playerid, Vermelho, "(ERRO) O jogador nгo estб preso.");// AQUI ELE CHECA SE A VARIБVEL PRESO DO ID QUE FOI DIGITADO Й 0.
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid, Vermelho, "(ERRO) O jogador nгo estб online");
return 1;
} else {
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
SendClientMessage(plid, Aviso, string);
dini_IntSet(file2, "Preso", 0);
preso[plid] = 0;
SetPlayerHealth(plid,100);
Preso[plid] = 0;
algemado[plid] = 0;
SpawnPlayer(plid);
SendClientMessage(playerid, COLOR_GREEN, "(INFO) Jogador Solto !");
return 1;
}
} else {
SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo й um Advogado");
return 1;
}
}
A identaзгo ajuda no entendendimento do cуdigo.

Quote:
Originally Posted by [KoS]Izaac
Посмотреть сообщение
Pega a variavel preso

pawn Код:
preso[plid]
Cria um if.

pawn Код:
if(Preso[plid] == 0) return SendClientMessage("O fulano ja esta solto")
Assim antes de soltar vai verificar se o preso esta preso ou nao, pelo seu codigo vai soltar a pesoa mas nao tem nada que check se a pessoa esta presa ou nao...

@edit...
N vi post do vini...

Vini ensina ao inves de dar o codigo pronto que nem o Lуs Falou la no outro topico, por isso q o povo n aprende D:
Isso vai dar erro sem parametros de cor e id.

O vini editou o post dele, antes sу tava mandando identar, por isso postei antes.
Reply
#5

Quote:
Originally Posted by Los
Посмотреть сообщение
pawn Код:
if(strcmp(cmd, "/soltar", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(dini_Int(file, "aAdmin") == 1 || dini_Int(file, "Profissao") == Advogado || dini_Int(file, "Profissao") == Presidente || dini_Int(file, "Profissao") == Prefeito || IsPlayerAdmin(playerid)){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "(ERRO) Use: /soltar [id]");
return 1;
}
plid = strval(tmp);
if(preso[plid] == 0) return SendClientMessage(playerid, Vermelho, "(ERRO) O jogador nгo estб preso.");// AQUI ELE CHECA SE A VARIБVEL PRESO DO ID QUE FOI DIGITADO Й 0.
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid, Vermelho, "(ERRO) O jogador nгo estб online");
return 1;
} else {
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
SendClientMessage(plid, Aviso, string);
dini_IntSet(file2, "Preso", 0);
preso[plid] = 0;
SetPlayerHealth(plid,100);
Preso[plid] = 0;
algemado[plid] = 0;
SpawnPlayer(plid);
SendClientMessage(playerid, COLOR_GREEN, "(INFO) Jogador Solto !");
return 1;
}
} else {
SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo й um Advogado");
return 1;
}
}
A identaзгo ajuda no entendendimento do cуdigo.



Isso vai dar erro sem parametros de cor e id.

O vini editou o post dele, antes sу tava mandando identar, por isso postei antes.
Eu sei so tava mostrando pra ele, tem mt coisa ae q vai da erro comeзando q eu nem pus ponto e virgula, nao pus playerid etc so tava mostrando a funзao msm pra ele...
Reply
#6

pawn Код:
if(strcmp(cmd, "/soltar", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(dini_Int(file, "aAdmin") == 1 || dini_Int(file, "Profissao") == Advogado || dini_Int(file, "Profissao") == Presidente || dini_Int(file, "Profissao") == Prefeito || IsPlayerAdmin(playerid)){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "(ERRO) Use: /soltar [id]");
return 1;
}
plid = strval(tmp);
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid, Vermelho, "(ERRO) O jogador nгo estб online");
return 1;
} else {
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
SendClientMessage(plid, Aviso, string);
dini_IntSet(file2, "Preso", 0);
preso[plid] = 0;
SetPlayerHealth(plid,100);
Preso[plid] = 0;
algemado[plid] = 0;
SendClientMessage(playerid, COLOR_GREEN, "(INFO) Jogador Solto !");
return 1;
}
} else {
SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo й um Advogado");
return 1;
}
}
Nossa , se matando pra tirar um errinho besta desse '-'..

Era so tirar : SpawnPlayer(plid);
Pega esse cod. e troca pelo o do seu gm '-'
Reply
#7

Quote:
Originally Posted by [LF]PlaYer
Посмотреть сообщение
pawn Код:
if(strcmp(cmd, "/soltar", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(dini_Int(file, "aAdmin") == 1 || dini_Int(file, "Profissao") == Advogado || dini_Int(file, "Profissao") == Presidente || dini_Int(file, "Profissao") == Prefeito || IsPlayerAdmin(playerid)){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "(ERRO) Use: /soltar [id]");
return 1;
}
plid = strval(tmp);
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid, Vermelho, "(ERRO) O jogador nгo estб online");
return 1;
} else {
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
SendClientMessage(plid, Aviso, string);
dini_IntSet(file2, "Preso", 0);
preso[plid] = 0;
SetPlayerHealth(plid,100);
Preso[plid] = 0;
algemado[plid] = 0;
SendClientMessage(playerid, COLOR_GREEN, "(INFO) Jogador Solto !");
return 1;
}
} else {
SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo й um Advogado");
return 1;
}
}
Nossa , se matando pra tirar um errinho besta desse '-'..

Era so tirar : SpawnPlayer(plid);
Pega esse cod. e troca pelo o do seu gm '-'
Vocк leu o post pelo menos? Ele quer que antes do advogado soltar o player, ele check se o cara estб preso ou nгo, leia os posts acima.
Reply
#8

Quote:
Originally Posted by Los
Посмотреть сообщение
Vocк leu o post pelo menos? Ele quer que antes do advogado soltar o player, ele check se o cara estб preso ou nгo, leia os posts acima.
Li sim..
nao todo .__. pera..

pawn Код:
if(strcmp(cmd, "/soltar", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(dini_Int(file, "aAdmin") == 1 || dini_Int(file, "Profissao") == Advogado || dini_Int(file, "Profissao") == Presidente || dini_Int(file, "Profissao") == Prefeito || IsPlayerAdmin(playerid)){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "(ERRO) Use: /soltar [id]");
return 1;
}
plid = strval(tmp);
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid, Vermelho, "(ERRO) O jogador nгo estб online");
return 1;
} else {
if(preso[plid] == 0) return SendClientMessage(playerid, Vermelho, "[x] Vocк nгo pode soltar quem ja estб solto..");
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
SendClientMessage(plid, Aviso, string);
dini_IntSet(file2, "Preso", 0);
preso[plid] = 0;
SetPlayerHealth(plid,100);
Preso[plid] = 0;
algemado[plid] = 0;
SendClientMessage(playerid, COLOR_GREEN, "(INFO) Jogador Solto !");
return 1;
}
} else {
SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo й um Advogado");
return 1;
}
}
Testado e funcionando!
Reply
#9

Quote:
Originally Posted by [KoS]Izaac
Посмотреть сообщение
Vini ensina ao inves de dar o codigo pronto que nem o Lуs Falou la no outro topico, por isso q o povo n aprende D:
Cada um sabe o que quer da vida.
Se ele quer um cуdigo pronto, que seja, sу nгo me responsabilizo se ele nгo sair do lugar no mundo do pawn.

Se realmente fossem interessados, aprenderiam sozinhos, assim como eu fiz - sem forum.
Reply
#10

Calma D: Foi so uma sugestao '-'
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)