Skip to content

Instantly share code, notes, and snippets.

@Zeex
Last active January 2, 2016 01:39
Show Gist options
  • Save Zeex/8232286 to your computer and use it in GitHub Desktop.
Save Zeex/8232286 to your computer and use it in GitHub Desktop.
// Example of using Incognito's streamer plugin
//
// Map: Karlip's Christmas Tree
// http://forum.sa-mp.com/showthread.php?t=58588
#include <sampgdk/a_players.h>
#include <sampgdk/a_samp.h>
#include <sampgdk/core.h>
#include <sampgdk/interop.h>
#include <sampgdk/sdk.h>
int CreateDynamicObject(int modelid, float x, float y, float z,
float rx, float ry, float rz, int worldid = -1,
int interiorid = -1, int playerid = -1,
float streamdistance = 200.0, float drawdistance = 0.0)
{
static AMX_NATIVE native = sampgdk::FindNative("CreateDynamicObject");
return sampgdk::InvokeNative(native, "iffffffiiiff", modelid, x, y, z,
rx, ry, rz, worldid, interiorid, playerid,
streamdistance, drawdistance);
}
void Streamer_OnPlayerConnect(int playerid) {
// streamer <= 2.7.2
static AMX_NATIVE native = sampgdk::FindNative("Streamer_CallbackHook");
sampgdk::InvokeNative(native, "ir", 0, &playerid);
}
void Streamer_OnPlayerDisconnect(int playerid, int reason) {
// streamer <= 2.7.2
static AMX_NATIVE native = sampgdk::FindNative("Streamer_CallbackHook");
sampgdk::InvokeNative(native, "irr", 1, &playerid, &reason);
}
PLUGIN_EXPORT bool PLUGIN_CALL OnGameModeInit() {
AddPlayerClass(0, 1958.3783f, 1343.1572f, 15.3746f, 269.1425f, 0, 0, 0, 0, 0, 0);
CreateDynamicObject(664, 2010.949829, 1643.743652, 6.049427, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(880, 2013.736450, 1641.685425, 5.961487, 0.0000, 0.0000, 67.5000);
CreateDynamicObject(880, 2013.488281, 1645.142334, 5.829199, 0.0000, 0.0000, 135.0000);
CreateDynamicObject(880, 2013.081421, 1640.136719, 6.336487, 0.0000, 0.0000, 126.1737);
CreateDynamicObject(880, 2006.745483, 1643.240479, 6.329199, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(880, 2008.582397, 1646.064453, 6.079199, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1262, 2022.754517, 1641.474365, 26.058788, 0.0000, 0.0000, 258.7500);
CreateDynamicObject(1262, 2013.129883, 1644.928467, 34.085743, 0.0000, 0.0000, 326.4820);
CreateDynamicObject(1262, 2014.379883, 1653.848022, 27.160271, 0.0000, 0.0000, 326.4820);
CreateDynamicObject(1262, 2015.629883, 1639.016846, 28.815420, 0.0000, 0.0000, 231.9439);
CreateDynamicObject(1262, 2012.270264, 1642.189087, 38.228939, 0.0000, 0.0000, 231.9439);
CreateDynamicObject(1262, 2011.465454, 1642.064209, 19.750980, 0.0000, 0.0000, 205.3011);
CreateDynamicObject(1262, 2009.812988, 1642.470459, 26.796164, 0.0000, 0.0000, 104.0512);
CreateDynamicObject(1262, 2011.278320, 1645.186768, 39.179482, 0.0000, 0.0000, 36.5512);
CreateDynamicObject(1262, 2011.056030, 1636.988647, 34.348076, 0.0000, 0.0000, 110.3593);
CreateDynamicObject(1262, 2011.141235, 1643.440308, 42.794094, 0.0000, 0.0000, 143.8782);
CreateDynamicObject(1262, 2002.337524, 1643.814941, 34.308735, 0.0000, 0.0000, 87.1555);
CreateDynamicObject(1262, 2004.812988, 1650.108765, 28.360149, 0.0000, 0.0000, 43.3242);
CreateDynamicObject(1262, 2012.682861, 1645.186768, 19.154238, 0.0000, 0.0000, 302.0743);
CreateDynamicObject(1262, 2010.731812, 1642.314209, 23.271656, 0.0000, 0.0000, 167.0744);
CreateDynamicObject(1262, 2011.904053, 1645.186768, 44.557899, 0.0000, 0.0000, 347.0744);
CreateDynamicObject(3534, 2011.734619, 1654.561646, 20.430519, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3534, 2022.254761, 1643.538452, 21.465927, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3534, 2017.879883, 1636.772827, 16.966280, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3534, 2024.879883, 1638.432251, 25.120003, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3534, 2021.416748, 1639.563965, 37.753441, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3534, 2014.013428, 1632.289185, 35.374527, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3534, 2001.192749, 1629.314697, 23.013042, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3534, 2004.813232, 1636.931519, 33.010498, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3534, 2002.562988, 1639.756470, 29.641132, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3534, 2004.337769, 1648.742798, 33.511772, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(9833, 2015.882324, 1666.638916, 9.405668, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2028.607422, 1697.932373, 12.091644, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2028.493286, 1683.115967, 12.068207, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2028.430786, 1663.112305, 13.201019, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2028.591187, 1643.476196, 13.224457, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2028.704102, 1628.338379, 13.388519, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2028.557373, 1618.204712, 13.388519, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2028.544067, 1603.065063, 13.224457, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2028.420898, 1593.086792, 12.083832, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2028.549683, 1583.000488, 12.122894, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2028.434082, 1563.251953, 12.380707, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 2007.167969, 1698.724976, 10.189472, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 1975.036621, 1698.868286, 10.189472, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 1944.846313, 1698.913330, 10.189472, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3472, 1998.838135, 1669.923340, 22.142597, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3666, 2032.388184, 1683.139282, 10.212732, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3666, 2032.410034, 1697.966675, 10.961170, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3666, 2032.363770, 1663.098877, 11.845545, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3666, 2032.424438, 1643.487427, 11.618982, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3666, 2032.463135, 1628.192139, 12.033045, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3666, 2032.418457, 1618.209229, 11.958046, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3666, 2032.468628, 1603.097168, 11.944004, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3666, 2032.428101, 1593.324951, 10.778379, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3666, 2032.397949, 1582.933960, 10.517420, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3666, 2032.438599, 1563.294922, 10.950237, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(7666, 2011.708130, 1643.179565, 55.096191, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(7666, 2011.748047, 1643.181152, 55.121223, 0.0000, 0.0000, 88.5220);
CreateDynamicObject(1575, 2008.793823, 1627.808228, 10.628981, 1.7189, 24.0642, 246.7179);
CreateDynamicObject(1576, 2008.573730, 1627.992554, 10.678675, 0.0000, 329.0603, 17.1887);
CreateDynamicObject(1577, 2008.302856, 1627.605469, 10.578989, 0.0000, 0.0000, 302.8133);
CreateDynamicObject(1578, 2008.778320, 1627.277832, 10.553989, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1580, 2009.018799, 1627.595093, 10.614983, 0.0000, 20.6265, 329.9197);
CreateDynamicObject(1579, 2008.826538, 1627.095581, 10.656723, 0.0000, 18.0482, 261.3283);
CreateDynamicObject(1575, 2009.202393, 1627.885864, 10.578989, 0.0000, 0.0000, 22.9728);
CreateDynamicObject(1577, 2009.403198, 1627.782471, 10.611088, 0.0000, 14.6104, 313.3585);
CreateDynamicObject(2044, 2007.807373, 1627.955688, 10.629095, 0.0000, 0.0000, 225.0000);
CreateDynamicObject(2710, 2008.299927, 1627.146118, 10.701964, 0.0000, 0.0000, 326.2500);
CreateDynamicObject(2690, 2009.392578, 1627.202759, 10.660983, 267.1808, 83.3654, 0.0000);
CreateDynamicObject(2035, 2008.254883, 1628.172363, 10.866725, 0.0000, 317.0282, 8.5944);
CreateDynamicObject(1550, 2010.222290, 1627.296509, 10.994905, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1550, 2010.231445, 1626.959595, 10.994905, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1318, 2008.875122, 1628.077026, 13.517836, 0.0000, 0.0000, 101.2500);
CreateDynamicObject(1314, 2032.782349, 1628.165771, 12.802753, 0.0000, 0.0000, 101.2500);
CreateDynamicObject(1279, 2007.639404, 1627.489624, 10.583550, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1262, 2011.020996, 1634.239136, 35.678009, 0.0000, 0.0000, 179.5182);
CreateDynamicObject(1262, 2014.529785, 1633.564209, 25.557293, 0.0000, 0.0000, 204.6738);
CreateDynamicObject(1262, 2003.736938, 1651.355591, 21.544958, 0.0000, 0.0000, 49.0475);
CreateDynamicObject(1262, 2011.282715, 1645.186768, 32.478458, 0.0000, 0.0000, 346.7041);
CreateDynamicObject(1262, 2013.033936, 1645.186768, 24.647411, 0.0000, 0.0000, 312.9542);
CreateDynamicObject(1262, 2011.192749, 1645.186768, 32.957932, 0.0000, 0.0000, 20.4541);
CreateDynamicObject(1262, 2011.697021, 1642.314209, 42.106693, 0.0000, 0.0000, 189.2040);
CreateDynamicObject(1262, 2018.904907, 1646.748535, 28.052940, 0.0000, 0.0000, 285.0654);
CreateDynamicObject(1262, 2004.210693, 1640.814209, 39.348118, 0.0000, 0.0000, 86.5356);
CreateDynamicObject(1318, 2028.555054, 1627.547241, 13.505692, 269.7591, 357.4217, 270.0000);
CreateDynamicObject(1318, 2029.043457, 1628.112671, 13.466204, 269.7591, 357.4217, 168.7501);
CreateDynamicObject(1318, 2028.868286, 1618.252563, 13.438831, 270.6186, 0.0000, 0.0000);
CreateDynamicObject(1318, 2028.377808, 1618.901978, 13.423612, 270.6186, 0.0000, 255.9399);
CreateDynamicObject(3534, 2022.379883, 1647.889893, 26.774643, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(3534, 2010.748657, 1644.186768, 31.379835, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(16151, 1994.639893, 1619.719849, 11.607607, 0.0000, 0.0000, 270.7821);
CreateDynamicObject(1669, 1997.215332, 1620.500122, 12.379728, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1667, 1995.775879, 1620.794067, 12.301604, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1665, 1991.686279, 1620.348389, 12.183478, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1551, 1992.594727, 1620.717163, 12.453289, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1548, 1994.401733, 1620.680542, 12.225350, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1546, 1993.309204, 1620.656494, 12.302154, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1545, 1997.391968, 1619.029663, 12.906094, 0.0000, 0.0000, 268.8997);
CreateDynamicObject(1543, 1998.025635, 1620.222168, 12.228513, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1240, 2021.079590, 1657.278931, 23.553213, 0.0000, 0.0000, 274.0563);
CreateDynamicObject(1240, 2016.879883, 1643.737061, 17.712482, 0.0000, 0.0000, 355.7028);
CreateDynamicObject(1240, 2018.129883, 1636.556030, 33.471741, 0.0000, 0.0000, 230.2250);
CreateDynamicObject(1240, 2018.801392, 1635.839966, 29.751951, 0.0000, 0.0000, 230.2250);
CreateDynamicObject(1240, 2002.562988, 1635.022949, 25.069668, 0.0000, 0.0000, 333.3575);
CreateDynamicObject(1240, 2003.062988, 1643.306519, 35.413052, 0.0000, 0.0000, 300.6989);
CreateDynamicObject(1240, 2011.195068, 1651.636963, 21.528238, 0.0000, 0.0000, 351.4056);
CreateDynamicObject(1240, 2008.838745, 1645.973999, 44.215595, 0.0000, 0.0000, 28.3614);
CreateDynamicObject(1262, 2017.879883, 1637.116699, 32.472828, 0.0000, 93.6786, 220.7713);
CreateDynamicObject(1262, 2020.879883, 1643.518311, 30.346861, 0.0000, 0.0000, 258.7500);
CreateDynamicObject(1262, 2016.923706, 1637.763916, 19.884293, 0.0000, 0.0000, 241.0974);
CreateDynamicObject(1262, 2005.040527, 1637.689331, 17.895710, 0.0000, 0.0000, 134.7680);
CreateDynamicObject(1215, 2027.972046, 1556.274780, 29.475250, 0.0000, 0.0000, 0.0000);
CreateDynamicObject(1215, 2029.511108, 1556.202759, 29.510527, 0.0000, 0.0000, 0.0000);
return true;
}
PLUGIN_EXPORT bool PLUGIN_CALL OnPlayerConnect(int playerid) {
Streamer_OnPlayerConnect(playerid);
return true;
}
PLUGIN_EXPORT bool PLUGIN_CALL OnPlayerDisconnect(int playerid, int reason) {
Streamer_OnPlayerDisconnect(playerid, reason);
return true;
}
PLUGIN_EXPORT bool PLUGIN_CALL OnPlayerRequestClass(int playerid, int classid) {
SetPlayerPos(playerid, 1958.3783f, 1343.1572f, 15.3746f);
SetPlayerCameraPos(playerid, 1958.3783f, 1343.1572f, 15.3746f);
SetPlayerCameraLookAt(playerid, 1958.3783f, 1343.1572f, 15.3746f, CAMERA_CUT);
return true;
}
PLUGIN_EXPORT unsigned int PLUGIN_CALL Supports() {
return SUPPORTS_VERSION | SUPPORTS_PROCESS_TICK;
}
PLUGIN_EXPORT bool PLUGIN_CALL Load(void **ppData) {
return sampgdk::Load(ppData);
}
PLUGIN_EXPORT void PLUGIN_CALL Unload() {
sampgdk::Unload();
}
PLUGIN_EXPORT void PLUGIN_CALL ProcessTick() {
sampgdk::ProcessTick();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment