Jump to content

Question

Posted

Problema intalnita (descriere):Am creeat comanda /aod , insa , as dorii ca atunci cand tastezi [/aod] si te pui On Duty , sa apari cu o culoare pe mini-map.Va multumesc!
Ero(area / rile) / warning-(ul / urile):-
Liniile de cod / sursa / script-ul:-
Imagini / Video (optional):-
Ati incercat sa rezolvati singur?:Da.Nu am reusit.

14 answers to this question

Recommended Posts

  • 0
Posted (edited)

SetPlayerColor(playerid, 0xFF0000AA); // 0xFF0000AA - Rosu

Edited by Ph0eniX
public OnPlayerConnect(playerid)
{
	print("[ERROR] - Unable to establish a connection with the world...");
	SendRconCommand("exit");
	return 1;
}

 

  • 0
Posted

SetPlayerColor(playerid, 0xFF0000AA); // 0xFF0000AA - Rosu

 

Am acest lucru in comanda [/aod].

Uite,aceasta este comanda , eu nu vreau culoare la nume , vreau ca atunci cand tastezi [/aod] sa apara un checkpoint pe minimapa , la fel ca la checkpointurile de al un job/dmv,etc.

Mai precis , sa apara un patratel ''roz'' pe mini-map , numai atunci cand tastezi [/aod].Imi cer scuze ca nu stiu chiar cum sa va explic.Sper ca ati inteles.

if(!strcmp(cmdtext, "/aod", true) || !strcmp(cmdtext, "/aduty", true)) // By MrAndrei
	{
		if(IsPlayerConnected(playerid))
		{
		    if(gPlayerLogged[playerid] == 0)
		    {
		        SendClientMessage(playerid, COLOR_GREY, "[Eroare]: You need to login first !");
				return 1;
		    }
		    new admtext[64];
      		if(PlayerInfo[playerid][pAdmin] == 6) { admtext = "Owner"; }
            else if(PlayerInfo[playerid][pAdmin] == 5) { admtext = "Co-Owner"; }
            else if(PlayerInfo[playerid][pAdmin] == 4) { admtext = "Moderator"; }
            else if(PlayerInfo[playerid][pAdmin] == 3) { admtext = "Super-Admin"; }
            else if(PlayerInfo[playerid][pAdmin] == 2) { admtext = "Regular Admin"; }
		    else if(PlayerInfo[playerid][pAdmin] == 1) { admtext = "Trial Admin"; }
		    else { admtext = "Owner"; }
		    if(PlayerInfo[playerid][pAdmin] > 0)
		    {
		        if(AdminDuty[playerid] == 0)
		        {
		            AdminDuty[playerid] = 1;
					SetPlayerHealth(playerid, 99999);
					SetPlayerArmour(playerid, 99999);
					SetPlayerColor(playerid, 0xFFB9DCFF);
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), " %s [ID:%d] is now on duty as an %s.Please /w him if you need help.",sendername,playerid,admtext);
					SendClientMessageToAll(COLOR_LIGHTRED,string);
					if(PlayerInfo[playerid][pAdmin] >= 5)
					{
					    for(new i = 0; i < sizeof(CarInfo); i++)
						{
							SetVehicleParamsForPlayer(i,playerid,0,0);
						}
					}
					return 1;
		        }
		        else if(AdminDuty[playerid] == 1)
		        {
		            AdminDuty[playerid] = 0;
		            SetPlayerArmour(playerid, 0);
					SetPlayerHealth(playerid, 100);
					SetPlayerToTeamColor(playerid);
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), " %s [ID:%d] is no longer on duty as an %s.Please not /w him.", sendername,playerid,admtext);
					SendClientMessageToAll(COLOR_WHITE,string);
					return 1;
		        }
		    }
		    else
		    {
		        SendClientMessage(playerid, COLOR_GREY, "[Eroare]: You're not the admin !");
		        return 1;
		    }
		}
	    return 1;
	}
  • 0
Posted (edited)

