Problem with /event cmd
#1

pawn Код:
if(strcmp(cmd, "/event", true) == 0)
    {
      if(IsPlayerConnected(playerid))
      {
        if(PlayerInfo[playerid][pAdmin] >= 4)
        {
              new x_nr[256];
                x_nr = strtok(cmdtext, idx);
                if(!strlen(x_nr))
            {
                SendClientMessage(playerid, COLOR_WHITE, "USAGE: /event [heal,healall,gethere,giveweapon]");
                return 1;
                }
            if(strcmp(x_nr,"heal",true) == 0)
            {
                    for(new i; i < GetMaxPlayers(); i++)
                    {
                        if (ProxDetectorS(5.0, playerid, i))
                        {
                          if(IsPlayerConnected(i))
                          {
                              new amount;
                            tmp = strtok(cmdtext, idx);
                                amount = strval(tmp);
                                if(!strlen(tmp))
                                {
                                    SendClientMessage(playerid,COLOR_SYSTEM,"USAGE: /event heal [hp]");
                                    return 1;
                                }
                                GetPlayerName(playerid, sendername, sizeof(sendername));
                              SetPlayerHealth(i, amount);
                                format(string, sizeof(string), "[EVENT]: %s has setted everyones near him health at %d.",sendername,amount);
                                SendClientMessageToAll(COLOR_LIGHTRED, string);
                                return 1;
                            }
                        }
                    }
                }
                if(strcmp(x_nr,"healall",true) == 0)
            {
                    for(new i; i < GetMaxPlayers(); i++)
                    {
                      if(IsPlayerConnected(i))
                      {
                        new amount;
                            tmp = strtok(cmdtext, idx);
                            amount = strval(tmp);
                            if(!strlen(tmp))
                            {
                                SendClientMessage(playerid,COLOR_SYSTEM,"USAGE: /event healall [hp]");
                                return 1;
                            }
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                        SetPlayerHealth(i, amount);
                            format(string, sizeof(string), "[EVENT]: %s has setted everyones health at %d.",sendername,amount);
                            SendClientMessageToAll(COLOR_LIGHTRED, string);
                            return 1;
                        }
                    }
                }
                if(strcmp(x_nr,"gethere",true) == 0)
            {
                    for(new i; i < GetMaxPlayers(); i++)
                    {
            if(IsPlayerConnected(i))
                    {
                          new Float:X, Float:Y, Float:Z;
                          GetPlayerPos(playerid, X,Y,Z);
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            if(GetPlayerState(i) == 2)
                            {
                            SetPlayerPos(i, X,Y+4,Z);
                            }
                            else
                            {
                              SetPlayerPos(i, X,Y+2,Z);
                            }
                            format(string, sizeof(string), "[EVENT]: %s had telported %d players at him.",sendername,PlayersOnline);
                            SendClientMessageToAll(COLOR_LIGHTRED, string);
                            return 1;
                        }
                    }
                }
                if(strcmp(x_nr,"givegun",true) == 0)
            {
                    for(new i; i < GetMaxPlayers(); i++)
                    {
                      if(IsPlayerConnected(i))
                      {
                          new gun,ammo;
                            tmp = strtok(cmdtext, idx);
                            gun = strval(tmp);
                            if(!strlen(tmp))
                            {
                                SendClientMessage(playerid, COLOR_GREY, "USAGE: /event givegun [gunid] [ammo]");
                                SendClientMessage(playerid, COLOR_GRAD1, "Melee I: Golf Club (2) | Nitestick (3) | Knife (4) | Baseball Bat (5)");
                                SendClientMessage(playerid, COLOR_GRAD1, "Melee I: Shovel (6) | Pool Cue (7) | Katana (8) | Chainsaw (9)");
                                SendClientMessage(playerid, COLOR_GRAD2, "Melee II: Purple Dildo (10) | Small White Vibrator (11) | Large White Vibrator (12)");
                  SendClientMessage(playerid, COLOR_GRAD2, "Melee II: Silver Vibrator (13) | Flowers (14) | Cane (15)");
                                SendClientMessage(playerid, COLOR_GRAD3, "Pistol: 9MM (22) | Sillenced 9MM (23) | Deagle (24)");
                                SendClientMessage(playerid, COLOR_GRAD4, "Shotgun: Shotgun (25)");
                                SendClientMessage(playerid, COLOR_GRAD5, "SMG: MP5 (29)");
                                SendClientMessage(playerid, COLOR_GRAD6, "Assault: AK-47 (30) | M4 (31)");
                                SendClientMessage(playerid, COLOR_WHITE, "Rifle: Country Rifle (33) | Sniper Rifle (34)");
                                return 1;
                            }
                            if(gun == 1 || gun >= 16 && gun <= 21 || gun == 26 || gun == 27 || gun == 28 || gun == 32 || gun >= 35 && gun <= 46)
                            {
                                SendClientMessage(playerid, COLOR_WHITE, "The WeaponID is wrong !");
                                return 1;
                            }
                            tmp = strtok(cmdtext, idx);
                            ammo = strval(tmp);
                            if(ammo <1 ||ammo > 999)
                            { SendClientMessage(playerid, COLOR_GRAD1, "dont go below 1 or above 999 bullets!"); return 1; }
                        new ftext[50];
                            if(gun == 1) { ftext = "Brass Knuckles"; }
                            else if(gun == 2) { ftext = "Golf Club"; }
                            else if(gun == 3) { ftext = "NightStick"; }
                            else if(gun == 4) { ftext = "Knife"; }
                            else if(gun == 5) { ftext = "Baseball Bat"; }
                            else if(gun == 6) { ftext = "Shovel"; }
                            else if(gun == 7) { ftext = "Pool Cue"; }
                            else if(gun == 8) { ftext = "Katana"; }
                            else if(gun == 9) { ftext = "Chainsaw"; }
                            else if(gun == 10) { ftext = "Purple Dildo"; }
                            else if(gun == 11) { ftext = "Small White Vibrator"; }
                            else if(gun == 12) { ftext = "Large White Vibrator"; }
                            else if(gun == 13) { ftext = "Silver Vibrator"; }
                            else if(gun == 14) { ftext = "Flowers"; }
                            else if(gun == 15) { ftext = "Cane"; }
                            else if(gun == 16) { ftext = "Grenade"; }
                            else if(gun == 17) { ftext = "Tear Gas"; }
                            else if(gun == 18) { ftext = "Molotov Cocktail"; }
                            else if(gun == 22) { ftext = "9MM"; }
                            else if(gun == 23) { ftext = "Silenced 9mm"; }
                            else if(gun == 24) { ftext = "Desert Eagle"; }
                            else if(gun == 25) { ftext = "Shotgun"; }
                            else if(gun == 26) { ftext = "Sawn-off Shotgun"; }
                            else if(gun == 27) { ftext = "Combat Shotgun"; }
                            else if(gun == 28) { ftext = "Micro SMG"; }
                            else if(gun == 29) { ftext = "MP5"; }
                            else if(gun == 30) { ftext = "AK-47"; }
                            else if(gun == 31) { ftext = "M4"; }
                            else if(gun == 32) { ftext = "Tec9"; }
                            else if(gun == 33) { ftext = "Country Rifle"; }
                            else if(gun == 34) { ftext = "Sniper Rifle"; }
                            else if(gun == 35) { ftext = "Rocket Launcher"; }
                            else if(gun == 36) { ftext = "HS Rocket Launcher"; }
                            else if(gun == 37) { ftext = "Flamethrower"; }
                            else if(gun == 38) { ftext = "Minigun"; }
                            else if(gun == 41) { ftext = "Spraycan"; }
                            else if(gun == 42) { ftext = "Fire Extinguisher"; }
                            else if(gun == 43) { ftext = "Camera"; }
                            else if(gun == 44) { ftext = "Nightvision Goggle"; }
                            else if(gun == 45) { ftext = "Thermal Goggles"; }
                            else if(gun == 46) { ftext = "Parachutte"; }
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            GivePlayerWeapon(i, gun, ammo);
                            format(string, sizeof(string), "[EVENT]: %s has given a %s with %d ammo.",sendername,ftext,ammo);
                            SendClientMessageToAll(COLOR_LIGHTRED, string);
                            return 1;
                        }
                    }
                }
            }
        }
        return 1;
    }
