A PHP Error was encountered

Severity: 8192

Message: Function create_function() is deprecated

Filename: geshi/geshi.php

Line Number: 4698

Backtrace:

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4698
Function: _error_handler

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4621
Function: _optimize_regexp_list_tokens_to_string

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 1655
Function: optimize_regexp_list

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2029
Function: optimize_keyword_group

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2168
Function: build_parse_cache

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/Process.php
Line: 45
Function: parse_code

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/models/Pastes.php
Line: 517
Function: syntax

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 693
Function: getPaste

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once

lasermine - Stikked
From cssb, 6 Years ago, written in C++.
Embed
  1. /* ERROR! Can't print expression: Heap */
  2.  function "Socket_IncomingData" (number 62)
  3. public PlayerSpawnPre(id)
  4. {
  5.         g_fSpawnTime[id] = get_gametime();
  6.         return 0;
  7. }
  8.  
  9. public advertising()
  10. {
  11.         if (PluginsOn != 1)
  12.         {
  13.                 return 0;
  14.         }
  15.         if (get_pcvar_num(cvar_iadvertising) != 1)
  16.         {
  17.                 return 0;
  18.         }
  19.         static ad_time;
  20.         if (get_pcvar_num(cvar_iadvertising_time) <= ad_time)
  21.         {
  22.                 new id = 1;
  23.                 while (get_maxplayers() > id)
  24.                 {
  25.                         client_print_color(id, id / 34 / 35 / 33, "%L", id, "STFM_ADVERTISING");
  26.                         id++;
  27.                 }
  28.                 ad_time = 0;
  29.         }
  30.         ad_time += 1;
  31.         return 0;
  32. }
  33.  
  34. public Beam_Think(ent)
  35. {
  36.         new mine = entity_get_edict(ent, 4);
  37.         if (!is_valid_ent(ent))
  38.         {
  39.                 UTIL_Remove(ent);
  40.         }
  41.         if (entity_get_int(mine, 5) != entity_get_int(ent, 5))
  42.         {
  43.                 UTIL_Remove(ent);
  44.         }
  45.         entity_set_float(ent, 7, floatadd(get_gametime(), beamtimethink));
  46.         return 0;
  47. }
  48.  
  49. public RoundEnd()
  50. {
  51.         new ent;
  52.         while ((ent = find_ent_by_class(ent, 1920)))
  53.         {
  54.                 new id = entity_get_edict(ent, 10);
  55.                 new beam[5];
  56.                 new i;
  57.                 while (i < 5)
  58.                 {
  59.                         beam[i] = get_beam_mine(id, ent, i + 60);
  60.                         if (is_valid_ent(beam[i]))
  61.                         {
  62.                                 remove_entity(beam[i]);
  63.                         }
  64.                         i++;
  65.                 }
  66.                 new iOwner = entity_get_edict(ent, 10);
  67.                 remove_entity(ent);
  68.                 set_free_mine(iOwner, ent);
  69.         }
  70.         return 0;
  71. }
  72.  
  73. public SetLaser_CMD(id)
  74. {
  75.         if (PluginsOn)
  76.         {
  77.                 if (PluginsOn == -1)
  78.                 {
  79.                         client_print_color(id, id / 34 / 35 / 33, 269832);
  80.                         return 1;
  81.                 }
  82.                 if (23 <= get_pcvar_num(cvar_imax_count))
  83.                 {
  84.                         set_cvar_num(270528, 20);
  85.                 }
  86.                 if (23 <= get_pcvar_num(cvar_imax_admin_count))
  87.                 {
  88.                         set_cvar_num(270572, 20);
  89.                 }
  90.                 new var1;
  91.                 if (!get_admin_flag() & get_user_flags(id, 0) && GetPlayer_Mines(id) >= get_pcvar_num(cvar_imax_count))
  92.                 {
  93.                         playerData[id][1] = floatadd(get_gametime(), PLANTWAITTIME);
  94.                         client_print_color(id, id / 34 / 35 / 33, "%L", id, "SFTM_MAX");
  95.                         return 1;
  96.                 }
  97.                 new var2;
  98.                 if (get_admin_flag() & get_user_flags(id, 0) && GetPlayer_Mines(id) >= get_pcvar_num(cvar_imax_admin_count))
  99.                 {
  100.                         playerData[id][1] = floatadd(get_gametime(), PLANTWAITTIME);
  101.                         client_print_color(id, id / 34 / 35 / 33, "%L", id, "SFTM_MAX");
  102.                         return 1;
  103.                 }
  104.                 playerData[id][2] = 1;
  105.                 thinkHooks += 1;
  106.                 if (thinkHooks == 1)
  107.                 {
  108.                         if (!playerPostThink)
  109.                         {
  110.                                 playerPostThink = RegisterHam(58, 270736, 270764, 1);
  111.                         }
  112.                         EnableHamForward(playerPostThink);
  113.                 }
  114.                 return 1;
  115.         }
  116.         client_print_color(id, id / 34 / 35 / 33, 269332);
  117.         return 1;
  118. }
  119.  
  120. public SetLaser_DropCMD(id)
  121. {
  122.         if (!playerData[id][2])
  123.         {
  124.                 return 1;
  125.         }
  126.         thinkHooks -= 1;
  127.         if (0 >= thinkHooks)
  128.         {
  129.                 DisableHamForward(playerPostThink);
  130.         }
  131.         playerData[id][2] = 0;
  132.         if (is_valid_ent(playerData[id][0]))
  133.         {
  134.                 remove_entity(playerData[id][0]);
  135.                 Send_BarTime(id, 0.0);
  136.                 set_free_mine(id, playerData[id][0]);
  137.                 playerData[id][0] = -1;
  138.                 playerData[id][1] = floatadd(get_gametime(), PLANTWAITTIME);
  139.         }
  140.         return 1;
  141. }
  142.  
  143. public Player_PostThink(id)
  144. {
  145.         if (playerData[id][2])
  146.         {
  147.                 if (TripMine_PlantThink(id, false))
  148.                 {
  149.                         TripMine_Plant(id, playerData[id][0]);
  150.                 }
  151.         }
  152.         return 0;
  153. }
  154.  
  155. TripMine_Spawn()
  156. {
  157.         new tm = create_entity(1992);
  158.         entity_set_string(tm, 0, 1920);
  159.         entity_set_int(tm, 14, 5);
  160.         entity_set_int(tm, 15, 0);
  161.         new var1 = szModels;
  162.         entity_set_model(tm, var1[0][var1]);
  163.         entity_set_float(tm, 10, 0);
  164.         entity_set_int(tm, 17, 3);
  165.         entity_set_int(tm, 20, 7);
  166.         entity_set_float(tm, 12, 0);
  167.         entity_set_size(tm, 270832, 270844);
  168.         return tm;
  169. }
  170.  
  171. GetPlayer_Mines(id)
  172. {
  173.         new ent;
  174.         new cnt;
  175.         while ((ent = find_ent_by_class(ent, 1920)))
  176.         {
  177.                 if (entity_get_edict(ent, 10) == id)
  178.                 {
  179.                         cnt++;
  180.                 }
  181.         }
  182.         return cnt;
  183. }
  184.  
  185. TripMine_PlantThink(id, bool:reset)
  186. {
  187.         if (playerData[id][1] > get_gametime())
  188.         {
  189.                 return 0;
  190.         }
  191.         new ent = playerData[id][0];
  192.         new target;
  193.         new body;
  194.         new Float:dist = get_user_aiming(id, target, body, useraiminglength);
  195.         if (dist <= 0.0)
  196.         {
  197.                 if (is_valid_ent(ent))
  198.                 {
  199.                         set_free_mine(id, ent);
  200.                         remove_entity(ent);
  201.                         Send_BarTime(id, 0.0);
  202.                 }
  203.                 playerData[id][0] = -1;
  204.                 SetLaser_DropCMD(id);
  205.                 return 0;
  206.         }
  207.         new var1;
  208.         if (!is_user_alive(id) || is_user_alive(target))
  209.         {
  210.                 if (is_valid_ent(ent))
  211.                 {
  212.                         set_free_mine(id, ent);
  213.                         remove_entity(ent);
  214.                         Send_BarTime(id, 0.0);
  215.                 }
  216.                 client_print_color(id, id / 34 / 35 / 33, "%L", id, "SFTM_STOPPLAYER");
  217.                 playerData[id][0] = -1;
  218.                 SetLaser_DropCMD(id);
  219.                 return 0;
  220.         }
  221.         new var2;
  222.         if (!is_user_alive(id) || cs_get_user_money(id) - get_pcvar_num(cvar_imine_cost) < 0)
  223.         {
  224.                 if (is_valid_ent(ent))
  225.                 {
  226.                         set_free_mine(id, ent);
  227.                         remove_entity(ent);
  228.                         Send_BarTime(id, 0.0);
  229.                 }
  230.                 client_print_color(id, id / 34 / 35 / 33, "%L", id, "SFTM_COST", get_pcvar_num(cvar_imine_cost));
  231.                 playerData[id][0] = -1;
  232.                 SetLaser_DropCMD(id);
  233.                 return 0;
  234.         }
  235.         if (reset)
  236.         {
  237.                 if (is_valid_ent(ent))
  238.                 {
  239.                         set_free_mine(id, ent);
  240.                         remove_entity(ent);
  241.                         Send_BarTime(id, 0.0);
  242.                         playerData[id][0] = -1;
  243.                         return 1;
  244.                 }
  245.                 return 0;
  246.         }
  247.         new Float:vecSrc[3] = 0.0;
  248.         new Float:vecAiming[3] = 0.0;
  249.         entity_get_vector(id, 9, vecSrc);
  250.         engfunc(17, vecSrc);
  251.         entity_get_vector(id, 0, vecSrc);
  252.         entity_get_vector(id, 18, vecAiming);
  253.         xs_vec_add(vecSrc, vecAiming, vecSrc);
  254.         get_global_vector(26, vecAiming);
  255.         xs_vec_mul_scalar(vecAiming, PLANT_RADIUS, vecAiming);
  256.         xs_vec_add(vecSrc, vecAiming, vecAiming);
  257.         new Float:flFraction = 0.0;
  258.         engfunc(29, vecSrc, vecAiming, 259, id, 0);
  259.         get_tr2(0, 4, flFraction);
  260.         if (flFraction < 1.0)
  261.         {
  262.                 new pHit;
  263.                 new Float:vecEnd[3] = 0.0;
  264.                 new bool:noUpdate;
  265.                 get_tr2(0, 5, vecEnd);
  266.                 while ((pHit = find_ent_in_sphere(pHit, vecEnd, 1090519040)))
  267.                 {
  268.                         new var3;
  269.                         if (!(pHit <= maxPlayers || ent != pHit))
  270.                         {
  271.                                 new classname[32];
  272.                                 entity_get_string(pHit, 0, classname, 31);
  273.                                 if (strcmp(classname, 1920, 0))
  274.                                 {
  275.                                 }
  276.                                 else
  277.                                 {
  278.                                         noUpdate = true;
  279.                                         if (!is_valid_ent(ent))
  280.                                         {
  281.                                                 return 0;
  282.                                         }
  283.                                 }
  284.                         }
  285.                 }
  286.                 if (!is_valid_ent(ent))
  287.                 {
  288.                         ent = TripMine_Spawn();
  289.                         entity_set_int(ent, 32, 5);
  290.                         entity_set_float(ent, 29, 1132396544);
  291.                         new Float:plantTime = PLANT_TIME;
  292.                         entity_set_float(ent, 36, floatadd(get_gametime(), plantTime));
  293.                         if (get_pcvar_num(cvar_reset_speed_on) == 1)
  294.                         {
  295.                                 entity_set_float(id, 30, fl_maxspeed);
  296.                         }
  297.                         Send_BarTime(id, plantTime);
  298.                         playerData[id][0] = ent;
  299.                 }
  300.                 if (!noUpdate)
  301.                 {
  302.                         new Float:vecPlaneNormal[3] = 0.0;
  303.                         new Float:angles[3] = 0.0;
  304.                         new Float:mAngles[3] = 0.0;
  305.                         get_tr2(0, 7, vecPlaneNormal);
  306.                         vector_to_angle(vecPlaneNormal, angles);
  307.                         xs_vec_copy(angles, mAngles);
  308.                         set_mine_vector(id, ent, mAngles, 50);
  309.                         xs_vec_mul_scalar(vecPlaneNormal, 8.0, vecPlaneNormal);
  310.                         xs_vec_add(vecEnd, vecPlaneNormal, vecEnd);
  311.                         entity_set_origin(ent, vecEnd);
  312.                         entity_set_vector(ent, 6, angles);
  313.                 }
  314.                 if (entity_get_float(ent, 36) < get_gametime())
  315.                 {
  316.                         set_pev(ent, 100, 1);
  317.                         new Float:m_vecDir[3] = 0.0;
  318.                         new Float:angles[3] = 0.0;
  319.                         get_mine_vector(id, ent, 50);
  320.                         entity_get_vector(ent, 19, angles);
  321.                         engfunc(17, angles);
  322.                         get_global_vector(26, m_vecDir);
  323.                         m_vecDir[2] = -m_vecDir[2];
  324.                         set_mine_vector(id, ent, m_vecDir, 1);
  325.                         new Float:m_vecDir[3] = 0.0;
  326.                         new Float:angles[3] = 0.0;
  327.                         get_mine_vector(id, ent, 50);
  328.                         entity_get_vector(ent, 19, angles);
  329.                         new var4;
  330.                         if (angles[0] == angl1 || angles[0] == angl2)
  331.                         {
  332.                                 angles[0] = floatadd(angles[0], get_pcvar_float(cvar_fhorizontal_angle));
  333.                                 angles[1] += angl1;
  334.                         }
  335.                         else
  336.                         {
  337.                                 new var8 = angles[1];
  338.                                 var8 = floatadd(var8, get_pcvar_float(cvar_fhorizontal_angle));
  339.                         }
  340.                         engfunc(17, angles);
  341.                         get_global_vector(26, m_vecDir);
  342.                         m_vecDir[2] = -m_vecDir[2];
  343.                         set_mine_vector(id, ent, m_vecDir, 5);
  344.                         new Float:m_vecDir[3] = 0.0;
  345.                         new Float:angles[3] = 0.0;
  346.                         get_mine_vector(id, ent, 50);
  347.                         entity_get_vector(ent, 19, angles);
  348.                         new var5;
  349.                         if (angles[0] == angl1 || angles[0] == angl2)
  350.                         {
  351.                                 angles[0] = floatadd(angles[0], get_pcvar_float(cvar_fhorizontal_angle));
  352.                                 angles[1] += -angl1;
  353.                         }
  354.                         else
  355.                         {
  356.                                 new var9 = angles[1];
  357.                                 var9 = floatsub(var9, get_pcvar_float(cvar_fhorizontal_angle));
  358.                         }
  359.                         engfunc(17, angles);
  360.                         get_global_vector(26, m_vecDir);
  361.                         m_vecDir[2] = -m_vecDir[2];
  362.                         set_mine_vector(id, ent, m_vecDir, 10);
  363.                         new Float:m_vecDir[3] = 0.0;
  364.                         new Float:angles[3] = 0.0;
  365.                         get_mine_vector(id, ent, 50);
  366.                         entity_get_vector(ent, 19, angles);
  367.                         new var6;
  368.                         if (angles[0] == angl1 || angles[0] == angl2)
  369.                         {
  370.                                 angles[0] = floatadd(angles[0], get_pcvar_float(cvar_fvertical_angle));
  371.                                 angles[1] += 0;
  372.                         }
  373.                         else
  374.                         {
  375.                                 angles[0] = floatadd(angles[0], get_pcvar_float(cvar_fvertical_angle));
  376.                         }
  377.                         engfunc(17, angles);
  378.                         get_global_vector(26, m_vecDir);
  379.                         m_vecDir[2] = -m_vecDir[2];
  380.                         set_mine_vector(id, ent, m_vecDir, 15);
  381.                         new Float:m_vecDir[3] = 0.0;
  382.                         new Float:angles[3] = 0.0;
  383.                         get_mine_vector(id, ent, 50);
  384.                         entity_get_vector(ent, 19, angles);
  385.                         new var7;
  386.                         if (angles[0] == angl1 || angles[0] == angl2)
  387.                         {
  388.                                 angles[0] = floatsub(angles[0], get_pcvar_float(cvar_fvertical_angle));
  389.                                 angles[1] += 0;
  390.                         }
  391.                         else
  392.                         {
  393.                                 angles[0] = floatsub(angles[0], get_pcvar_float(cvar_fvertical_angle));
  394.                         }
  395.                         engfunc(17, angles);
  396.                         get_global_vector(26, m_vecDir);
  397.                         m_vecDir[2] = -m_vecDir[2];
  398.                         set_mine_vector(id, ent, m_vecDir, 20);
  399.                         return 1;
  400.                 }
  401.         }
  402.         else
  403.         {
  404.                 if (is_valid_ent(ent))
  405.                 {
  406.                         remove_entity(ent);
  407.                         Send_BarTime(id, 0.0);
  408.                         set_free_mine(id, ent);
  409.                         playerData[id][0] = -1;
  410.                 }
  411.         }
  412.         return 0;
  413. }
  414.  
  415.  
  416. /* ERROR! null */
  417.  function "TripMine_Plant" (number 73)
  418. public client_PreThink(id)
  419. {
  420.         if (!is_user_alive(id))
  421.         {
  422.                 return 0;
  423.         }
  424.         new button = get_user_button(id);
  425.         new var1;
  426.         if (button & 32 && !message1[id])
  427.         {
  428.                 new target;
  429.                 new body;
  430.                 new Float:dist = get_user_aiming(id, target, body, useraiminglength);
  431.                 new iOwner = entity_get_edict(target, 10);
  432.                 if (id != iOwner)
  433.                 {
  434.                         return 0;
  435.                 }
  436.                 new var2;
  437.                 if (dist > 0.0 && dist < 150.0 && is_valid_ent(target))
  438.                 {
  439.                         new classname[32];
  440.                         entity_get_string(target, 0, classname, 31);
  441.                         if (strcmpon == strcmp(classname, 1920, 0))
  442.                         {
  443.                                 new mineNum = get_mine_num(iOwner, target);
  444.                                 if (mineNum != 23)
  445.                                 {
  446.                                         if (g_MineData[iOwner][mineNum][68])
  447.                                         {
  448.                                                 g_MineData[iOwner][mineNum][68] = 0;
  449.                                         }
  450.                                         else
  451.                                         {
  452.                                                 g_MineData[iOwner][mineNum][68] = 1;
  453.                                         }
  454.                                         message1[id] = 1;
  455.                                         set_task(1050253722, 271376, id, 231612, 0, 231616, 0);
  456.                                 }
  457.                         }
  458.                 }
  459.         }
  460.         return 0;
  461. }
  462.  
  463. public UnUse(id)
  464. {
  465.         message1[id] = 0;
  466.         return 0;
  467. }
  468.  
  469.  
  470. /* ERROR! null */
  471.  function "TripMine_Think" (number 76)
  472. damagetoplayer(ent, target)
  473. {
  474.         new newHealth = get_user_health(target) - floatround(get_pcvar_float(cvar_fmine_damage), 0);
  475.         if (newHealth <= killHealth)
  476.         {
  477.                 emit_sound(target, 1, 271724, 1065353216, 1061997773, 0, 100);
  478.                 new targetFrags = get_user_frags(target) + 1;
  479.                 new owner = entity_get_edict(ent, 10);
  480.                 if (!is_user_connected(owner))
  481.                 {
  482.                         return 0;
  483.                 }
  484.                 new ownerFrags = get_user_frags(owner) + 1;
  485.                 set_user_frags(target, targetFrags);
  486.                 set_user_frags(owner, ownerFrags);
  487.                 cs_set_user_money(owner, get_pcvar_num(cvar_mine_killreward) + cs_get_user_money(owner), 1);
  488.                 message_begin(2, g_msgDeathMsg, 271848, 0);
  489.                 write_byte(owner);
  490.                 write_byte(target);
  491.                 write_byte(0);
  492.                 write_string(271860);
  493.                 message_end();
  494.                 new numkill = pev(ent, 101);
  495.                 set_pev(ent, 101, numkill + 1);
  496.                 scoreinfo_update(owner, ownerFrags, cs_get_user_deaths(owner), cs_get_user_team(owner, 0));
  497.                 set_msg_block(g_msgDeathMsg, 1);
  498.         }
  499.         set_user_health(target, newHealth);
  500.         new Float:Origin[3] = 0.0;
  501.         entity_get_vector(target, 0, Origin);
  502.         message_begin(8, g_msgDamage, 271904, target);
  503.         write_byte(floatround(get_pcvar_float(cvar_fmine_damage), 0));
  504.         write_byte(floatround(get_pcvar_float(cvar_fmine_damage), 0));
  505.         write_long(2);
  506.         write_coord(floatround(Origin[0], 0));
  507.         write_coord(floatround(Origin[1], 0));
  508.         write_coord(floatround(Origin[2], 0));
  509.         message_end();
  510.         return 0;
  511. }
  512.  
  513. scoreinfo_update(id, frags, deaths, team)
  514. {
  515.         message_begin(2, g_msgScoreInfo, 1444, 0);
  516.         write_byte(id);
  517.         write_short(frags);
  518.         write_short(deaths);
  519.         write_short(0);
  520.         write_short(team);
  521.         message_end();
  522.         return 0;
  523. }
  524.  
  525.  
  526. /* ERROR! null */
  527.  function "TripMine_StatusInfo" (number 79)
  528.  
  529. /* ERROR! null */
  530.  function "TripMine_Damage" (number 80)
  531. public TripMine_Killed(ent)
  532. {
  533.         new classname[32];
  534.         entity_get_string(ent, 0, classname, 31);
  535.         if (strcmp(classname, 1920, 0))
  536.         {
  537.                 return 1;
  538.         }
  539.         new beam[5];
  540.         new i;
  541.         while (i < 5)
  542.         {
  543.                 beam[i] = get_beam_mine(entity_get_edict(ent, 10), ent, i + 60);
  544.                 if (is_valid_ent(beam[i]))
  545.                 {
  546.                         UTIL_Remove(beam[i]);
  547.                 }
  548.                 i++;
  549.         }
  550.         new Float:origin[3] = 0.0;
  551.         new Float:m_vecDir[3] = 0.0;
  552.         entity_get_vector(ent, 0, origin);
  553.         get_mine_vector(entity_get_edict(ent, 10), ent, 1);
  554.         entity_get_vector(ent, 19, m_vecDir);
  555.         set_free_mine(entity_get_edict(ent, 10), ent);
  556.         xs_vec_mul_scalar(m_vecDir, 8.0, m_vecDir);
  557.         xs_vec_add(origin, m_vecDir, origin);
  558.         engfunc(70, 4, 23, origin, 0);
  559.         write_byte(3);
  560.         engfunc(71, origin);
  561.         engfunc(71, origin[1]);
  562.         engfunc(71, origin[2]);
  563.         write_short(expSpr);
  564.         write_byte(20);
  565.         write_byte(15);
  566.         write_byte(0);
  567.         message_end();
  568.         new killer = entity_get_edict(ent, 1);
  569.         new hOwner = entity_get_edict(ent, 10);
  570.         new var1;
  571.         if (!0 < maxPlayers >= killer || entity_get_edict(ent, 10) != killer)
  572.         {
  573.                 client_print_color(hOwner, hOwner / 34 / 35 / 33, "%L", hOwner, "SFTM_EXPLODE");
  574.         }
  575.         else
  576.         {
  577.                 new exploderName[32];
  578.                 get_user_name(killer, exploderName, 31);
  579.                 client_print_color(hOwner, hOwner / 34 / 35 / 33, "%L", hOwner, "SFTM_EXPLODED", exploderName);
  580.                 if (pev(ent, 100) == 1)
  581.                 {
  582.                         if (get_pcvar_num(cvar_ikill_reward_lev1))
  583.                         {
  584.                                 cs_set_user_money(killer, get_pcvar_num(cvar_ikill_reward_lev1) + cs_get_user_money(killer), 1);
  585.                                 client_print_color(killer, killer / 34 / 35 / 33, "%L", killer, "SFTM_REWARD", get_pcvar_num(cvar_ikill_reward_lev1), pev(ent, 100));
  586.                         }
  587.                 }
  588.                 else
  589.                 {
  590.                         if (get_pcvar_num(cvar_ikill_reward_lev2))
  591.                         {
  592.                                 cs_set_user_money(killer, get_pcvar_num(cvar_ikill_reward_lev2) + cs_get_user_money(killer), 1);
  593.                                 client_print_color(killer, killer / 34 / 35 / 33, "%L", killer, "SFTM_REWARD", get_pcvar_num(cvar_ikill_reward_lev2), pev(ent, 100));
  594.                         }
  595.                 }
  596.         }
  597.         return 1;
  598. }
  599.  
  600. TripMine_MakeBeam(ent)
  601. {
  602.         decl beam;
  603.         new var1;
  604.         if (entity_get_int(ent, 6) == 1)
  605.         {
  606.                 var1[0] = 272568;
  607.         }
  608.         else
  609.         {
  610.                 var1[0] = 272644;
  611.         }
  612.         beam = Beam_Create(var1, BEAM_WIDTH);
  613.         new Float:m_vecDir[3] = 0.0;
  614.         new Float:vecSrc[3] = 0.0;
  615.         new Float:vecOrigin[3] = 0.0;
  616.         get_mine_vector(entity_get_edict(ent, 10), ent, 1);
  617.         entity_get_vector(ent, 19, m_vecDir);
  618.         entity_get_vector(ent, 0, vecSrc);
  619.         xs_vec_copy(vecSrc, vecOrigin);
  620.         xs_vec_mul_scalar(m_vecDir, LASER_LENGTH, m_vecDir);
  621.         xs_vec_add(vecSrc, m_vecDir, vecSrc);
  622.         Beam_PointsInit(beam, vecSrc, vecOrigin);
  623.         set_pev(beam, 37, 1132396544);
  624.         set_pev(beam, 40, 1972);
  625.         set_beam_mine(entity_get_edict(ent, 10), ent, 60, beam);
  626.         set_mine_vector(entity_get_edict(ent, 10), ent, vecSrc, 25);
  627.         entity_set_edict(beam, 4, ent);
  628.         entity_set_int(beam, 5, entity_get_int(ent, 5));
  629.         entity_set_float(beam, 7, floatadd(get_gametime(), minetimethink));
  630.         return 0;
  631. }
  632.  
  633. TripMine_MakeBeam2(id, ent, type)
  634. {
  635.         if (1 < pev(ent, 100))
  636.         {
  637.                 return 0;
  638.         }
  639.         if (get_pcvar_num(cvar_imine_upgcost) > cs_get_user_money(id))
  640.         {
  641.                 client_print_color(id, id / 34 / 35 / 33, "%L", id, "SFTM_UPGCOST", get_pcvar_num(cvar_imine_upgcost));
  642.                 return 0;
  643.         }
  644.         cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(cvar_imine_upgcost), 1);
  645.         entity_set_float(ent, 13, get_pcvar_float(cvar_fmine_health_lev2));
  646.         emit_sound(ent, 2, 272784, 1065353216, 1061997773, 0, 100);
  647.         new beam[2];
  648.         new Float:m_vecDir1[2][3] = {3.85186E-34,2.5243549E-29};
  649.         new Float:vecSrc[2][3] = {3.85186E-34,2.5243549E-29};
  650.         new iOwner = entity_get_edict(ent, 10);
  651.         new mineNum = get_mine_num(iOwner, ent);
  652.         g_MineData[iOwner][mineNum][66] = g_angles[id];
  653.         g_MineData[iOwner][mineNum][67] = g_angles[id];
  654.         new Float:m_vecDir[3] = 0.0;
  655.         new Float:angles[3] = 0.0;
  656.         get_mine_vector(iOwner, ent, 50);
  657.         entity_get_vector(ent, 19, angles);
  658.         new var1;
  659.         if (angles[0] == angl1 || angles[0] == angl2)
  660.         {
  661.                 angles[0] = g_angles[id][angles[0]];
  662.                 angles[1] += angl1;
  663.         }
  664.         else
  665.         {
  666.                 new var6 = angles[1];
  667.                 var6 = g_angles[id][var6];
  668.         }
  669.         engfunc(17, angles);
  670.         get_global_vector(26, m_vecDir);
  671.         m_vecDir[2] = -m_vecDir[2];
  672.         set_mine_vector(iOwner, ent, m_vecDir, 5);
  673.         new Float:m_vecDir[3] = 0.0;
  674.         new Float:angles[3] = 0.0;
  675.         get_mine_vector(iOwner, ent, 50);
  676.         entity_get_vector(ent, 19, angles);
  677.         new var2;
  678.         if (angles[0] == angl1 || angles[0] == angl2)
  679.         {
  680.                 angles[0] = g_angles[id][angles[0]];
  681.                 angles[1] += -angl1;
  682.         }
  683.         else
  684.         {
  685.                 angles[1] -= g_angles[id];
  686.         }
  687.         engfunc(17, angles);
  688.         get_global_vector(26, m_vecDir);
  689.         m_vecDir[2] = -m_vecDir[2];
  690.         set_mine_vector(iOwner, ent, m_vecDir, 10);
  691.         new Float:m_vecDir[3] = 0.0;
  692.         new Float:angles[3] = 0.0;
  693.         get_mine_vector(iOwner, ent, 50);
  694.         entity_get_vector(ent, 19, angles);
  695.         new var3;
  696.         if (angles[0] == angl1 || angles[0] == angl2)
  697.         {
  698.                 angles[0] = g_angles[id][angles[0]];
  699.                 angles[1] += 0;
  700.         }
  701.         else
  702.         {
  703.                 angles[0] = g_angles[id][angles[0]];
  704.         }
  705.         engfunc(17, angles);
  706.         get_global_vector(26, m_vecDir);
  707.         m_vecDir[2] = -m_vecDir[2];
  708.         set_mine_vector(iOwner, ent, m_vecDir, 15);
  709.         new Float:m_vecDir[3] = 0.0;
  710.         new Float:angles[3] = 0.0;
  711.         get_mine_vector(iOwner, ent, 50);
  712.         entity_get_vector(ent, 19, angles);
  713.         new var4;
  714.         if (angles[0] == angl1 || angles[0] == angl2)
  715.         {
  716.                 angles[0] = angles[0] - g_angles[id];
  717.                 angles[1] += 0;
  718.         }
  719.         else
  720.         {
  721.                 angles[0] = angles[0] - g_angles[id];
  722.         }
  723.         engfunc(17, angles);
  724.         get_global_vector(26, m_vecDir);
  725.         m_vecDir[2] = -m_vecDir[2];
  726.         set_mine_vector(iOwner, ent, m_vecDir, 20);
  727.         new i;
  728.         while (i < 2)
  729.         {
  730.                 new var5;
  731.                 if (entity_get_int(ent, 6) == 1)
  732.                 {
  733.                         var5[0] = 272928;
  734.                 }
  735.                 else
  736.                 {
  737.                         var5[0] = 273004;
  738.                 }
  739.                 beam[i] = Beam_Create(var5, BEAM_WIDTH);
  740.                 i++;
  741.         }
  742.         if (type == 1)
  743.         {
  744.                 get_mine_vector(iOwner, ent, 5);
  745.         }
  746.         else
  747.         {
  748.                 get_mine_vector(iOwner, ent, 15);
  749.         }
  750.         entity_get_vector(ent, 19, m_vecDir1[0][m_vecDir1]);
  751.         if (type == 1)
  752.         {
  753.                 get_mine_vector(iOwner, ent, 10);
  754.         }
  755.         else
  756.         {
  757.                 get_mine_vector(iOwner, ent, 20);
  758.         }
  759.         entity_get_vector(ent, 19, m_vecDir1[1]);
  760.         new i;
  761.         while (i < 2)
  762.         {
  763.                 new Float:vecOrigin[3] = 0.0;
  764.                 entity_get_vector(ent, 0, vecSrc[i]);
  765.                 xs_vec_copy(vecSrc[i], vecOrigin);
  766.                 xs_vec_mul_scalar(m_vecDir1[i], LASER_LENGTH, m_vecDir1[i]);
  767.                 xs_vec_add(vecSrc[i], m_vecDir1[i], vecSrc[i]);
  768.                 Beam_PointsInit(beam[i], vecSrc[i], vecOrigin);
  769.                 set_pev(beam[i], 37, 1132396544);
  770.                 set_pev(beam[i], 40, 1972);
  771.                 i++;
  772.         }
  773.         new i;
  774.         while (i < 2)
  775.         {
  776.                 entity_set_edict(beam[i], 4, ent);
  777.                 entity_set_int(beam[i], 5, entity_get_int(ent, 5));
  778.                 entity_set_float(beam[i], 7, floatadd(get_gametime(), minetimethink));
  779.                 i++;
  780.         }
  781.         if (pev(ent, 100) == 1)
  782.         {
  783.                 set_pev(ent, 100, 2);
  784.                 set_beam_mine(iOwner, ent, 61, beam[0]);
  785.                 set_beam_mine(iOwner, ent, 62, beam[1]);
  786.                 set_mine_vector(iOwner, ent, vecSrc[0][vecSrc], 30);
  787.                 set_mine_vector(iOwner, ent, vecSrc[1], 35);
  788.                 entity_set_edict(ent, 7, type);
  789.         }
  790.         new name[33];
  791.         get_user_name(id, name, 32);
  792.         client_print_color(iOwner, iOwner / 34 / 35 / 33, "%L", iOwner, "SFTM_UPGRADER", name, pev(ent, 100));
  793.         return 0;
  794. }
  795.  
  796. Send_BarTime(player, Float:duration)
  797. {
  798.         if (0.0 == duration)
  799.         {
  800.                 ExecuteHamB(70, player);
  801.         }
  802.         message_begin(1, BarTime, 1444, player);
  803.         write_short(floatround(duration, 0));
  804.         message_end();
  805.         return 0;
  806. }
  807.  
  808. UTIL_Remove(pEntity)
  809. {
  810.         if (!pEntity)
  811.         {
  812.                 return 0;
  813.         }
  814.         entity_set_int(pEntity, 27, entity_get_int(pEntity, 27) | 1073741824);
  815.         return 0;
  816. }
  817.  
  818.  
  819. /* ERROR! null */
  820.  function "fw_LaserMineTouch" (number 86)
  821. public FuncMenu(id, ent)
  822. {
  823.         static len;
  824.         static menu[1024];
  825.         len = 0;
  826.         new data[2];
  827.         data[0] = id;
  828.         data[1] = ent;
  829.         if (!task_exists(id + BLAST_TASK_ID, 0))
  830.         {
  831.                 set_task(1065353216, 277248, id + BLAST_TASK_ID, data, 2, 277272, 0);
  832.         }
  833.         len = formatex(menu[len], 1023 - len, 277280);
  834.         len = formatex(menu[len], 1023 - len, 277444, get_pcvar_num(cvar_imine_upgcost)) + len;
  835.         len = formatex(menu[len], 1023 - len, 277532, g_angles[id]) + len;
  836.         len = formatex(menu[len], 1023 - len, 277704) + len;
  837.         len = formatex(menu[len], 1023 - len, 277844) + len;
  838.         len = formatex(menu[len], 1023 - len, 277972) + len;
  839.         len = formatex(menu[len], 1023 - len, 278112) + len;
  840.         show_menu(id, keys, 273148, get_pcvar_num(cvar_ishowing_menu), 278184);
  841.         new mid;
  842.         new keys;
  843.         get_user_menu(id, mid, keys);
  844.         save = mid;
  845.         return 1;
  846. }
  847.  
  848. public MenuFunc(id, key)
  849. {
  850.         switch (key)
  851.         {
  852.                 case 0:
  853.                 {
  854.                         if (pev_valid(g_updater[id]))
  855.                         {
  856.                                 if (pev(g_updater[id], 100) == 1)
  857.                                 {
  858.                                         TripMine_MakeBeam2(id, g_updater[id], 1);
  859.                                 }
  860.                         }
  861.                         g_updater[id] = 0;
  862.                 }
  863.                 case 1:
  864.                 {
  865.                         if (pev_valid(g_updater[id]))
  866.                         {
  867.                                 if (pev(g_updater[id], 100) == 1)
  868.                                 {
  869.                                         TripMine_MakeBeam2(id, g_updater[id], 2);
  870.                                 }
  871.                         }
  872.                         g_updater[id] = 0;
  873.                 }
  874.                 case 5:
  875.                 {
  876.                         new i;
  877.                         while (i < 6)
  878.                         {
  879.                                 if (get_pcvar_num(g_eCvars[i + 0]) == g_angles[id])
  880.                                 {
  881.                                         g_angles[id] = get_pcvar_num(g_eCvars[i + 0 + 1]);
  882.                                         FuncMenu(id, g_updater[id]);
  883.                                         return 0;
  884.                                 }
  885.                                 i++;
  886.                         }
  887.                         g_angles[id] = get_pcvar_num(g_eCvars[0]);
  888.                         FuncMenu(id, g_updater[id]);
  889.                 }
  890.                 default:
  891.                 {
  892.                 }
  893.         }
  894.         return 0;
  895. }
  896.  
  897. public blast(data[], TaskId)
  898. {
  899.         if (data[1] != g_updater[data[0]])
  900.         {
  901.                 if (task_exists(TaskId, 0))
  902.                 {
  903.                         remove_task(TaskId, 0);
  904.                         return 0;
  905.                 }
  906.         }
  907.         new mids;
  908.         new keys;
  909.         get_user_menu(data[0], mids, keys);
  910.         if (save != mids)
  911.         {
  912.                 if (task_exists(TaskId, 0))
  913.                 {
  914.                         g_updater[data[0]] = 0;
  915.                         remove_task(TaskId, 0);
  916.                         return 0;
  917.                 }
  918.         }
  919.         if (!is_valid_ent(data[1]))
  920.         {
  921.                 if (save == mids)
  922.                 {
  923.                         show_menu(data[0], 0, 278204, 1, 278212);
  924.                 }
  925.                 if (task_exists(TaskId, 0))
  926.                 {
  927.                         remove_task(TaskId, 0);
  928.                         return 0;
  929.                 }
  930.         }
  931.         new Float:vecSrc[3] = 0.0;
  932.         new origin[3];
  933.         new col[3];
  934.         entity_get_vector(data[1], 0, vecSrc);
  935.         new i;
  936.         while (i < 3)
  937.         {
  938.                 origin[i] = floatround(vecSrc[i], 0);
  939.                 i++;
  940.         }
  941.         new team = entity_get_int(data[1], 6);
  942.         if (team == 1)
  943.         {
  944.                 col[0] = 255;
  945.                 col[1] = 0;
  946.                 col[2] = 0;
  947.         }
  948.         else
  949.         {
  950.                 if (team == 2)
  951.                 {
  952.                         col[0] = 0;
  953.                         col[1] = 0;
  954.                         col[2] = 255;
  955.                 }
  956.         }
  957.         message_begin(1, 23, origin, data[0]);
  958.         write_byte(19);
  959.         write_coord(origin[0]);
  960.         write_coord(origin[1]);
  961.         write_coord(origin[2]);
  962.         write_coord(origin[0] + 30);
  963.         write_coord(origin[1] + 30);
  964.         write_coord(origin[2] + 50);
  965.         write_short(g_explo);
  966.         write_byte(10);
  967.         write_byte(0);
  968.         write_byte(3);
  969.         write_byte(8);
  970.         write_byte(0);
  971.         write_byte(col[0]);
  972.         write_byte(col[1]);
  973.         write_byte(col[2]);
  974.         write_byte(100);
  975.         write_byte(0);
  976.         message_end();
  977.         return 0;
  978. }
  979.  
  980.