Incearca sa adaugi asta(cu modificarile de rigoare normal). Ti-am explicat exact ce inseamna fiecare lucru.

// Face jucatorul cu id 42 sa vada jucatorul cu id 1 pe radar, culoarea 0xFF0000FF
SetPlayerMarkerForPlayer( 42, 1, 0xFF0000FF );

Ar trebui sa faci ceva de genul asta:

for(new i; i < MAX_PLAYERS; i++)
{
    if(playerid != i) { SetPlayerMarkerForPlayer(i, playerid, 0xFFB6C1FF); }
}

Sa arati la toti jucatorii pe radar unde e adminul, adminului nu ii va aparea pe radar locatia lui marcata ca ar fi chiar absurd, stie deja unde e :lol:. Nu e testat codul dar ar trebui sa mearga.

Edited by Nightkill
  • 0
Posted

Incearca sa adaugi asta(cu modificarile de rigoare normal). Ti-am explicat exact ce inseamna fiecare lucru.

// Face jucatorul cu id 42 sa vada jucatorul cu id 1 pe radar, culoarea 0xFF0000FF
SetPlayerMarkerForPlayer( 42, 1, 0xFF0000FF );

Ar trebui sa faci ceva de genul asta:

for(new i; i < MAX_PLAYERS; i++)
{
    if(playerid != i) { SetPlayerMarkerForPlayer(i, playerid, 0xFFB6C1FF); }
}

Sa arati la toti jucatorii pe radar unde e adminul, adminului nu ii va aparea pe radar locatia lui marcata ca ar fi chiar absurd, stie deja unde e :lol:. Nu e testat codul dar ar trebui sa mearga.

 

Am adaugat ce mi-ai dat tu la comanda [/aod] la AdminDuty==1 , insa tot nu merge.Alta modalitate , te rog ?

  • 0
Posted (edited)

Ai adaugat ce ti-a dat el dupa mesajul care anunta server-ul ca esti on duty ca admin ?

 

I-a vezi asa :

if(!strcmp(cmdtext, "/aod", true) || !strcmp(cmdtext, "/aduty", true)) // By MrAndrei
	{
		if(IsPlayerConnected(playerid))
		{
		    if(gPlayerLogged[playerid] == 0)
		    {
		        SendClientMessage(playerid, COLOR_GREY, "[Eroare]: You need to login first !");
				return 1;
		    }
		    new admtext[64];
      		if(PlayerInfo[playerid][pAdmin] == 6) { admtext = "Owner"; }
            else if(PlayerInfo[playerid][pAdmin] == 5) { admtext = "Co-Owner"; }
            else if(PlayerInfo[playerid][pAdmin] == 4) { admtext = "Moderator"; }
            else if(PlayerInfo[playerid][pAdmin] == 3) { admtext = "Super-Admin"; }
            else if(PlayerInfo[playerid][pAdmin] == 2) { admtext = "Regular Admin"; }
		    else if(PlayerInfo[playerid][pAdmin] == 1) { admtext = "Trial Admin"; }
		    else { admtext = "Owner"; }
		    if(PlayerInfo[playerid][pAdmin] > 0)
		    {
		        if(AdminDuty[playerid] == 0)
		        {
		            AdminDuty[playerid] = 1;
					SetPlayerHealth(playerid, 99999);
					SetPlayerArmour(playerid, 99999);
					SetPlayerColor(playerid, 0xFFB9DCFF);
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), " %s [ID:%d] is now on duty as an %s.Please /w him if you need help.",sendername,playerid,admtext);
					SendClientMessageToAll(COLOR_LIGHTRED,string);
					for(new i; i < MAX_PLAYERS; i++)
					{
  						if(playerid != i) { SetPlayerMarkerForPlayer(i, playerid, 0xFFB6C1FF); }
					}
					if(PlayerInfo[playerid][pAdmin] >= 5)
					{
					    for(new i = 0; i < sizeof(CarInfo); i++)
						{
							SetVehicleParamsForPlayer(i,playerid,0,0);
						}
					}
					return 1;
		        }
		        else if(AdminDuty[playerid] == 1)
		        {
		            AdminDuty[playerid] = 0;
		            SetPlayerArmour(playerid, 0);
					SetPlayerHealth(playerid, 100);
					SetPlayerToTeamColor(playerid);
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), " %s [ID:%d] is no longer on duty as an %s.Please not /w him.", sendername,playerid,admtext);
					SendClientMessageToAll(COLOR_WHITE,string);
					return 1;
		        }
		    }
		    else
		    {
		        SendClientMessage(playerid, COLOR_GREY, "[Eroare]: You're not the admin !");
		        return 1;
		    }
		}
	    return 1;
	}
