Results 1 to 6 of 6

Thread: invisible and objective

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #5
    Private
    Join Date
    Aug 2013
    Posts
    95
    Thanks
    13
    Thanked 4 Times in 3 Posts
    it isn't a headicon.

    PHP Code:
    makeobjmarker()
    {
        
    level.showoncompass GetCvarInt("scr_zom_showoncompass");
        
    level.showasobjpoint GetCvarInt("scr_zom_showasobjpoint");

        if (
    level.showasobjpoint)
        {
            
    temp = [];
            
    temp[0]=self.origin[0];
            
    temp[1]=self.origin[1];
            
    temp[2]=self.origin[2]+70;

            
    maps\mp\gametypes\_objpoints::addTeamObjpoint(tempself.clientid"axis""objective");
        }
        
        if (
    level.showoncompass)
        {
            
    objnum GetNextObjNum();
            if (!(
    objnum==-1))
            {
                
    self.objnum objnum;
                
    objective_add(objnum"current"self.origin"objective");
                
    objective_icon(objnum,"objective");
                
    objective_team(objnum,"axis");
                
    objective_position(objnumself.origin);
                
    lastobjpos self.origin;
                
    newobjpos self.origin;
            }
        }

        if (
    level.showasobjpoint || level.showoncompass)
        {
            
    self thread DeleteOnEvent("killed_player");
            
    self thread DeleteOnEvent("disconnect");
            
    self thread updateobjmarker();
        }
    }

    updateobjmarker()
    {
        
    self endon("StopOnCompass");
        

        
    level.positiontime GetCvarInt("scr_zom_positiontime");
        
        if (
    level.positiontime<|| level.positiontime>20)
            
    level.positiontime=0.000001;

        if (
    level.positiontime==0)
            
    level.positiontime=0.000001;
            
        for(;;)
        {
            
    wait level.positiontime;
        
            if (
    level.showasobjpoint)
            {
                
    /*temp = [];
                temp[0]=self.origin[0];
                temp[1]=self.origin[1];
                temp[2]=self.origin[2]+70;
                maps\mp\gametypes\_objpoints::addTeamObjpoint(temp, self.clientid, "axis", "objective");
                */
                
    for(0level.objpoints_axis.array.sizei++)
                {
                    if (
    level.objpoints_axis.array[i].name==self.clientid)
                    {
                        
                        
    level.objpoints_axis.array[i].x=self.origin[0];
                        
    level.objpoints_axis.array[i].y=self.origin[1];
                        
    level.objpoints_axis.array[i].z=self.origin[2]+70;
                    }
                }

                
    //maps\mp\gametypes\_objpoints::updatePlayerObjpoints();
                
    updateAllPlayerObjpoints("axis");
            }
            
            if (
    level.showoncompass)
            {
                
    objective_position(self.objnumself.origin);
            }
        }
    }

    GetNextObjNum()
    {
        for (
    i=0;i<15;i++)
        {
            if (
    level.objused[i] == true)
                continue;
            
            
    level.objused[i] = true;
            return ( 
    );
        }
        return -
    1;
    }

    DeleteOnEvent(event)
    {
        
    self waittill(event);

        
    self notify("StopOnCompass");
        if (
    isdefined (self.objnum))
        {
            
    objective_delete(self.objnum);
            
    level.objused[(self.objnum)] = false;
            
    self.objnum undefined;
        }

        if(
    level.showasobjpoint==1)
        {
            for(
    0level.objpoints_axis.array.sizei++)
            {
                if (
    level.objpoints_axis.array[i].name==self.clientid)
                {
                    
    level.objpoints_axis.array[i].name=undefined;

                    
    clearHudObjPoints("axis");
                    
    cleanObjPointsArray();
                    
    updateAllPlayerObjpoints("axis");
                }
            }
        }
    }

    cleanObjPointsArray()
    {
    // Rebuild objpoints array minus named
        
    cleanpoints = [];
        for(
    0level.objpoints_axis.array.sizei++)
        {
            
    objpoint level.objpoints_axis.array[i];
        
            if(
    isdefined(objpoint.name))
                
    cleanpoints[cleanpoints.size] = objpoint;
        }
        
    //return cleanpoints;
        
    level.objpoints_axis.array=cleanpoints;

    }

    clearHudObjPoints(team)
    {
        
    players getentarray("player""classname");
        for(
    0players.sizei++)
        {
            
    player players[i];
            
            if(
    isDefined(player.pers["team"]) && player.pers["team"] == team// && player.sessionstate == "playing"
                
    player maps\mp\gametypes\_objpoints::clearPlayerObjpoints();
        }
    }

    updateAllPlayerObjpoints(team)
    {
        
    players getentarray("player""classname");
        for(
    0players.sizei++)
        {
            
    player players[i];
            
            if(
    isDefined(player.pers["team"]) && player.pers["team"] == team// && player.sessionstate == "playing"
                
    player maps\mp\gametypes\_objpoints::updatePlayerObjpoints();
        }

    in the zombie gametype

    and the script _objpoints which is in iw_07:

    PHP Code:
    init()
    {
        
    precacheShader("objpoint_default");

        
    level.objpoints_allies spawnstruct();
        
    level.objpoints_allies.array = [];
        
    level.objpoints_axis spawnstruct();
        
    level.objpoints_axis.array = [];
        
    level.objpoints_allplayers spawnstruct();
        
    level.objpoints_allplayers.array = [];
        
    level.objpoints_allplayers.hudelems = [];
        
        if(
    level.splitscreen)
            
    level.objpoint_scale 14;
        else
            
    level.objpoint_scale 7;
        
        
    level thread onPlayerConnect();
    }

    onPlayerConnect()
    {
        for(;;)
        {
            
    level waittill("connecting"player);
            
            
    player.objpoints = [];

            
    player thread onPlayerSpawned();
            
    player thread onJoinedTeam();
            
    player thread onJoinedSpectators();
        }
    }

    onJoinedTeam()
    {
        
    self endon("disconnect");
        
        for(;;)
        {
            
    self waittill("joined_team");
            
    self thread clearPlayerObjpoints();
        }
    }

    onJoinedSpectators()
    {
        
    self endon("disconnect");
        
        for(;;)
        {
            
    self waittill("joined_spectators");
            
    self thread clearPlayerObjpoints();
        }
    }

    onPlayerSpawned()
    {
        
    self endon("disconnect");
        
        for(;;)
        {
            
    self waittill("spawned_player");

            
    self thread updatePlayerObjpoints();        
            
    self thread onPlayerKilled();
        }
    }

    onPlayerKilled()
    {
        
    self endon("disconnect");

        for(;;)
        {
            
    self waittill("killed_player");
            
            
    self thread clearPlayerObjpoints();
        }
    }

    addObjpoint(originnamematerial)
    {
        
    thread addTeamObjpoint(originname"all"material);
    }

    addTeamObjpoint(originnameteammaterial)
    {
        
    assert(team == "allies" || team == "axis" || team == "all");
        if(
    team == "allies")
        {
            
    assert(isdefined(level.objpoints_allies));
            
    objpoints level.objpoints_allies;
        }
        else if(
    team == "axis")
        {
            
    assert(isdefined(level.objpoints_axis));
            
    objpoints level.objpoints_axis;
        }
        else
        {
            
    assert(isdefined(level.objpoints_allplayers));
            
    objpoints level.objpoints_allplayers;
        }

        
    // Rebuild objpoints array minus named
        
    cleanpoints = [];
        for(
    0objpoints.array.sizei++)
        {
            
    objpoint objpoints.array[i];
        
            if(
    isdefined(objpoint.name) && objpoint.name != name)
                
    cleanpoints[cleanpoints.size] = objpoint;
        }
        
    objpoints.array = cleanpoints;
        
        
    newpoint spawnstruct();
        
    newpoint.name name;
        
    newpoint.origin[0];
        
    newpoint.origin[1];
        
    newpoint.origin[2];
        
    newpoint.archived false;

        if(
    isdefined(material))
            
    newpoint.material material;
        else
            
    newpoint.material "objpoint_default";

        
    objpoints.array[objpoints.array.size] = newpoint;

        
    //update objpoints for team specified
        
        
    if (team == "all")
        {
            
    clearGlobalObjpoints();
            
            for(
    0objpoints.array.sizej++)
            {
                
    objpoint objpoints.array[j];
                
                
    newobjpoint newHudElem();
                
    newobjpoint.name objpoint.name;
                
    newobjpoint.objpoint.x;
                
    newobjpoint.objpoint.y;
                
    newobjpoint.objpoint.z;
                
    newobjpoint.alpha .61;
                
    newobjpoint.archived objpoint.archived;
                
    newobjpoint setShader(objpoint.materiallevel.objpoint_scalelevel.objpoint_scale);
                
    newobjpoint setwaypoint(true);
                
                
    level.objpoints_allplayers.hudelems[level.objpoints_allplayers.hudelems.size] = newobjpoint;
            }
        }
        else
        {
            
    players getentarray("player""classname");
            for(
    0players.sizei++)
            {
                
    player players[i];
                
                if(
    isDefined(player.pers["team"]) && player.pers["team"] == team && player.sessionstate == "playing")
                {
                    
    player clearPlayerObjpoints();
        
                    for(
    0objpoints.array.sizej++)
                    {
                        
    objpoint objpoints.array[j];
                        
                        
    newobjpoint newClientHudElem(player);
                        
    newobjpoint.name objpoint.name;
                        
    newobjpoint.objpoint.x;
                        
    newobjpoint.objpoint.y;
                        
    newobjpoint.objpoint.z;
                        
    newobjpoint.alpha .61;
                        
    newobjpoint.archived objpoint.archived;
                        
    newobjpoint setShader(objpoint.materiallevel.objpoint_scalelevel.objpoint_scale);
                        
    newobjpoint setwaypoint(true);
                        
                        
    player.objpoints[player.objpoints.size] = newobjpoint;
                    }
                }
            }
        }
    }

    removeObjpoints()
    {
        
    thread removeTeamObjpoints("all");
    }

    removeTeamObjpoints(team)
    {
        
    assert(team == "allies" || team == "axis" || team == "all");
        if(
    team == "allies")
        {
            
    assert(isdefined(level.objpoints_allies));
            
    level.objpoints_allies.array = [];
        }
        else if(
    team == "axis")
        {
            
    assert(isdefined(level.objpoints_axis));
            
    level.objpoints_axis.array = [];
        }
        else
        {
            
    assert(isdefined(level.objpoints_allplayers));
            
    assert(isdefined(level.objpoints_allplayers.hudelems));
            
    level.objpoints_allplayers.array = [];
            for (
    i=0;i<level.objpoints_allplayers.hudelems.size;i++)
                
    level.objpoints_allplayers.hudelems[idestroy();
            
    level.objpoints_allplayers.hudelems = [];
            return;
        }

        
    //clear objpoints for team specified
        
    players getentarray("player""classname");
        for(
    0players.sizei++)
        {
            
    player players[i];
            
            if(
    isDefined(player.pers["team"]) && player.pers["team"] == team && player.sessionstate == "playing")
                
    player clearPlayerObjpoints();
        }
    }

    updatePlayerObjpoints()
    {
        if(
    isDefined(self.pers["team"]) && self.pers["team"] != "spectator" && self.sessionstate == "playing")
        {
            
    assert(self.pers["team"] == "allies" || self.pers["team"] == "axis");
            if(
    self.pers["team"] == "allies")
            {
                
    assert(isdefined(level.objpoints_allies));
                
    objpoints level.objpoints_allies;
            }
            else
            {
                
    assert(isdefined(level.objpoints_axis));
                
    objpoints level.objpoints_axis;
            }
            
            
    self clearPlayerObjpoints();
            
            for(
    0objpoints.array.sizei++)
            {
                
    objpoint objpoints.array[i];
                
                
    newobjpoint newClientHudElem(self);
                
    newobjpoint.name objpoint.name;
                
    newobjpoint.objpoint.x;
                
    newobjpoint.objpoint.y;
                
    newobjpoint.objpoint.z;
                
    newobjpoint.alpha .61;
                
    newobjpoint.archived objpoint.archived;
                
    newobjpoint setShader(objpoint.materiallevel.objpoint_scalelevel.objpoint_scale);
                
    newobjpoint setwaypoint(true);
                
                
    self.objpoints[self.objpoints.size] = newobjpoint;
            }
        }
    }

    clearPlayerObjpoints()
    {
        for(
    0self.objpoints.sizei++)
            
    self.objpoints[idestroy();
        
        
    self.objpoints = [];
    }

    clearGlobalObjpoints()
    {
        for(
    0level.objpoints_allplayers.hudelems.sizei++)
            
    level.objpoints_allplayers.hudelems[idestroy();
        
        
    level.objpoints_allplayers.hudelems = [];
    }

    //removePlayerObjpoint(name)
    //{
    //    for(i = 0; i < self.objpoints.size; i++)
    //    {
    //        objpoint = self.objpoints[i];
    //        
    //        if(isdefined(objpoint.name) && objpoint.name == name)
    //            objpoint destroy();
    //    }
    //} 
    Last edited by ORDI; 8th March 2015 at 16:40.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •