Modme Forums
Menu:

i get this error linking scripts

Game Modding | Call of Duty: Black Ops 3 | Scripting


Winitkid:

i cant find the mistake need help


Winitkid:

https://forum.modme.co/threads/%E2%80%9Cerror-linking-script%E2%80%9D.3058/
im looking for missing files lemme do a check on my launcher


Winitkid:

now i cant open ape to see if these assets are missing at all, i dont know if its a gdt error but when i compile and link my map i get this instead of done

[L3akMod (D3V)] (v1.0.3) Initializing modifications...

[L3akMod (D3V)] Modifications have loaded successfully!

in my launcher instead of the "done"
I have had this happen to me b4 in the passed but i forgot what i did to get ape back up and be able to open the other launcher
and when i start game i get this

Command line: +set fs_game zm_landofevil +devmap zm_landofevil
Error: Waited 188 msec for missing asset "debug_sphere_exterior".
Error: Could not find material "debug_sphere_exterior".
Error: etc......(you get the point and i cant open up ape to see if there missing or not)


Error linking script 'scripts/zm/zm_landofevil.gsc'

please im trying to release this as soon as possible heres a peek


please i dont like being stuck
I am very patient as you can see^^
but it can get frustrating when things dont work
cuz i messed up somewhere i can provide any information needed


Winitkid:

https://forum.modme.co/threads/map-is-not-compiling-properly.2115/
found this on it but i did that

i have the latest version and i have validating the integrity of my game files

I'll come back to yall once i can open up ape and delete all the duplicates this creates


Winitkid:

OKAY it had 3 files to replace once i did that i was able to compile and link now but i get this error

i found this on it https://forum.modme.co/threads/harry-bo21s-perk-v2-2-1.3004/
im gonna carefully do this and hope for the best


Sample Text:

I had this happen to my mod before. It relates to any "bad" line(s) of code in the scripts. It may not necessarily be YOURMAPNAME.gsc going wrong, but something else. It can be anything from a script using a function with contents not called, using scripts without the proper #using involved, wrong use of scripts but still compiles due to proper syntax, etc. I am still new to scripting in BO3 so I am sorry if I cannot answer it fully. Hope this helped


Sample Text:

OKAY it had 3 files to replace once i did that i was able to compile and link now but i get this error
[ATTACH=full]989[/ATTACH]
i found this on it https://forum.modme.co/threads/harry-bo21s-perk-v2-2-1.3004/
im gonna carefully do this and hope for the best

Are you using add-on perks? I remember when I was testing out a map and I could not use a certain perk and I got errors, so I gave up, lol. But it could also be a typo in the code. Not totally sure


Winitkid:

hello, Sample Text
Thank you for reply, i am using a addon pack (HB21's perk pack from back in the day), but giving up is never the option!
I have gotten around this problem before some how on these big maps like this

if i could get someone to look at my gsc (hopefully i find it it and its not too serious)
And can someone try to see (if they have the same packs i do) in their version of doubletapp.2 .gscc file and tell if the first four numbers are 8047 (and if not what are they?

i think theres a mistake in my .gsc still cause after doing all of it i still get the same scripting error


no worries Sample text i understand, I was new here at one point too EST.2019
Even i get stuck on stuff like this mainly cuz
im not a frequent modder/nor scripter
most of that time i spent trying to figure out stuff like this out (also ALOT of time in Radiant xD )
As i progress onto this problem tho
i found this link from a similar problem i had on my old map back in the day
https://forum.modme.co/threads/get-error-when-linking-my-map.1388/

1.I think what i did back then was, change 1 number in that .gscc one of these>>
(which # or what to change it to IDR, i really dont feal like trying this again^^ tryed so many numbers i have so many possibilities)
or
2.maybe what i did was, not even use <and Instead i used>
(I cant actually post the file, I dont want to violate any permissions; as their not my prefabs)
or
3. What i did was, i didnt use hb21's doubletap and instead used the games doubletap
all though im sure the perk works fine for others, i just dont want to figure it out and this mght be a viable solution.
(like ima go into radiant and delete his double tap prefab and replace it with the core.commons)



Im trying something out with method #2 atm i'll lyk if it works. :D since im tired of trying to fix the number
even tho i know both are probly needed
(when i keep compiling the map gsh and gsc and everything the doubletapp.gscc is broken somehow
and if i delete it, launcher will say all good but then map still has scripting error,
then if i go to compile it again, it just puts one in replace of it) so i might just end up doing method #3
but when i do that i get the same scripting error(the original one from before) im almost positive its something in my gsc


Winitkid:

heres my gsc if someone can figure out where im screwing things up I have a buildable power in the script

when you turn power on the valve rotates, dam moves, waterfall model appears, water moves, then waterfall model deletes (I thought about doing this in a seperate script but as i have done it without doin that before i went ahead and just put it in my gsc)

and a buyable cover trigger around pap (which i havnt gotten to get around to implementing due to this current problem)
i also want to have a key card that drops appon brutus's first death but dont know where or how to implement it into nsz_brutus.gsc

#using scripts\codescripts\struct;

#using scripts\shared\array_shared;
#using scripts\shared\callbacks_shared;
#using scripts\shared\clientfield_shared;
#using scripts\shared\compass;
#using scripts\shared\exploder_shared;
#using scripts\shared\flag_shared;
#using scripts\shared\laststand_shared;
#using scripts\shared\math_shared;
#using scripts\shared\scene_shared;
#using scripts\shared\util_shared;

#insert scripts\shared\shared.gsh;
#insert scripts\shared\version.gsh;

#insert scripts\zm\_zm_utility.gsh;

#using scripts\zm\_load;
#using scripts\zm\_zm;
#using scripts\zm\_zm_audio;
#using scripts\zm\_zm_powerups;
#using scripts\zm\_zm_utility;
#using scripts\zm\_zm_weapons;
#using scripts\zm\_zm_zonemgr;

#using scripts\shared\ai\zombie_utility;

//Perks
#using scripts\zm\_zm_pack_a_punch;
#using scripts\zm\_zm_pack_a_punch_util;
#using scripts\zm\_zm_perk_additionalprimaryweapon;
#using scripts\zm\_zm_perk_doubletap2;
#using scripts\zm\_zm_perk_deadshot;
#using scripts\zm\_zm_perk_juggernaut;
#using scripts\zm\_zm_perk_quick_revive;
#using scripts\zm\_zm_perk_sleight_of_hand;
#using scripts\zm\_zm_perk_staminup;
#using scripts\zm\_zm_perk_electric_cherry;
#using scripts\zm\_zm_perk_widows_wine;
#using scripts\zm\_zm_perk_vulture_aid;
#using scripts\zm\_zm_perk_whoswho;
#using scripts\zm\_zm_perk_tombstone;
#using scripts\zm\_zm_perk_phdflopper;
#using scripts\zm\_zm_perk_random;

// WAW WEAPON STUFF
#using scripts\zm\_zm_t4_weapons;
// BO2 WEAPON STUFF
#using scripts\zm\_zm_t6_weapons;
// BO3 WEAPON STUFF
#using scripts\zm\_zm_t7_weapons;

//Powerups
#using scripts\zm\_zm_powerup_double_points;
#using scripts\zm\_zm_powerup_carpenter;
#using scripts\zm\_zm_powerup_fire_sale;
#using scripts\zm\_zm_powerup_free_perk;
#using scripts\zm\_zm_powerup_full_ammo;
#using scripts\zm\_zm_powerup_insta_kill;
#using scripts\zm\_zm_powerup_nuke;
//#using scripts\zm\_zm_powerup_weapon_minigun;

//Traps
#using scripts\zm\_zm_trap_electric;

#using scripts\zm\zm_usermap;
// NSZ Brutus
#using scripts\_NSZ\nsz_brutus;
#define PAP_WEAPON_KNUCKLE_CRACK            "zombie_knuckle_crack"

//*****************************************************************************
// MAIN
//*****************************************************************************

function main()
{
    zm_usermap::main();
    level init_keycard();
    // NSZ Brutus
    brutus::init();
    thread power_init();
    
    level._zombie_custom_add_weapons =&amp;custom_add_weapons;
    
    //Setup the levels Zombie Zone Volumes
    level.zones = [];
    level.zone_manager_init_func =&amp;usermap_test_zone_init;
    init_zones[0] = "start_zone";
    level thread zm_zonemgr::manage_zones( init_zones );

    level.pathdist_type = PATHDIST_ORIGINAL;
        thread buildableinit();
}

function init_keycard()
{
    level.key_obtained = false;
    key = GetEnt( "key_trigger", "targetname" );
    key SetCursorHint( "HINT_NOICON" );
    key SetHintString( "Press and Hold ^3&amp;&amp;1^7 to Pick Up Keycard" );
    key thread wait_for_pickup();
      
    key_doors = GetEntArray( "key_door", "targetname" );
    foreach( door in key_doors )
    {
        door SetCursorHint( "HINT_NOICON" );
        door SetHintString( "A Key is Required to Open the Door" );
        door thread wait_for_unlock();
    }
}
 
function wait_for_pickup()
{
    self waittill( "trigger", player );
    model = GetEnt( self.target, "targetname" );
    model delete();
    self delete();
    level.key_obtained = true;
    iprintlnbold( "The Keycard Has Been Obtained" );
}
 
function wait_for_unlock()
{
    level endon( "intermission" );
      
    while( !level.key_obtained )
        wait(0.25);
      
    self SetHintString( "Press and Hold ^3&amp;&amp;1^7 to Unlock Door" );
    self waittill( "trigger", player );
    models = GetEntArray( self.target, "targetname" );
    PlaySoundAtPosition( "zmb_cha_ching", player.origin );
    spawn_flag = models[0].script_flag;
    flag::set( spawn_flag );
    wait(0.05);
    foreach( model in models )
        model delete();
    self delete();
}

function power_init()
{
    level util::set_lighting_state(1); // sets lighting state for power off

    thread waitforpower();
    
}
function waitforpower()
{
    level flag::wait_till("power_on"); // Wait for power to be on
    level util::set_lighting_state(3);

    {
    wait (0.05);
    {
    vmodels = GetEnt("valve", "targetname");
        platform = GetEnt("platform", "targetname");
            dam = GetEnt("platform_a", "targetname");
                models = GetEnt("waterfall_model", "targetname");
                    covert = GetEntArray("covert", "targetname");
                    cylinder = GetEnt("cylinder","targetname");
                    }
    cylinder Hide();
    covert Show();
    vmodels RotateYaw(360,3);
        wait 1;
    iprintlnbold("Get Jugg while you can! The water is rising");
        wait 2;
        dam movez (-46,6);
        wait 5;
            models Show();
        wait (0.05);
    platform movez (70,8);
        wait 7;
            models Delete();
           }
    iprintlnbold("The boxes will need souls to continue");
    
}

function buildableinit()
{
    buildTable = getEnt("powcraft_crafting_trig", "targetname");
    buildTable SetHintString("Missing parts");
    buildTable SetCursorHint("HINT_NOICON");

    level.allParts = 0;
    level.finishedCraft = 2;

    power_trigger = GetEnt("use_elec_switch", "targetname");
    power_trigger TriggerEnable( false );
    power_handle_model = GetEnt("elec_switch", "script_noteworthy");
    power_handle_model hide();
    power_clip = GetEnt("powcraft_clip_build", "targetname");
    power_clip hide();
    power_shaft_model = GetEnt("powcraft_build1", "targetname");
    power_shaft_model hide();
    vmodels = getent("valve", "targetname");
            vmodels Hide();
    models = GetEnt("waterfall_model", "targetname");
            models Hide();
    level thread pick1();
    level thread pick2();
}

function pick1()
{
    pick_trig1 = GetEnt("powcraft_pick1_trig", "targetname");
    pick_trig1 SetHintString("Press and hold &amp;&amp;1 to pickup part");
    pick_trig1 SetCursorHint("HINT_NOICON");
    pick_model1 = GetEnt("powcraft_pick1", "targetname");

    while(1)
    {
        pick_trig1 waittill("trigger", player);

        playfx(level._effect["powerup_grabbed"] ,GetEnt("powcraft_pick1","targetname").origin);

        level.allParts++;

        //IPrintLnBold(level.allParts);

        thread build();
 
        break;
    }

    pick_trig1 delete();
    pick_model1 delete();
}

function pick2()
{
    pick_trig2 = GetEnt("powcraft_pick2_trig", "targetname");
    pick_trig2 SetHintString("Press and hold &amp;&amp;1 to pickup part");
    pick_trig2 SetCursorHint("HINT_NOICON");
    pick_model2 = GetEnt("powcraft_pick2", "targetname");

    while(1)
    {
        pick_trig2 waittill("trigger", player);
 
        playfx(level._effect["powerup_grabbed"] ,GetEnt("powcraft_pick2","targetname").origin);

        level.allParts++;

        //IPrintLnBold(level.allParts);

        thread build();

        break;
    }

    pick_trig2 delete();
    pick_model2 delete();
}

function build()
{

    while(1)
    {
        self waittill( level.allParts &gt;= level.finishedCraft );
 
        if ( level.allParts &gt;= level.finishedCraft )
        {
            buildTable = GetEnt("powcraft_crafting_trig", "targetname");
            buildTable SetHintString("Press and hold &amp;&amp;1 to craft");
            buildTable SetCursorHint("HINT_NOICON");
            buildTable waittill("trigger", player);

            buildTable SetHintString("");

            //playfx(level._effect["powerup_grabbed"] ,GetEnt("powcraft_crafting_trig","targetname").origin);

            player thread do_knuckle_crack();

            wait(2.7);

            thread power_crafted();

            buildTable delete();
        }
        break;
    }
}

function power_crafted()
{
    power_trigger = GetEnt("use_elec_switch", "targetname");
    power_trigger TriggerEnable( true );
    playfx(level._effect["powerup_grabbed"] ,GetEnt("use_elec_switch","targetname").origin);
    power_handle_model = GetEnt("elec_switch", "script_noteworthy");
    power_handle_model show();
    power_clip = GetEnt("powcraft_clip_build", "targetname");
    power_clip show();
    power_shaft_model = GetEnt("powcraft_build1", "targetname");
    power_shaft_model show();
    vmodels = getent("valve", "targetname");
           vmodels show();   
}

/*
                        KNUCKLE CRACK SCRIPT START
*/
function private do_knuckle_crack()
{
    self endon("disconnect");
    self upgrade_knuckle_crack_begin();
 
    self util::waittill_any( "fake_death", "death", "player_downed", "weapon_change_complete" );
 
    self upgrade_knuckle_crack_end();
 
}


//    Switch to the knuckles
//
function private upgrade_knuckle_crack_begin()
{
    self zm_utility::increment_is_drinking();
 
    self zm_utility::disable_player_move_states(true);

    primaries = self GetWeaponsListPrimaries();

    original_weapon = self GetCurrentWeapon();
    weapon = GetWeapon( PAP_WEAPON_KNUCKLE_CRACK );
 
 

    self GiveWeapon( weapon );
    self SwitchToWeapon( weapon );
}

//    Anim has ended, now switch back to something
//
function private upgrade_knuckle_crack_end()
{
    self zm_utility::enable_player_move_states();
 
    weapon = GetWeapon( PAP_WEAPON_KNUCKLE_CRACK );

    // TODO: race condition?
    if ( self laststand::player_is_in_laststand() || IS_TRUE( self.intermission ) )
    {
        self TakeWeapon(weapon);
        return;
    }

    self zm_utility::decrement_is_drinking();

    self TakeWeapon(weapon);
    primaries = self GetWeaponsListPrimaries();
    if( IS_DRINKING(self.is_drinking) )
    {
        return;
    }
    else
    {
        self zm_weapons::switch_back_primary_weapon();
    }
}
/*
                        KNUCKLE CRACK SCRIPT END
*/

function usermap_test_zone_init()
{
    level flag::init( "always_on" );
    level flag::set( "always_on" );
}   

function custom_add_weapons()
{
    zm_weapons::load_weapon_spec_from_table("gamedata/weapons/zm/zm_levelcommon_weapons.csv", 1);
}


Winitkid:

okayyy good news :D
so it wasnt my .gsc
it was something in my old prefab download i had that was corrupt redownloaded the prefab now i get this ui error but i am able to test my map