Results 1 to 10 of 24

Thread: Gungame FUBAR

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. Default

    ...zero, is gg programmed in java?

    because that was a java method you posted earlier.
    Quote Originally Posted by OMGBEARS
    I feel it is important for me to let you know how feeble your efforts to strike such feelings inside of me really are. I have the internal fortitude of a large animal, an elephant, for instance. Likewise, I'm the result of coitus between the devil and a pack mule made out of chainsaws, so I am extremely strong, and carry little care for others in this world. Trees also stand aside due to my chainsaw blood.
    Quote Originally Posted by ๖ReS View Post
    How am I supposed to tell you to fuck off without replying ?

  2. Default

    No but the language is very similar and the method calls and construction are the same. Also you do not need; as it will still prase line by line but manny sm coders like be still put them in. Here look at my tracer plugin for example:

    Code:
    #include <sourcemod>
    #include <sdktools_functions>
    #include <sdktools>
    
    
    #define VERSION "1.0"
    
    new Handle:hGameConf = INVALID_HANDLE; //*added =... from laser_tag.sp
    new Handle:hGetWeaponPosition = INVALID_HANDLE; //*added =... from laser_tag.sp
    new g_sprite; //*from laser_tag.sp
    
    
    public OnMapStart() //*from laser_tag.sp
    {
        g_sprite = PrecacheModel("materials/effects/gunshiptracer.vmt");
    }
    
    public Plugin:myinfo = 
    {
        name = "Tracers",
        author = "ZERO <ibis>",
        description = "Makes tracers follow bullets",
        version = VERSION,
        url = "www.ibisgaming.com"
    };
    
    
    // create convars and hook event
    public OnPluginStart()
    {
        //*from laser_tag.sp
        hGameConf = LoadGameConfigFile("laser_tag.games");
        if(hGameConf == INVALID_HANDLE)
        {
            SetFailState("gamedata/laser_tag.games.txt not loadable");
        }
        
        
        // Prep some virtual SDK calls *from laser_tag.sp
        StartPrepSDKCall(SDKCall_Player);
        PrepSDKCall_SetFromConf(hGameConf, SDKConf_Virtual, "Weapon_ShootPosition");
        PrepSDKCall_SetReturnInfo(SDKType_Vector, SDKPass_ByValue);
        hGetWeaponPosition = EndPrepSDKCall();
        
        
        
        HookEvent("bullet_impact",Fire);
    }
    
    
    
    public Fire(Handle:event,const String:name[],bool:dontBroadcast)
    {
        if(GetRandomInt(1, 10) <= 2)
        {
            new clientid = GetEventInt(event,"userid");
            new client = GetClientOfUserId(clientid);
            
            new Float:start[3];
            SDKCall(hGetWeaponPosition, client, start);
            
            new Float:end[3]; //consolidated from earlier code however simular to usage in laser_tag.sp
            end[0] = GetEventFloat(event,"x");
            end[1] = GetEventFloat(event,"y");
            end[2] = GetEventFloat(event,"z");
            
            // The following code moves the beam a little bit further away from the player *from laser_tag.sp
            new Float:distance = GetVectorDistance( start, end );
            
            
            // calculate the percentage between 0.4 and the actual distance *from laser_tag.sp
            new Float:percentage = 0.4 / ( distance / 100 );
            
            // we add the difference between origin and destination times the percentage to calculate the new origin *from laser_tag.sp
            new Float:newstart[3];
            newstart[0] = start[0] + ( ( end[0] - start[0] ) * percentage );
            newstart[1] = start[1] + ( ( end[1] - start[1] ) * percentage ) - 0.08;
            newstart[2] = start[2] + ( ( end[2] - start[2] ) * percentage );
            
            new Float:life = 0.3; //*from laser_tag.sp
            new Float:width = 1.0; //*from laser_tag.sp
            new color[4]; //*from laser_tag.sp
            color[0] = 255; //R
            color[1] = 255; //G
            color[2] = 255; //B
            color[3] = 100; //transparency
            
            BeamClient(newstart, end, g_sprite, 0, 0, 0, life, width, width, 1, 0.0, color, 1); //parts *from laser_tag.sp
            BeamClient(end, newstart, g_sprite, 0, 0, 0, life, width+2, width+4, 1, 0.0, color, 6); //parts *from laser_tag.sp
    
            }
    }
    
    BeamClient(const Float:start[3], const Float:end[3], ModelIndex, HaloIndex, StartFrame, FrameRate, Float:Life, Float:Width, Float:EndWidth, FadeLength, Float:Amplitude, const Color[4], Speed)
    {
        TE_SetupBeamPoints(start, end, ModelIndex, HaloIndex, StartFrame, FrameRate, Life, Width, EndWidth, FadeLength, Amplitude, Color, Speed);
        TE_SendToAll();
    }
    You should notice that array usage is basically identical. You can use it the same way like new array[3] = {object,object2,object3}; if you want. However strings are handled in a way that still confuses me a bit. It looks like you can not really create an array of stings and that if you do you need a special method converter. Also when you make strings you must define the length like new String:mystring[256]; creates a 256byt string.



  3. Default

    It actually looks like something I'd like to play with. I have an old blade server here maybe I'll load up a local copy of CS:S and play with it.

  4. Default

    Quote Originally Posted by ZERO View Post
    No but the language is very similar and the method calls and construction are the same. Also you do not need; as it will still prase line by line but manny sm coders like be still put them in. Here look at my tracer plugin for example:


    You should notice that array usage is basically identical. You can use it the same way like new array[3] = {object,object2,object3}; if you want. However strings are handled in a way that still confuses me a bit. It looks like you can not really create an array of stings and that if you do you need a special method converter. Also when you make strings you must define the length like new String:mystring[256]; creates a 256byt string.
    well, it looks actually like a fusion between c++ and java. you're right, the methods are identical to how you'd handle it in java, but the header section (the #includes and such) are straight from c++. about the string arrays, do arraylists exist in this language? they're so much easier to use and manipulate than arrays.
    Quote Originally Posted by OMGBEARS
    I feel it is important for me to let you know how feeble your efforts to strike such feelings inside of me really are. I have the internal fortitude of a large animal, an elephant, for instance. Likewise, I'm the result of coitus between the devil and a pack mule made out of chainsaws, so I am extremely strong, and carry little care for others in this world. Trees also stand aside due to my chainsaw blood.
    Quote Originally Posted by ๖ReS View Post
    How am I supposed to tell you to fuck off without replying ?

  5. Default

    That is why in other posts I have made I refer to it as java but in c++.



  6. Default

    well would an arraylist work?
    Quote Originally Posted by OMGBEARS
    I feel it is important for me to let you know how feeble your efforts to strike such feelings inside of me really are. I have the internal fortitude of a large animal, an elephant, for instance. Likewise, I'm the result of coitus between the devil and a pack mule made out of chainsaws, so I am extremely strong, and carry little care for others in this world. Trees also stand aside due to my chainsaw blood.
    Quote Originally Posted by ๖ReS View Post
    How am I supposed to tell you to fuck off without replying ?

Posting Permissions

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