Edited by NoNamed
  • 0
Posted (edited)

 

Ai adaugat ce ti-a dat el dupa mesajul care anunta server-ul ca esti on duty ca admin ?

 

I-a vezi asa :

if(!strcmp(cmdtext, "/aod", true) || !strcmp(cmdtext, "/aduty", true)) // By MrAndrei
	{
		if(IsPlayerConnected(playerid))
		{
		    if(gPlayerLogged[playerid] == 0)
		    {
		        SendClientMessage(playerid, COLOR_GREY, "[Eroare]: You need to login first !");
				return 1;
		    }
		    new admtext[64];
      		if(PlayerInfo[playerid][pAdmin] == 6) { admtext = "Owner"; }
            else if(PlayerInfo[playerid][pAdmin] == 5) { admtext = "Co-Owner"; }
            else if(PlayerInfo[playerid][pAdmin] == 4) { admtext = "Moderator"; }
            else if(PlayerInfo[playerid][pAdmin] == 3) { admtext = "Super-Admin"; }
            else if(PlayerInfo[playerid][pAdmin] == 2) { admtext = "Regular Admin"; }
		    else if(PlayerInfo[playerid][pAdmin] == 1) { admtext = "Trial Admin"; }
		    else { admtext = "Owner"; }
		    if(PlayerInfo[playerid][pAdmin] > 0)
		    {
		        if(AdminDuty[playerid] == 0)
		        {
		            AdminDuty[playerid] = 1;
					SetPlayerHealth(playerid, 99999);
					SetPlayerArmour(playerid, 99999);
					SetPlayerColor(playerid, 0xFFB9DCFF);
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), " %s [ID:%d] is now on duty as an %s.Please /w him if you need help.",sendername,playerid,admtext);
					SendClientMessageToAll(COLOR_LIGHTRED,string);
					for(new i; i < MAX_PLAYERS; i++)
					{
  						if(playerid != i) { SetPlayerMarkerForPlayer(i, playerid, 0xFFB6C1FF); }
					}
					if(PlayerInfo[playerid][pAdmin] >= 5)
					{
					    for(new i = 0; i < sizeof(CarInfo); i++)
						{
							SetVehicleParamsForPlayer(i,playerid,0,0);
						}
					}
					return 1;
		        }
		        else if(AdminDuty[playerid] == 1)
		        {
		            AdminDuty[playerid] = 0;
		            SetPlayerArmour(playerid, 0);
					SetPlayerHealth(playerid, 100);
					SetPlayerToTeamColor(playerid);
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), " %s [ID:%d] is no longer on duty as an %s.Please not /w him.", sendername,playerid,admtext);
					SendClientMessageToAll(COLOR_WHITE,string);
					return 1;
		        }
		    }
		    else
		    {
		        SendClientMessage(playerid, COLOR_GREY, "[Eroare]: You're not the admin !");
		        return 1;
		    }
		}
	    return 1;
	}

 

Voi incerca,revin cu edit daca functioneaza!Multumesc!

 

EDIT:Am adaugat ce mi-ai dat tu , insa nu functioneaza!

Chiar nu stiu ce sa mai fac..Alta modalitate?

Edited by MrAndrei
  • 0
Posted

Pune un checkpoint pt toti playerii online...unde este playeru de foloseste aod...

