Last active
September 27, 2021 00:23
-
-
Save kristiker/18c2b093ae64e2039709620a3314c121 to your computer and use it in GitHub Desktop.
CS:GO MIGI3 VScript: Loop through each player model
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ========================================================================================= | |
// THIS FILE WAS GENERATED BY MIGI | |
// ========================================================================================= | |
// | |
// VScripts example, can be used on hosts to play around with entities. | |
// They use a language called Squirrel and have its most basic functionalities. | |
// For the rest use CS:GO's implementations listed bellow. | |
// Not much can be done without events, no way to add them to this system for now. | |
// | |
// Documentation: | |
// | |
// http://squirrel-lang.org/doc/squirrel2.html | |
// https://developer.valvesoftware.com/wiki/List_of_Counter-Strike:_Global_Offensive_Script_Functions | |
// https://developer.valvesoftware.com/wiki/CSGO_Vscript_Examples | |
// | |
// - @ZooL_Smith | |
// | |
// ========================================================================================= | |
// Example variable in the script scope | |
round_number <- 0; | |
::i <- 0; | |
::pm_list_full <-[ | |
"models/player/custom_player/legacy/ctm_diver_varianta.mdl", | |
"models/player/custom_player/legacy/ctm_diver_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_diver_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_fbi.mdl", | |
"models/player/custom_player/legacy/ctm_fbi_varianta.mdl", | |
"models/player/custom_player/legacy/ctm_fbi_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_fbi_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_fbi_variantd.mdl", | |
"models/player/custom_player/legacy/ctm_fbi_variante.mdl", | |
"models/player/custom_player/legacy/ctm_fbi_variantf.mdl", | |
"models/player/custom_player/legacy/ctm_fbi_variantg.mdl", | |
"models/player/custom_player/legacy/ctm_fbi_varianth.mdl", | |
"models/player/custom_player/legacy/ctm_gendarmerie_varianta.mdl", | |
"models/player/custom_player/legacy/ctm_gendarmerie_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_gendarmerie_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_gendarmerie_variantd.mdl", | |
"models/player/custom_player/legacy/ctm_gendarmerie_variante.mdl", | |
"models/player/custom_player/legacy/ctm_gign.mdl", | |
"models/player/custom_player/legacy/ctm_gign_varianta.mdl", | |
"models/player/custom_player/legacy/ctm_gign_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_gign_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_gign_variantd.mdl", | |
"models/player/custom_player/legacy/ctm_gsg9.mdl", | |
"models/player/custom_player/legacy/ctm_gsg9_varianta.mdl", | |
"models/player/custom_player/legacy/ctm_gsg9_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_gsg9_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_gsg9_variantd.mdl", | |
"models/player/custom_player/legacy/ctm_heavy.mdl", | |
"models/player/custom_player/legacy/ctm_idf.mdl", | |
"models/player/custom_player/legacy/ctm_idf_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_idf_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_idf_variantd.mdl", | |
"models/player/custom_player/legacy/ctm_idf_variante.mdl", | |
"models/player/custom_player/legacy/ctm_idf_variantf.mdl", | |
"models/player/custom_player/legacy/ctm_sas.mdl", | |
"models/player/custom_player/legacy/ctm_sas_varianta.mdl", | |
"models/player/custom_player/legacy/ctm_sas_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_sas_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_sas_variantd.mdl", | |
"models/player/custom_player/legacy/ctm_sas_variante.mdl", | |
"models/player/custom_player/legacy/ctm_sas_variantf.mdl", | |
"models/player/custom_player/legacy/ctm_sas_variantg.mdl", | |
"models/player/custom_player/legacy/ctm_st6.mdl", | |
"models/player/custom_player/legacy/ctm_st6_varianta.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variantd.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variante.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variantg.mdl", | |
"models/player/custom_player/legacy/ctm_st6_varianti.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variantj.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variantk.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variantl.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variantm.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variantn.mdl", | |
"models/player/custom_player/legacy/ctm_swat.mdl", | |
"models/player/custom_player/legacy/ctm_swat_varianta.mdl", | |
"models/player/custom_player/legacy/ctm_swat_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_swat_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_swat_variantd.mdl", | |
"models/player/custom_player/legacy/ctm_swat_variante.mdl", | |
"models/player/custom_player/legacy/ctm_swat_variantf.mdl", | |
"models/player/custom_player/legacy/ctm_swat_variantg.mdl", | |
"models/player/custom_player/legacy/ctm_swat_varianth.mdl", | |
"models/player/custom_player/legacy/ctm_swat_varianti.mdl", | |
"models/player/custom_player/legacy/ctm_swat_variantj.mdl", | |
"models/player/custom_player/legacy/ctm_swat_variantk.mdl", | |
"models/player/custom_player/legacy/tm_anarchist.mdl", | |
"models/player/custom_player/legacy/tm_anarchist_varianta.mdl", | |
"models/player/custom_player/legacy/tm_anarchist_variantb.mdl", | |
"models/player/custom_player/legacy/tm_anarchist_variantc.mdl", | |
"models/player/custom_player/legacy/tm_anarchist_variantd.mdl", | |
"models/player/custom_player/legacy/tm_balkan_varianta.mdl", | |
"models/player/custom_player/legacy/tm_balkan_variantb.mdl", | |
"models/player/custom_player/legacy/tm_balkan_variantc.mdl", | |
"models/player/custom_player/legacy/tm_balkan_variantd.mdl", | |
"models/player/custom_player/legacy/tm_balkan_variante.mdl", | |
"models/player/custom_player/legacy/tm_balkan_variantf.mdl", | |
"models/player/custom_player/legacy/tm_balkan_variantg.mdl", | |
"models/player/custom_player/legacy/tm_balkan_varianth.mdl", | |
"models/player/custom_player/legacy/tm_balkan_varianti.mdl", | |
"models/player/custom_player/legacy/tm_balkan_variantj.mdl", | |
"models/player/custom_player/legacy/tm_balkan_variantk.mdl", | |
"models/player/custom_player/legacy/tm_balkan_variantl.mdl", | |
"models/player/custom_player/legacy/tm_jumpsuit_varianta.mdl", | |
"models/player/custom_player/legacy/tm_jumpsuit_variantb.mdl", | |
"models/player/custom_player/legacy/tm_jumpsuit_variantc.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_varianta.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantb.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantb2.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantc.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantd.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variante.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantf.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantf2.mdl", | |
"models/player/custom_player/legacy/tm_leet_varianta.mdl", | |
"models/player/custom_player/legacy/tm_leet_variantb.mdl", | |
"models/player/custom_player/legacy/tm_leet_variantc.mdl", | |
"models/player/custom_player/legacy/tm_leet_variantd.mdl", | |
"models/player/custom_player/legacy/tm_leet_variante.mdl", | |
"models/player/custom_player/legacy/tm_leet_variantf.mdl", | |
"models/player/custom_player/legacy/tm_leet_variantg.mdl", | |
"models/player/custom_player/legacy/tm_leet_varianth.mdl", | |
"models/player/custom_player/legacy/tm_leet_varianti.mdl", | |
"models/player/custom_player/legacy/tm_leet_variantj.mdl", | |
"models/player/custom_player/legacy/tm_leet_variantk.mdl", | |
"models/player/custom_player/legacy/tm_phoenix.mdl", | |
"models/player/custom_player/legacy/tm_phoenix_heavy.mdl", | |
"models/player/custom_player/legacy/tm_phoenix_varianta.mdl", | |
"models/player/custom_player/legacy/tm_phoenix_variantb.mdl", | |
"models/player/custom_player/legacy/tm_phoenix_variantc.mdl", | |
"models/player/custom_player/legacy/tm_phoenix_variantd.mdl", | |
"models/player/custom_player/legacy/tm_phoenix_variantf.mdl", | |
"models/player/custom_player/legacy/tm_phoenix_variantg.mdl", | |
"models/player/custom_player/legacy/tm_phoenix_varianth.mdl", | |
"models/player/custom_player/legacy/tm_phoenix_varianti.mdl", | |
"models/player/custom_player/legacy/tm_pirate.mdl", | |
"models/player/custom_player/legacy/tm_pirate_varianta.mdl", | |
"models/player/custom_player/legacy/tm_pirate_variantb.mdl", | |
"models/player/custom_player/legacy/tm_pirate_variantc.mdl", | |
"models/player/custom_player/legacy/tm_pirate_variantd.mdl", | |
"models/player/custom_player/legacy/tm_professional.mdl", | |
"models/player/custom_player/legacy/tm_professional_var1.mdl", | |
"models/player/custom_player/legacy/tm_professional_var2.mdl", | |
"models/player/custom_player/legacy/tm_professional_var3.mdl", | |
"models/player/custom_player/legacy/tm_professional_var4.mdl", | |
"models/player/custom_player/legacy/tm_professional_varf.mdl", | |
"models/player/custom_player/legacy/tm_professional_varf1.mdl", | |
"models/player/custom_player/legacy/tm_professional_varf2.mdl", | |
"models/player/custom_player/legacy/tm_professional_varf3.mdl", | |
"models/player/custom_player/legacy/tm_professional_varf4.mdl", | |
"models/player/custom_player/legacy/tm_professional_varf5.mdl", | |
"models/player/custom_player/legacy/tm_professional_varg.mdl", | |
"models/player/custom_player/legacy/tm_professional_varh.mdl", | |
"models/player/custom_player/legacy/tm_professional_vari.mdl", | |
"models/player/custom_player/legacy/tm_professional_varj.mdl", | |
"models/player/custom_player/legacy/tm_separatist.mdl", | |
"models/player/custom_player/legacy/tm_separatist_varianta.mdl", | |
"models/player/custom_player/legacy/tm_separatist_variantb.mdl", | |
"models/player/custom_player/legacy/tm_separatist_variantc.mdl", | |
"models/player/custom_player/legacy/tm_separatist_variantd.mdl" | |
]; | |
::pm_riptide <-[ | |
"models/player/custom_player/legacy/tm_balkan_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_diver_varianta.mdl", | |
"models/player/custom_player/legacy/ctm_diver_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_diver_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_gendarmerie_varianta.mdl", | |
"models/player/custom_player/legacy/ctm_gendarmerie_variantb.mdl", | |
"models/player/custom_player/legacy/ctm_gendarmerie_variantc.mdl", | |
"models/player/custom_player/legacy/ctm_gendarmerie_variantd.mdl", | |
"models/player/custom_player/legacy/ctm_gendarmerie_variante.mdl", | |
"models/player/custom_player/legacy/ctm_sas_variantg.mdl", | |
"models/player/custom_player/legacy/ctm_st6_variantn.mdl", | |
"models/player/custom_player/legacy/ctm_swat_variantk.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_varianta.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantb.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantb2.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantc.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantd.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variante.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantf.mdl", | |
"models/player/custom_player/legacy/tm_jungle_raider_variantf2.mdl", | |
"models/player/custom_player/legacy/tm_leet_variantj.mdl", | |
//"models/player/custom_player/legacy/tm_leet_variantk.mdl", | |
"models/player/custom_player/legacy/tm_professional_varf5.mdl" | |
]; | |
// Function called by the main MIGI script each new round | |
function OnNewRound() | |
{ | |
round_number++; | |
i = 0; | |
printl(">> This function has been called after a new round!"); | |
printl(">> Current rounds: " + round_number); | |
printAllPlayersAndBots(); | |
foreach(pm in pm_riptide) | |
{ | |
self.PrecacheModel(pm); | |
printl(" ++ Precached " + pm); | |
} | |
SendToConsole("sv_cheats 1;mp_autoteambalance 0;mp_limitteams 0"); | |
printl("cl_drawhud 0;r_drawviewmodel 0;bot_stop 1;bot_add_t;bot_add_t;bot_add_t;bot_add_t;mp_t_default_secondary 0;mp_t_default_melee 0;mp_death_drop_c4 0;mp_death_drop_gun 0;mp_death_drop_defuser 0"); | |
printl("noclip;fov_cs_debug 73;setpos_exact -148.515015 -982.123413 114.638153;setang -7.035161 -66.786316 0.000000"); | |
printl("bind i \"script respawn()\";bind o \"script respawn(1)\";bind p \"script kill()\""); | |
SendToConsole("bind i \"script respawn()\";bind o \"script respawn(1)\";bind p \"script kill()\""); | |
printl("script set_pos(-86.864990, -1134.085449, 128.031250)"); | |
printl("script set_angle(-5, -5)"); | |
// script print(SPAWN_POS) | |
// (vector : (1041.380127, -1455.685791, 24.031250)) | |
// | |
// fov_cs_debug 60 | |
// setpos_exact 1002.880859 -1552.548584 2.098738;setang 2.667962 68.126427 0.000000 | |
printl(" - DeathCry preview") | |
printl("[I] to respawn, [O] to respawn with different model, [P] to kill") | |
} | |
::ON_DISPLAY <- null; | |
::kill <- function() | |
{ | |
if (ON_DISPLAY != null && ON_DISPLAY.IsValid()) | |
{ | |
EntFireByHandle(ON_DISPLAY, "DispatchResponse", "DeathCry", 0.0, null, null); | |
EntFireByHandle(ON_DISPLAY, "sethealth", "0", 0.0, null, null); | |
ON_DISPLAY = null; | |
} | |
} | |
::SPAWN_POS <- Vector(0, 0, 0); | |
::SPAWN_ANGLE <- [0,0]; | |
::set_mine <- function() | |
{ | |
local ply = null; | |
while(ply = Entities.FindByClassname(ply, "player")) | |
{ | |
SPAWN_POS <- ply.GetOrigin(); | |
//SPAWN_ANGLE <- GetAngles(); | |
} | |
} | |
::set_pos <- function(x=0, y=0, z=0) | |
{ | |
SPAWN_POS <= Vector(x,y,z); | |
} | |
::set_angle <- function(ang1=0, ang2=0) | |
{ | |
SPAWN_ANGLE[0] = ang1; | |
SPAWN_ANGLE[1] = ang2; | |
} | |
::respawn <- function(change=false) | |
{ | |
printl(">> Call me from anywhere! Use `script respawn()` in the console!"); | |
//local player = null; | |
//player = Entities.FindByClassname(bot, "player"); | |
local bot = null; | |
local mdl = pm_riptide[i]; | |
local once = false; | |
local ply = null; | |
while(ply = Entities.FindByClassname(ply, "player")) | |
{ | |
ply.SetModel(mdl); // Sleves | |
} | |
while (bot = Entities.FindByClassname(bot, "cs_bot")) | |
{ | |
bot.SetModel(mdl); | |
if (once == false) | |
{ | |
if(bot.GetHealth() > 0) | |
{ | |
if (ON_DISPLAY != null && ON_DISPLAY.IsValid()) | |
{ | |
ON_DISPLAY.SetOrigin(Vector(0, 0, 0)); | |
} | |
bot.SetOrigin(SPAWN_POS); | |
bot.SetAngles(SPAWN_ANGLE[0], SPAWN_ANGLE[1], 0); | |
ON_DISPLAY = bot; | |
once = true; | |
} | |
} | |
} | |
if (!change) | |
return | |
if(i < (pm_riptide.len()-1)) | |
{ | |
i++; | |
} | |
else | |
{ | |
i <- 0; | |
} | |
} | |
function checkup() | |
{ | |
local z = 5; | |
} | |
function printAllPlayersAndBots() | |
{ | |
foreach(m in ["player","cs_bot"]) | |
{ | |
local ply = null; | |
while(ply = Entities.FindByClassname(ply, m)) | |
{ | |
printl(" - " + ply); | |
} | |
} | |
} | |
// The entity this script is contained in doesn't respawn on new rounds, be careful! | |
printl(">> I'm only called once in there!"); | |
printl(">> I'm contained inside the entity: " + self ); | |
printl(">> This is my table: " + this); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment