Help How 1 variable == more than 1 thing
#1

under OnPlayerDeath
pawn Код:
if(pInfo[playerid][DeathReason] != INSULTED_TO_DEATH && pInfo[playerid][DeathReason] !=  RAPED_TO_DEATH)
        {
            switch(reason)
            {
                case 0: pInfo[playerid][DeathReason] = Fist;
                case 1: pInfo[playerid][DeathReason] = Brass_Knuckles;
                case 2: pInfo[playerid][DeathReason] = Golf_Club;
                case 3: pInfo[playerid][DeathReason] = Nightstick;
                case 4: pInfo[playerid][DeathReason] = Knife;
                case 5: pInfo[playerid][DeathReason] = Baseball_Bat;
                case 6: pInfo[playerid][DeathReason] = Shovel;
                case 7: pInfo[playerid][DeathReason] = Pool_Cue;
                case 8: pInfo[playerid][DeathReason] = Katana;
                case 9: pInfo[playerid][DeathReason] = Chainsaw;
                case 10,11: pInfo[playerid][DeathReason] = Dildo;
                case 12,13: pInfo[playerid][DeathReason] = Vibrator;
                case 14: pInfo[playerid][DeathReason] =  Flowers;
                case 15: pInfo[playerid][DeathReason] = Cane;
                case 16: pInfo[playerid][DeathReason] = Grenade;
                case 17: pInfo[playerid][DeathReason] = Tear_Gas;
                case 18: pInfo[playerid][DeathReason] = Molotov_Cocktail;
                case 22: pInfo[playerid][DeathReason] =  Pistol;
                case 23: pInfo[playerid][DeathReason] =  Silenced_Pistol;
                case 24: pInfo[playerid][DeathReason] =  Desert_Eagle;
                case 25: pInfo[playerid][DeathReason] = Shotgun;
                case 26: pInfo[playerid][DeathReason] = Sawnoff_Shotgun;
                case 27: pInfo[playerid][DeathReason] = Combat_Shotgun;
                case 28: pInfo[playerid][DeathReason] = Uzi;
                case 29: pInfo[playerid][DeathReason] = MP5;
                case 30: pInfo[playerid][DeathReason] = AK_47;
                case 31: pInfo[playerid][DeathReason] = M4;
                case 32: pInfo[playerid][DeathReason] = Tec_9;
                case 33: pInfo[playerid][DeathReason] = Country_Rifle;
                case 34: pInfo[playerid][DeathReason] = Sniper_Rifle;
                case 35: pInfo[playerid][DeathReason] = RPG;
                case 36: pInfo[playerid][DeathReason] = HS_Rocket;
                case 37: pInfo[playerid][DeathReason] = Flamethrower;
                case 38: pInfo[playerid][DeathReason] = Minigun;
                case 39: pInfo[playerid][DeathReason] = Satchel_Charge;
                case 40: pInfo[playerid][DeathReason] = Detonator;
                case 41: pInfo[playerid][DeathReason] = Spraycan;
                case 42: pInfo[playerid][DeathReason] = Fire_Extinguisher;
                case 43: pInfo[playerid][DeathReason] = Camera;
                case 44: pInfo[playerid][DeathReason] = Night_Vis_Goggles;
                case 45: pInfo[playerid][DeathReason] = Thermal_Goggles ;
                case 46: pInfo[playerid][DeathReason] = Parachute;
                case 47: pInfo[playerid][DeathReason] = Fake_Pistol;
                case 49: pInfo[playerid][DeathReason] = death_by_vehicle;
                case 50: pInfo[playerid][DeathReason] = Helicopter_Blades;
                case 51: pInfo[playerid][DeathReason] = Explosion;
            }
        }