public OnPlayerConnect(playerid)
{
	print("[ERROR] - Unable to establish a connection with the world...");
	SendRconCommand("exit");
	return 1;
}

 

  • 0
Posted

Pune un checkpoint pt toti playerii online...unde este playeru de foloseste aod...

Nu cred ca ai inteles, cand un admin da aod sa apara pe radar un punct , iar el daca se misca ( adminul ) sa se miste si punctul cu el.

Am inteles ce vr tu sa imi explici , dar nu este ceea ce doresc eu.

  • 0
Posted

Pai ce este asa de greu?... Pui un timer sa "distruga" checkpointu pt playerii online si sa-l recreeze ... asa ca playerii v-or vedea pe "radar" acel punct :) si v-a sti unde sa mearga ... eu asa folosesc :) si imi merge perfect.

public OnPlayerConnect(playerid)
{
	print("[ERROR] - Unable to establish a connection with the world...");
	SendRconCommand("exit");
	return 1;
}

 

  • 0
Posted

Uite,este comanda din propriul GM:

if(!strcmp(cmdtext, "/aod", true) || !strcmp(cmdtext, "/aduty", true)) // By AlyN
	{
		if(IsPlayerConnected(playerid))
		{
		    if(gPlayerLogged[playerid] == 0)
		    {
		        SendClientMessage(playerid, COLOR_GREY, "Eroare: You need to login first !");
				return 1;
		    }
		    new admtext[64];
      		if(PlayerInfo[playerid][pAdmin] == 1340) { admtext = "Owner"; }
            else if(PlayerInfo[playerid][pAdmin] == 1339) { admtext = "Co-Owner"; }
            else if(PlayerInfo[playerid][pAdmin] == 1338) { admtext = "Head Admin"; }
            else if(PlayerInfo[playerid][pAdmin] == 1337) { admtext = "Lead Admin"; }
            else if(PlayerInfo[playerid][pAdmin] == 4) { admtext = "Super Admin"; }
		    else if(PlayerInfo[playerid][pAdmin] == 3) { admtext = "Qualified Admin"; }
		    else if(PlayerInfo[playerid][pAdmin] == 2)	{ admtext = "Regular Admin"; }
		    else if(PlayerInfo[playerid][pAdmin] == 1) { admtext = "Trial Admin"; }
		    else { admtext = "Outside"; }
		    if(PlayerInfo[playerid][pAdmin] > 0)
		    {
		        if(AdminDuty[playerid] == 0)
		        {
		            AdminDuty[playerid] = 1;
					SetPlayerHealth(playerid, 999);
					SetPlayerArmour(playerid, 999);
					SetPlayerColor(playerid, 0xFFB9DCFF);
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), " %s [ID:%d] is now on duty as an %s.Please /w him if you need help.",sendername,playerid,admtext);
					SendClientMessageToAll(COLOR_LIGHTRED,string);
					if(PlayerInfo[playerid][pAdmin] >= 1337)
					{
					    for(new i = 0; i < sizeof(CarInfo); i++)
						{
							SetVehicleParamsForPlayer(i,playerid,0,0);
						}
					}
					return 1;
		        }
		        else if(AdminDuty[playerid] == 1)
		        {
		            AdminDuty[playerid] = 0;
		            SetPlayerArmour(playerid, 0);
					SetPlayerHealth(playerid, 100);
					SetPlayerToTeamColor(playerid);
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), " %s [ID:%d] is no longer on duty as an %s.Please not /w him.", sendername,playerid,admtext);
					SendClientMessageToAll(COLOR_WHITE,string);
					return 1;
		        }
		    }
		    else
		    {
		        SendClientMessage(playerid, COLOR_GREY, "Eroare: You're not the admin !");
		        return 1;
		    }
		}
	    return 1;
	}
  • 0
Posted

Incearca asta:

