[Ajuda] Perminitrar Se Levado Pelo /trazer
#1

Ola Boa Noite Queria Ajuda Para Criar Um Dialog Pedindo Permissгo Do Player Quer Esta Sendo Puxado

Cod Do Comando De Trazer

Код:
dcmd_trazer(playerid, params[])
{
    new tmp[256], idx;
	tmp = strtok(params, idx);

	new id;
	if(!IsNumeric(tmp))
		id = ReturnPlayerID(tmp);
	else
		id = strval(tmp);

	if(!strlen(tmp))
	    return SendClientMessage(playerid, COR_USOCORRETO, "Uso: /trazer [id]");

	if(!IsPlayerConnected(id))
		return SendClientMessage(playerid, COR_ERRO, "ERRO: ID invбlido!");

	if(Player[id][pLogged] == false)
	    return SendClientMessage(playerid, COR_ERRO, "ERRO: Esse jogador nгo estб logado!");

    if(Player[id][pPresoADM] == 1 || Player[id][pPresoSF] == 1 || Player[id][pPresoLV] == 1 || Player[id][pPresoLS] == 1 || Player[id][Penitenciaria] == 1 || Player[id][Penitenciaria] == 1 || Player[id][InHospital] == true || Player[playerid][InHospital] == true || Player[id][InDM] == true || Player[playerid][InDM] == true)
    	return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo pode puxar este player!");

	if(Player[playerid][InDuel] == true)
    return SendClientMessage(playerid, COR_ERRO, "ERRO: Jogador Escolhido estar em Aposta!");

   	if(GetPlayerState(id) == PLAYER_STATE_SPECTATING && Player[id][gSpectateID] != INVALID_PLAYER_ID)
		return SendClientMessage(playerid, COR_ERRO, "SERVER: Erro: Jogador escolhido estб de /olhar em alguйm.");

	if(Player[id][CityAdmin] == true)
	    return SendClientMessage(playerid, COR_ERRO, "ERRO: Este admin estб na cidade dos administradores.");

    if(GetPlayerInterior(playerid) > 0)
		if(IsPlayerInAnyVehicle(id))
			return SendClientMessage(playerid, COR_ERRO, "ERRO: O player que vocк quer puxar estб em um veнculo, nгo se pode trazer veнculos а interiores.");

	if(Player[id][pBtr] == true)
         return SendClientMessage(playerid, COR_ERRO, "ERRO: Este player estб com o /tr Bloqueado");

	if(Player[playerid][pPunORG] == 1)
		return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк foi punido, portanto, nгo pode usar esse comandos");

    if(SlapPlayer[id][Slapping] == true)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo pode puxar este player agora!");

	if(Player[playerid][pAdministrador] >= 1 || Player[playerid][pReporterLS] >= 1 || Player[playerid][pPM] >= 2 || Player[playerid][pGEPE] >= 2 || Player[playerid][pChoque] >= 2 || Player[playerid][pBOPE] >= 2 || Player[playerid][pPuxador] >= 1 || Player[playerid][pOrganizador] >= 1 || Player[playerid][pPresidente] >= 1)
	{
	    Player[id][pInArena] = false;

	    new str[128];

	    format(str, sizeof(str), "** %s trouxe %s", getPName(playerid), getPName(id));
		MensagemLocal(playerid, COR_ROXO, str, 50);

		format(str, sizeof(str), "** %s levou %s", getPName(playerid), getPName(id));
		MensagemLocal(id, COR_ROXO, str, 50);

	    new Float:plocx,Float:plocy,Float:plocz;
		GetPlayerPos(playerid, plocx, plocy, plocz);

		new intid = GetPlayerInterior(playerid);
		SetPlayerInterior(id,intid);

		new world = GetPlayerVirtualWorld(playerid);
		SetPlayerVirtualWorld(id, world);

		if (GetPlayerState(id) == 2)
		{
			new tmpcar = GetPlayerVehicleID(id);
			SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
		}
		else
		{
			SetPlayerPos(id,plocx,plocy+2, plocz);
		}
	}
	else SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo tem permissгo para usar este comando!");

	return 1;
}
Reply
#2

Seria algo como...

Код:
//Insira isto no topo de seu Gamemode:
#define DIALOG_PERMISSION 1

//Insira isto em seu comando de trazer o jogador:
new staffName[MAX_PLAYER_NAME];
GetPlayerName(playerid, staffName, sizeof(staffName));

new string_dialog_permission[160+MAX_PLAYER_NAME];
format(string_dialog_permission, sizeof(string_dialog_permission), "O administrador %s gostaria de trazer vocк atй a sua posiзгo", staffName);
ShowPlayerDialog(id, DIALOG_PERMISSION, DIALOG_STYLE_MSGBOX, "Permissгo", string_dialog_permission, "Autorizar", "Cancelar");

//Insira isto na public OnDialogResponse:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_PERMISSION)
    {
        if(response)
        {
            SendClientMessage(playerid, -1, "Vocк aceitou.");
            SetPlayerPos(playerid, pX, pY, pZ);
        }
        else
        {
            SendClientMessage(playerid, -1, "Vocк recusou!");
        }
        return 1;
    }
    return 0;
}
Nгo esqueзa de declarar as funзхes pX, pY e pZ em nнvel pъblico. Nгo testei o comando.
Reply
#3

Quote:
Originally Posted by Hyrkul
Посмотреть сообщение
Seria algo como...

Код:
//Insira isto no topo de seu Gamemode:
#define DIALOG_PERMISSION 1

//Insira isto em seu comando de trazer o jogador:
new staffName[MAX_PLAYER_NAME];
GetPlayerName(playerid, staffName, sizeof(staffName));

new string_dialog_permission[160+MAX_PLAYER_NAME];
format(string_dialog_permission, sizeof(string_dialog_permission), "O administrador %s gostaria de trazer vocк atй a sua posiзгo", staffName);
ShowPlayerDialog(id, DIALOG_PERMISSION, DIALOG_STYLE_MSGBOX, "Permissгo", string_dialog_permission, "Cancelar", "Autorizar");

//Insira isto na public OnDialogResponse:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_PERMISSION)
    {
        if(response)
        {
            SendClientMessage(playerid, -1, "Vocк aceitou.");
            SetPlayerPos(playerid, pX, pY, pZ);
        }
        else
        {
            SendClientMessage(playerid, -1, "Vocк recusou!");
        }
        return 1;
    }
    return 0;
}
Nгo esqueзa de declarar as funзхes pX, pY e pZ em nнvel pъblico. Nгo testei o comando.
Sу lembrando que o response positivo й o penъltimo argumento do dialog e o falso й o ъltimo
Reply
#4

O cуdigo foi consertado, muito obrigado n0minal.

Andersonsouza, funcionou?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)