This Will Make The Variable = to the reason
pawn Код:
if(pInfo[playerid][DeathReason] == INSULTED_TO_DEATH)
        {
            SendDeathMessage(killerid,playerid,47);
            format(death,sizeof(death),"*%s (%d) Has Been Insulted To Death By %s (%d)",pInfo[playerid][playername],playerid,pInfo[killerid][playername],killerid);
            //SendDeathChatMessage(playerid,COLOR_MAROON,death);
            pInfo[playerid][Deaths]++;
            pInfo[killerid][Kills]++;
        }
        if(pInfo[playerid][DeathReason] == RAPED_TO_DEATH)
        {
            SendDeathMessage(killerid,playerid,47);
            format(death,sizeof(death),"*%s (%d) Has Been Raped To Death By %s (%d)",pInfo[playerid][playername],playerid,pInfo[killerid][playername],killerid);
            //SendDeathChatMessage(playerid,COLOR_MAROON,death);
            pInfo[playerid][Deaths]++;
            pInfo[killerid][Kills]++;
        }
        if(pInfo[playerid][DeathReason] == Fist)
        {
            SendDeathMessage(killerid,playerid,0);
            format(death,sizeof(death),"*%s (%d) Has Been Punched To Death By %s (%d)",pInfo[playerid][playername],playerid,pInfo[killerid][playername],killerid);
            //SendDeathChatMessage(playerid,COLOR_MAROON,death);
            pInfo[playerid][Deaths]++;
            pInfo[killerid][Kills]++;
        }
        if(pInfo[playerid][DeathReason] == Brass_Knuckles)
        {
            SendDeathMessage(killerid,playerid,1);
            format(death,sizeof(death),"*%s (%d) Has Been Punched To Death By %s (%d) With Brass Knuckles",pInfo[playerid][playername],playerid,pInfo[killerid][playername],killerid);
            //SendDeathChatMessage(playerid,COLOR_MAROON,death);
            pInfo[playerid][Deaths]++;
            pInfo[killerid][Kills]++;
        }
these are codes under the OnPlayerDeath After the Reason Switch
So Now error or bug in compiling but it will send the messages for the every reason i made
pawn Код:
if(pInfo[playerid][DeathReason] == Brass_Knuckles)
i mean that if i can killed by weapon Brass_Knuckles it will send message for every other one too
after all these i have
pawn Код:
SendDeathChatMessage(playerid,COLOR_MAROON,death);
Reply
#2

If INSULTED_TO_DEATH, RAPED_TO_DEATH, Fist and Brass_Knuckles are constants, you can use switch

pawn Код:
switch (pInfo[playerid][DeathReason])
{
    case INSULTED_TO_DEATH:
    {
        // code..
    }
    // rest..
}
Reply
#3

pawn Код:
switch (pInfo[playerid][DeathReason])
        {
        case INSULTED_TO_DEATH: // line 5401
        {
            SendDeathMessage(killerid,playerid,47);
            format(death,sizeof(death),"*%s (%d) Has Been Insulted To Death By %s (%d)",pInfo[playerid][playername],playerid,pInfo[killerid][playername],killerid);
            //SendDeathChatMessage(playerid,COLOR_MAROON,death);
            pInfo[playerid][Deaths]++;
            pInfo[killerid][Kills]++;
        }
pawn Код:
(5401) : error 008: must be a constant expression; assumed zero
Reply
#4

Quote:
Originally Posted by AroseKhanNaizi
Посмотреть сообщение
pawn Код:
switch (pInfo[playerid][DeathReason])
        {
        case INSULTED_TO_DEATH: // line 5401
        {
            SendDeathMessage(killerid,playerid,47);
            format(death,sizeof(death),"*%s (%d) Has Been Insulted To Death By %s (%d)",pInfo[playerid][playername],playerid,pInfo[killerid][playername],killerid);
            //SendDeathChatMessage(playerid,COLOR_MAROON,death);
            pInfo[playerid][Deaths]++;
            pInfo[killerid][Kills]++;
        }
pawn Код:
(5401) : error 008: must be a constant expression; assumed zero
It isn't a constant so you can't switch. Could you show how INSULTED_TO_DEATH is defined?
Reply
#5

pawn Код:
new INSULTED_TO_DEATH;
shall i change it
Reply
#6

Quote:
Originally Posted by AroseKhanNaizi
Посмотреть сообщение
[pawn] new INSULTED_TO_DEATH;[pawn]
shall i change it
What is this? You've set some variable without any value. You can define your death reasons.

pawn Код:
#define INSULTED_TO_DEATH 0 // Just set according to the value given by pInfo[playerid][DeathReason]
Reply
#7

so i should change them all to #define [variable] [any number ] ??
Reply
#8

Quote:
Originally Posted by AroseKhanNaizi
Посмотреть сообщение
so i should change them all to #define [variable] [any number ] ??
Yes.
Reply
#9

actually i did it before then i changed it again ok i will do it thanks if i get any error i will post
Reply
#10

You could use else if since they're not constant:
pawn Код:
if(pInfo[playerid][DeathReason] == INSULTED_TO_DEATH)
{
    // code..
}
else if(pInfo[playerid][DeathReason] == RAPED_TO_DEATH)
{
    // code..
}
else if(pInfo[playerid][DeathReason] == Fist)
{
    // code..
}
else if(pInfo[playerid][DeathReason] == Brass_Knuckles)
{
    // code..
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)