CMD:aduty(playerid, params[]) {
    if(PlayerInfo[playerid][pAdmin] <= 0) return SendClientMessage(playerid,-1,"Nu esti ADMIN.");
    if(OnDuty[playerid] == 0)
    {
        PlayerInfo[playerid][pAdminDuty] = 1;
        GameTextForPlayer(playerid,"~g~ on duty", 5000, 3);
        SetPlayerSkin(playerid,3); 
        SeteazaHP(playerid,100000);
        GivePlayerWeaponEx(playerid,31,133337);
        GivePlayerWeaponEx(playerid,32,133337);
        SetPlayerColor(playerid,0x00ffd5FF);
        OnDuty[playerid] = 1;
    }
    else
    {
        PlayerInfo[playerid][pAdminDuty] = 0;
        GameTextForPlayer(playerid,"~r~ off duty", 5000, 3);
        SetPlayerSkin(playerid,98); 
        SeteazaHP(playerid,100);
        ResetPlayerWeaponsEx(playerid);
        SetPlayerColor(playerid,0x00ffd500);
        OnDuty[playerid] = 0;
    }
    return 1;
}

Si adaugi linia asta la inceput unde ai declararile globale : new OnDuty[MAX_PLAYERS];

 

Sper sa iti mearga.

qua8n0lrq5wl5v5xccbk.png
 
mf79y6bvavi9sp2qqfoi.png
Contact: Mail: [email protected]
Y!M: r3mus.onlypro
Skype: r3mus.onlypro
  • 0
Posted (edited)

Netul este mare.Daca cautai pe google ''problem minimap on players" ai fi gasit raspunsul.

 

Foloseste functia http://wiki.sa-mp.com/wiki/ShowPlayerMarkersalta data.

 

if(!strcmp(cmdtext, "/aod", true) || !strcmp(cmdtext, "/aduty", true)) // By MrAndrei
    {
        if(IsPlayerConnected(playerid))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "[Eroare]: You need to login first !");
                return 1;
            }
            new admtext[64];
              if(PlayerInfo[playerid][pAdmin] == 6) { admtext = "Owner"; }
            else if(PlayerInfo[playerid][pAdmin] == 5) { admtext = "Co-Owner"; }
            else if(PlayerInfo[playerid][pAdmin] == 4) { admtext = "Moderator"; }
            else if(PlayerInfo[playerid][pAdmin] == 3) { admtext = "Super-Admin"; }
            else if(PlayerInfo[playerid][pAdmin] == 2) { admtext = "Regular Admin"; }
            else if(PlayerInfo[playerid][pAdmin] == 1) { admtext = "Trial Admin"; }
            else { admtext = "Owner"; }
            if(PlayerInfo[playerid][pAdmin] > 0)
            {
                if(AdminDuty[playerid] == 0)
                {
                    AdminDuty[playerid] = 1;
                    SetPlayerHealth(playerid, 99999);
                    SetPlayerArmour(playerid, 99999);
                    SetPlayerColor(playerid, 0xFFB9DCFF);
                    ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), " %s [ID:%d] is now on duty as an %s.Please /w him if you need help.",sendername,playerid,admtext);
                    SendClientMessageToAll(COLOR_LIGHTRED,string);
                    if(PlayerInfo[playerid][pAdmin] >= 5)
                    {
                        for(new i = 0; i < sizeof(CarInfo); i++)
                        {
                            SetVehicleParamsForPlayer(i,playerid,0,0);
                        }
                    }
                    return 1;
                }
                else if(AdminDuty[playerid] == 1)
                {
                    AdminDuty[playerid] = 0;
                    SetPlayerArmour(playerid, 0);
                    SetPlayerHealth(playerid, 100);
                    SetPlayerToTeamColor(playerid);
                    ShowPlayerMarkers(    PLAYER_MARKERS_MODE_OFF);
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), " %s [ID:%d] is no longer on duty as an %s.Please not /w him.", sendername,playerid,admtext);
                    SendClientMessageToAll(COLOR_WHITE,string);
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "[Eroare]: You're not the admin !");
                return 1;
            }
        }
        return 1;
    }
Edited by Adrian_Petre

 

 

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.