I have this cmd, but if I type /event heal 150, it heals just me if i'm id 0, it works just for id 0, how can i solve this?
Reply
#2

Bump..
Reply
#3

here ya go!
Quote:
Originally Posted by Razvann
pawn Код:
if(strcmp(cmd, "/event", true) == 0)
    {
        for(new i=0; i<MAX_PLAYERS; i++)
    {
 if(IsPlayerConnected(playerid))
      {
        if(PlayerInfo[playerid][pAdmin] >= 4)
        {
              new x_nr[256];
                x_nr = strtok(cmdtext, idx);
                if(!strlen(x_nr))
            {
                SendClientMessage(playerid, COLOR_WHITE, "USAGE: /event [heal,healall,gethere,giveweapon]");
                return 1;
                }
            if(strcmp(x_nr,"heal",true) == 0)
            {
                    for(new i; i < GetMaxPlayers(); i++)
                    {
                        if (ProxDetectorS(5.0, playerid, i))
                        {
                          if(IsPlayerConnected(i))
                          {
                              new amount;
                            tmp = strtok(cmdtext, idx);
                                amount = strval(tmp);
                                if(!strlen(tmp))
                                {
                                    SendClientMessage(playerid,COLOR_SYSTEM,"USAGE: /event heal [hp]");
                                    return 1;
                                }
                                GetPlayerName(playerid, sendername, sizeof(sendername));
                              SetPlayerHealth(i, amount);
                                format(string, sizeof(string), "[EVENT]: %s has setted everyones near him health at %d.",sendername,amount);
                                SendClientMessageToAll(COLOR_LIGHTRED, string);
                                return 1;
                            }
                        }
                    }
                }
             }
                if(strcmp(x_nr,"healall",true) == 0)
            {
                    for(new i; i < GetMaxPlayers(); i++)
                    {
                      if(IsPlayerConnected(i))
                      {
                        new amount;
                            tmp = strtok(cmdtext, idx);
                            amount = strval(tmp);
                            if(!strlen(tmp))
                            {
                                SendClientMessage(playerid,COLOR_SYSTEM,"USAGE: /event healall [hp]");
                                return 1;
                            }
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                        SetPlayerHealth(i, amount);
                            format(string, sizeof(string), "[EVENT]: %s has setted everyones health at %d.",sendername,amount);
                            SendClientMessageToAll(COLOR_LIGHTRED, string);
                            return 1;
                        }
                    }
                }
                if(strcmp(x_nr,"gethere",true) == 0)
            {
                    for(new i; i < GetMaxPlayers(); i++)
                    {
            if(IsPlayerConnected(i))
                    {
                          new Float:X, Float:Y, Float:Z;
                          GetPlayerPos(playerid, X,Y,Z);
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            if(GetPlayerState(i) == 2)
                            {
                            SetPlayerPos(i, X,Y+4,Z);
                            }
                            else
                            {
                              SetPlayerPos(i, X,Y+2,Z);
                            }
                            format(string, sizeof(string), "[EVENT]: %s had telported %d players at him.",sendername,PlayersOnline);
                            SendClientMessageToAll(COLOR_LIGHTRED, string);
                            return 1;
                        }
                    }
                }
                if(strcmp(x_nr,"givegun",true) == 0)
            {
                    for(new i; i < GetMaxPlayers(); i++)
                    {
                      if(IsPlayerConnected(i))
                      {
                          new gun,ammo;
                            tmp = strtok(cmdtext, idx);
                            gun = strval(tmp);
                            if(!strlen(tmp))
                            {
                                SendClientMessage(playerid, COLOR_GREY, "USAGE: /event givegun [gunid] [ammo]");
                                SendClientMessage(playerid, COLOR_GRAD1, "Melee I: Golf Club (2) | Nitestick (3) | Knife (4) | Baseball Bat (5)");
                                SendClientMessage(playerid, COLOR_GRAD1, "Melee I: Shovel (6) | Pool Cue (7) | Katana (8) | Chainsaw (9)");
                                SendClientMessage(playerid, COLOR_GRAD2, "Melee II: Purple Dildo (10) | Small White Vibrator (11) | Large White Vibrator (12)");
                  SendClientMessage(playerid, COLOR_GRAD2, "Melee II: Silver Vibrator (13) | Flowers (14) | Cane (15)");
                                SendClientMessage(playerid, COLOR_GRAD3, "Pistol: 9MM (22) | Sillenced 9MM (23) | Deagle (24)");
                                SendClientMessage(playerid, COLOR_GRAD4, "Shotgun: Shotgun (25)");
                                SendClientMessage(playerid, COLOR_GRAD5, "SMG: MP5 (29)");
                                SendClientMessage(playerid, COLOR_GRAD6, "Assault: AK-47 (30) | M4 (31)");
                                SendClientMessage(playerid, COLOR_WHITE, "Rifle: Country Rifle (33) | Sniper Rifle (34)");
                                return 1;
                            }
                            if(gun == 1 || gun >= 16 && gun <= 21 || gun == 26 || gun == 27 || gun == 28 || gun == 32 || gun >= 35 && gun <= 46)
                            {
                                SendClientMessage(playerid, COLOR_WHITE, "The WeaponID is wrong !");
                                return 1;
                            }
                            tmp = strtok(cmdtext, idx);
                            ammo = strval(tmp);
                            if(ammo <1 ||ammo > 999)
                            { SendClientMessage(playerid, COLOR_GRAD1, "dont go below 1 or above 999 bullets!"); return 1; }
                        new ftext[50];
                            if(gun == 1) { ftext = "Brass Knuckles"; }
                            else if(gun == 2) { ftext = "Golf Club"; }
                            else if(gun == 3) { ftext = "NightStick"; }
                            else if(gun == 4) { ftext = "Knife"; }
                            else if(gun == 5) { ftext = "Baseball Bat"; }
                            else if(gun == 6) { ftext = "Shovel"; }
                            else if(gun == 7) { ftext = "Pool Cue"; }
                            else if(gun == 8) { ftext = "Katana"; }
                            else if(gun == 9) { ftext = "Chainsaw"; }
                            else if(gun == 10) { ftext = "Purple Dildo"; }
                            else if(gun == 11) { ftext = "Small White Vibrator"; }
                            else if(gun == 12) { ftext = "Large White Vibrator"; }
                            else if(gun == 13) { ftext = "Silver Vibrator"; }
                            else if(gun == 14) { ftext = "Flowers"; }
                            else if(gun == 15) { ftext = "Cane"; }
                            else if(gun == 16) { ftext = "Grenade"; }
                            else if(gun == 17) { ftext = "Tear Gas"; }
                            else if(gun == 18) { ftext = "Molotov Cocktail"; }
                            else if(gun == 22) { ftext = "9MM"; }
                            else if(gun == 23) { ftext = "Silenced 9mm"; }
                            else if(gun == 24) { ftext = "Desert Eagle"; }
                            else if(gun == 25) { ftext = "Shotgun"; }
                            else if(gun == 26) { ftext = "Sawn-off Shotgun"; }
                            else if(gun == 27) { ftext = "Combat Shotgun"; }
                            else if(gun == 28) { ftext = "Micro SMG"; }
                            else if(gun == 29) { ftext = "MP5"; }
                            else if(gun == 30) { ftext = "AK-47"; }
                            else if(gun == 31) { ftext = "M4"; }
                            else if(gun == 32) { ftext = "Tec9"; }
                            else if(gun == 33) { ftext = "Country Rifle"; }
                            else if(gun == 34) { ftext = "Sniper Rifle"; }
                            else if(gun == 35) { ftext = "Rocket Launcher"; }
                            else if(gun == 36) { ftext = "HS Rocket Launcher"; }
                            else if(gun == 37) { ftext = "Flamethrower"; }
                            else if(gun == 38) { ftext = "Minigun"; }
                            else if(gun == 41) { ftext = "Spraycan"; }
                            else if(gun == 42) { ftext = "Fire Extinguisher"; }
                            else if(gun == 43) { ftext = "Camera"; }
                            else if(gun == 44) { ftext = "Nightvision Goggle"; }
                            else if(gun == 45) { ftext = "Thermal Goggles"; }
                            else if(gun == 46) { ftext = "Parachutte"; }
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            GivePlayerWeapon(i, gun, ammo);
                            format(string, sizeof(string), "[EVENT]: %s has given a %s with %d ammo.",sendername,ftext,ammo);
                            SendClientMessageToAll(COLOR_LIGHTRED, string);
                            return 1;
                        }
                    }
                }
            }
        }
        return 1;
    }
I have this cmd, but if I type /event heal 150, it heals just me if i'm id 0, it works just for id 0, how can i solve this?
Reply
#4

BUMP...i tried this but doesn`t work...can somebody compile for me please ?
Reply
#5

Delete , scz
Reply
#6

nobody ?
Reply
#7

Use zcmd and sscanf would make the whole shit 100 times more efficent.
Reply
#8

Indeed.
Not just that but its a better and tidyer function.
Reply
#9

still not working....who can post the amx ?
Reply
#10

bump , somebody who can resolve this ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)