PDA

View Full Version : show shotgun owners



feanor
12th June 2016, 10:24
hi , i have shotgun limit in my server. and i wanted to show in below of screen who have shotgun.

i made script like this but i got this error.. i understood my error but i dont know how to fix


pair 'Allies Shotgunner = ' and 'allies_shotgunner' has unmatching types 'localized string' and 'string': (file 'maps/owners/allies.gsc', line 15)
level.ownersnameallies setText(&"Allies Shotgunner = " + "allies_shotgunner");



Owners()
{
if(getcvar("sv_shotgun_owner_allies") == "") setcvar("sv_shotgun_owner_allies", "none");
if(getcvar("sv_shotgun_owner_axis") == "") setcvar("sv_shotgun_owner_axis", "none");
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
player = players[i];

if (player.pers["team"] == "allies")
{
current = self getcurrentweapon();

if (current == "shotgun_mp_allies")
name = self.name;
setcvar("sv_shotgun_owner_allies", "self.name");
}


else if (player.pers["team"] == "axis")
{
current = self getcurrentweapon();

if (current == "shotgun_mp_axis")

setcvar("sv_shotgun_owner_axis", "self.name");
}
}
}



ownersallies()
{
maps\mp\gametypes\_weapons::Owners();
allies_shotgunner = getcvar("sv_shotgun_owner_allies") ;

level.ownersnameallies = newHudElem();
level.ownersnameallies.x = 250;
level.ownersnameallies.y = 479;
level.ownersnameallies.alignX = "left";
level.ownersnameallies.alignY = "bottom";
level.ownersnameallies.horzAlign = "left";
level.ownersnameallies.vertAlign = "top";
level.ownersnameallies.alpha = 1.2;
level.ownersnameallies.fontScale = 1.1;
level.ownersnameallies setText(&"^5Allies Shotgunner = " + "allies_shotgunner");



}




ownersaxis()
{
maps\mp\gametypes\_weapons::Owners();
axis_shotgunner = getcvar("sv_shotgun_owner_axis") ;

level.ownersnameaxis = newHudElem();
level.ownersnameaxis.x = 450;
level.ownersnameaxis.y = 479;
level.ownersnameaxis.alignX = "left";
level.ownersnameaxis.alignY = "bottom";
level.ownersnameaxis.horzAlign = "left";
level.ownersnameaxis.vertAlign = "top";
level.ownersnameaxis.alpha = 1.2;
level.ownersnameaxis.fontScale = 1.1;
level.ownersnameaxis setText(&"^5Axis Shotgunner = " + "axis_shotgunner" );
}

IzNoGoD
12th June 2016, 11:32
2 huds, 1 with settext &"axis shotgunner" and the second with setplayernamestring(player). Align them properly.

feanor
12th June 2016, 12:19
i dunno how to use setplayernamestring(player), i made this but i got this


type undefined is not an entity: (file 'maps/owners/allies.gsc', line 34)
level.ownersnameallies1 setPlayerNameString( players[allies_shotgunner] );



Owners()
{

players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
player = players[i];

if (player.pers["team"] == "allies")
{
current = self getcurrentweapon();

if (current == "shotgun_mp_allies")

setcvar("sv_shotgun_owner_allies", "i") ;

}


else if (player.pers["team"] == "axis")
{
current = self getcurrentweapon();

if (current == "shotgun_mp_axis")

setcvar("sv_shotgun_owner_axis", "i") ;
}
}
}




ownersallies()
{

level.ownersnameallies = newHudElem();
level.ownersnameallies.x = 250;
level.ownersnameallies.y = 479;
level.ownersnameallies.alignX = "left";
level.ownersnameallies.alignY = "bottom";
level.ownersnameallies.horzAlign = "left";
level.ownersnameallies.vertAlign = "top";
level.ownersnameallies.alpha = 1.2;
level.ownersnameallies.fontScale = 1.1;
level.ownersnameallies setText(&"^5Allies Shotgunner = ");



}

ownersallies_1()
{
maps\mp\gametypes\_weapons::Owners();
allies_shotgunner = getcvarint("sv_shotgun_owner_allies") ;
players = getentarray("player", "classname");

level.ownersnameallies1 = newHudElem();
level.ownersnameallies1.x = 275;
level.ownersnameallies1.y = 479;
level.ownersnameallies1.alignX = "left";
level.ownersnameallies1.alignY = "bottom";
level.ownersnameallies1.horzAlign = "left";
level.ownersnameallies1.vertAlign = "top";
level.ownersnameallies1.alpha = 1.2;
level.ownersnameallies1.fontScale = 1.1;
level.ownersnameallies1 setPlayerNameString( players[allies_shotgunner] );


}

IzNoGoD
12th June 2016, 12:42
if (player.pers["team"] == "allies")
{
current = self getcurrentweapon();
wat.

feanor
12th June 2016, 12:52
what is wrong?

Whiskas
12th June 2016, 19:48
self != player

IzNoGoD
13th June 2016, 17:03
if(getcvar("sv_shotgun_owner_allies") == "") setcvar("sv_shotgun_owner_allies", "none");
if(getcvar("sv_shotgun_owner_axis") == "") setcvar("sv_shotgun_owner_axis", "none");

What's this even good for?



player = players[i];
I know IW uses this in their stock scripting a lot, but WHY?




if (player.pers["team"] == "allies")
{
current = self getcurrentweapon();

as per whiskas.



name = self.name;

who is self?


setcvar("sv_shotgun_owner_allies", "self.name");

have you ever checked the sv_shotgun_owner_allies cvar value? It will be "self.name".




level.ownersnameallies = newHudElem();
level.ownersnameallies.x = 250;
level.ownersnameallies.y = 479;
level.ownersnameaxis = newHudElem();
level.ownersnameaxis.x = 450;
level.ownersnameaxis.y = 479;

Ye, your 2 huds will overlap, and as they are global, both teams will see them overlap.




level.ownersnameallies setText(&"^5Allies Shotgunner = " + "allies_shotgunner");
I dont think you'll learn this scripting language.

feanor
14th June 2016, 00:35
ok bb , best man in the world