hlmod.hu
https://hlmod.hu/

PugReady forditási hiba (1.8.3 amxx)
https://hlmod.hu/viewtopic.php?f=9&t=28057
Oldal: 1 / 1

Szerző:  elit [ 2017.08.04. 17:20 ]
Hozzászólás témája:  PugReady forditási hiba (1.8.3 amxx)

üdv.

  1. AMX Mod X Compiler 1.8.3-Re
  2. Copyright (c) 1997-2006 ITB CompuPhase
  3. Copyright (c) 2004-2013 AMX Mod X Team
  4.  
  5. Error: Undefined symbol "RequestFrame" on line 61
  6. Error: Undefined symbol "RequestFrame" on line 69
  7. Error: Undefined symbol "RequestFrame" on line 403
  8.  
  9. 3 Errors.
  10. Could not locate output file C:\Users\krisztian\Desktop\windows\addons\amxmodx\scripting\PugReady.amx (compile failed).


  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6.  
  7. #include <PugCore>
  8. #include <PugStocks>
  9.  
  10. #pragma semicolon 1
  11.  
  12. new bool:g_bActive = false;
  13. new bool:g_bReady[MAX_PLAYERS+1];
  14.  
  15. new g_pAutoSwap;
  16.  
  17. new g_pPlayersMin;
  18. new g_pRoundsMax;
  19. new g_pSwapDelay;
  20.  
  21. public plugin_init()
  22. {
  23.     register_plugin("Pug Mod (Ready System)",PUG_MOD_VERSION,PUG_MOD_AUTHOR);
  24.    
  25.     register_dictionary("PugReady.txt");
  26.    
  27.     g_pAutoSwap = create_cvar("pug_force_auto_swap","1",FCVAR_NONE,"Auto Swap teams without Ready-System if the teams are complete");
  28.    
  29.     PugRegCommand("ready","fnReady",ADMIN_ALL,"PUG_DESC_READY");
  30.     PugRegCommand("notready","fnNotReady",ADMIN_ALL,"PUG_DESC_NOTREADY");
  31.    
  32.     PugRegAdminCommand("forceready","fnForceReady",PUG_CMD_LVL,"PUG_DESC_FORCEREADY");
  33.     PugRegAdminCommand("forceunready","fnForceUnReady",PUG_CMD_LVL,"PUG_DESC_FORCENOTREADY");
  34.    
  35.     g_pPlayersMin   = get_cvar_pointer("pug_players_min");
  36.     g_pRoundsMax    = get_cvar_pointer("pug_rounds_max");
  37.     g_pSwapDelay    = get_cvar_pointer("pug_swap_delay");
  38.    
  39.     register_event("ResetHUD","fnKeepMenu","bf");
  40.    
  41.     hook_cvar_change(g_pPlayersMin,"fnKeepMenu");
  42.     hook_cvar_change(get_cvar_pointer("amx_language"),"fnKeepMenu");
  43.    
  44.     register_clcmd("joinclass","fnJoinedClass");
  45.     register_clcmd("menuselect","fnJoinedClass");
  46.    
  47.     RegisterHamPlayer(Ham_Killed,"fnKilledPost",true);
  48.     RegisterHamPlayer(Ham_Spawn,"fnSpawnPost",true);
  49.    
  50.     register_forward(FM_CmdStart,"fnCmdStart",true);
  51.     register_forward(FM_SetModel,"fnSetModel",true);
  52.    
  53.     register_message(get_user_msgid("Money"),"fnMoney");
  54. }
  55.  
  56. public client_disconnected(id,bool:bDrop,szMessage[],iLen)
  57. {
  58.     if(g_bActive)
  59.     {
  60.         g_bReady[id] = false;
  61.         RequestFrame("fnKeepMenu");
  62.     }
  63. }
  64.  
  65. public client_infochanged(id)
  66. {
  67.     if(g_bActive)
  68.     {
  69.         RequestFrame("fnKeepMenu");
  70.     }
  71. }
  72.  
  73. public PugEventWarmup(iStage)
  74. {
  75.     fnReadySystem(true);
  76. }
  77.  
  78. public PugEventStart(iStage)
  79. {
  80.     fnReadySystem(false);
  81. }
  82.  
  83. public PugEventHalfTime(iStage)
  84. {
  85.     if(PugGetPlayersNum(true) < get_pcvar_num(g_pPlayersMin))
  86.     {
  87.         fnReadySystem(true);
  88.     }
  89.     else
  90.     {
  91.         if(get_pcvar_num(g_pAutoSwap))
  92.         {
  93.             arrayset(g_bReady,true,sizeof(g_bReady));
  94.             set_task(get_pcvar_float(g_pSwapDelay),"fnCheckReady");
  95.         }
  96.         else
  97.         {
  98.             fnReadySystem(true);
  99.         }
  100.     }
  101. }
  102.  
  103. public PugEventSecondHalf(iStage)
  104. {
  105.     fnReadySystem(false);
  106. }
  107.  
  108. public PugEventOvertime(iStage)
  109. {
  110.     fnReadySystem(false);
  111. }
  112.  
  113. fnReadySystem(bool:bActive)
  114. {
  115.     g_bActive = bActive;
  116.     PugRemoveMapEntities(bActive);
  117.    
  118.     if(g_bActive)
  119.     {
  120.         fnKeepMenu();
  121.         PugChat(0,"%L",LANG_SERVER,"PUG_READY_SYSTEM_1");
  122.     }
  123.     else
  124.     {
  125.         fnDisplay(0.0);
  126.         PugChat(0,"%L",LANG_SERVER,"PUG_READY_SYSTEM_2");
  127.     }
  128.    
  129.     arrayset(g_bReady,false,sizeof(g_bReady));
  130. }
  131.  
  132. public fnReady(id)
  133. {
  134.     if(g_bActive && is_user_connected(id) && (CS_TEAM_T <= cs_get_user_team(id) <= CS_TEAM_CT))
  135.     {
  136.         if(g_bReady[id])
  137.         {
  138.             PugChat(id,"%L",LANG_SERVER,"PUG_READY_A");
  139.         }
  140.         else
  141.         {
  142.             g_bReady[id] = true;
  143.            
  144.             new szName[MAX_NAME_LENGTH];
  145.             get_user_name(id,szName,charsmax(szName));
  146.            
  147.             PugChat(id,"%L",LANG_SERVER,"PUG_READY_1",szName);
  148.            
  149.             fnCheckReady();
  150.         }
  151.     }
  152.     else
  153.     {
  154.         PugChat(id,"%L",LANG_SERVER,"PUG_UNABLE_CMD");
  155.     }
  156.    
  157.     return PLUGIN_HANDLED;
  158. }
  159.  
  160. public fnNotReady(id)
  161. {
  162.     if(g_bActive && is_user_connected(id) && (CS_TEAM_T <= cs_get_user_team(id) <= CS_TEAM_CT))
  163.     {
  164.         if(!g_bReady[id])
  165.         {
  166.             PugChat(id,"%L",LANG_SERVER,"PUG_READY_B");
  167.         }
  168.         else
  169.         {
  170.             g_bReady[id] = false;
  171.            
  172.             new szName[MAX_NAME_LENGTH];
  173.             get_user_name(id,szName,charsmax(szName));
  174.            
  175.             PugChat(id,"%L",LANG_SERVER,"PUG_READY_2",szName);
  176.            
  177.             fnCheckReady();
  178.         }
  179.     }
  180.     else
  181.     {
  182.         PugChat(id,"%L",LANG_SERVER,"PUG_UNABLE_CMD");
  183.     }
  184.    
  185.     return PLUGIN_HANDLED;
  186. }
  187.  
  188. public fnForceReady(id)
  189. {
  190.     if(g_bActive)
  191.     {
  192.         if(!access(id,PUG_CMD_LVL) && (id != 0))
  193.         {
  194.             PugChat(id,"PUG_CMD_NOTALLOWED");
  195.         }
  196.         else
  197.         {
  198.             new szArg[32];
  199.             read_argv(1,szArg,charsmax(szArg));
  200.            
  201.             new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
  202.            
  203.             if(iPlayer && (1 <= get_user_team(id) <= 2) && !g_bReady[iPlayer])
  204.             {
  205.                 PugRunCmdOnClient(id,"Force .ready","PUG_FORCE_READY",iPlayer,fnReady(iPlayer));
  206.             }
  207.         }
  208.     }
  209.     else
  210.     {
  211.         PugChat(id,"%L",LANG_SERVER,"PUG_UNABLE_CMD");
  212.     }
  213.    
  214.     return PLUGIN_HANDLED;
  215. }
  216.  
  217. public fnForceUnReady(id)
  218. {
  219.     if(g_bActive)
  220.     {
  221.         if(!access(id,PUG_CMD_LVL) && (id != 0))
  222.         {
  223.             PugChat(id,"PUG_CMD_NOTALLOWED");
  224.         }
  225.         else
  226.         {
  227.             new szArg[32];
  228.             read_argv(1,szArg,charsmax(szArg));
  229.            
  230.             new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
  231.            
  232.             if(iPlayer && (1 <= get_user_team(id) <= 2) && g_bReady[iPlayer])
  233.             {
  234.                 PugRunCmdOnClient(id,"Force .notready","PUG_FORCE_NOTREADY",iPlayer,fnNotReady(iPlayer));
  235.             }
  236.         }
  237.     }
  238.     else
  239.     {
  240.         PugChat(id,"%L",LANG_SERVER,"PUG_UNABLE_CMD");
  241.     }
  242.    
  243.     return PLUGIN_HANDLED;
  244. }
  245.  
  246. public fnKeepMenu()
  247. {
  248.     if(g_bActive)
  249.     {
  250.         fnDisplay(999.0);
  251.     }
  252. }
  253.  
  254. public fnDisplay(Float:fHoldTime)
  255. {
  256.     new iPlayers[MAX_PLAYERS],iNum,iPlayer;
  257.     get_players(iPlayers,iNum,"ch");
  258.    
  259.     new iPlayersNum,iReadys;
  260.     new szList[2][512],sName[MAX_NAME_LENGTH];
  261.    
  262.     for(new i;i < iNum;i++)
  263.     {
  264.         iPlayer = iPlayers[i];
  265.        
  266.         if(CS_TEAM_T <= cs_get_user_team(iPlayer) <= CS_TEAM_CT)
  267.         {
  268.             iPlayersNum++;
  269.             get_user_name(iPlayer,sName,charsmax(sName));
  270.    
  271.             if(g_bReady[iPlayer])
  272.             {
  273.                 iReadys++;
  274.                 format(szList[0],charsmax(szList[]),"%s%s^n",szList[0],sName);
  275.             }
  276.             else
  277.             {
  278.                 format(szList[1],charsmax(szList[]),"%s%s^n",szList[1],sName);
  279.             }
  280.         }
  281.     }
  282.    
  283.     new iMinPlayers = get_pcvar_num(g_pPlayersMin);
  284.  
  285.     set_hudmessage(0,255,0,0.23,0.02,0,0.0,fHoldTime,0.0,0.0,1);
  286.     show_hudmessage(0,"%L",LANG_SERVER,"PUG_LIST_A",(iPlayersNum - iReadys),iMinPlayers);
  287.  
  288.     set_hudmessage(0,255,0,0.58,0.02,0,0.0,fHoldTime,0.0,0.0,2);
  289.     show_hudmessage(0,"%L",LANG_SERVER,"PUG_LIST_B",iReadys,iMinPlayers);
  290.  
  291.     set_hudmessage(255,255,225,0.58,0.02,0,0.0,fHoldTime,0.0,0.0,3);
  292.     show_hudmessage(0,"^n%s",szList[0]);
  293.  
  294.     set_hudmessage(255,255,225,0.23,0.02,0,0.0,fHoldTime,0.0,0.0,4);
  295.     show_hudmessage(0,"^n%s",szList[1]);
  296. }
  297.  
  298. public fnCheckReady()
  299. {
  300.     fnKeepMenu();
  301.    
  302.     new iReady = 0;
  303.    
  304.     for(new i;i < sizeof(g_bReady);i++)
  305.     {
  306.         if(g_bReady[i])
  307.         {
  308.             iReady++;
  309.         }
  310.     }
  311.  
  312.     if(iReady >= get_pcvar_num(g_pPlayersMin))
  313.     {
  314.         switch(GET_PUG_STAGE())
  315.         {
  316.             case STAGE_WARMUP:
  317.             {
  318.                 PugStart();
  319.             }
  320.             case STAGE_HALFTIME:
  321.             {
  322.                 if(GET_PUG_ROUND() < get_pcvar_num(g_pRoundsMax))
  323.                 {
  324.                     PugSecondHalf();
  325.                 }
  326.                 else
  327.                 {
  328.                     PugOvertime();
  329.                 }
  330.             }
  331.         }
  332.     }
  333. }
  334.  
  335. public fnJoinedClass(id)
  336. {
  337.     if(g_bActive)
  338.     {
  339.         if(get_ent_data(id,"CBasePlayer","m_iMenu") == CS_Menu_ChooseAppearance)
  340.         {
  341.             set_task(0.75,"fnRespawn",id);
  342.         }
  343.     }
  344.    
  345.     return PLUGIN_CONTINUE;
  346. }
  347.  
  348. public fnKilledPost(id)
  349. {
  350.     if(g_bActive)
  351.     {
  352.         set_task(0.75,"fnRespawn",id);
  353.     }
  354. }
  355.  
  356. public fnRespawn(id)
  357. {
  358.     if(is_user_connected(id) && !is_user_alive(id) && (CS_TEAM_T <= cs_get_user_team(id) <= CS_TEAM_CT))
  359.     {
  360.         ExecuteHamB(Ham_CS_RoundRespawn,id);
  361.     }
  362. }
  363.  
  364. public fnSpawnPost(id)
  365. {
  366.     if(g_bActive)
  367.     {
  368.         set_pev(id,pev_takedamage,DAMAGE_NO);
  369.     }
  370. }
  371.  
  372. public fnCmdStart(id,Handle,Seed)
  373. {
  374.     if(g_bActive)
  375.     {
  376.         if(is_user_alive(id) && pev(id,pev_takedamage) == DAMAGE_NO)
  377.         {
  378.             if(get_uc(Handle,UC_Buttons) & (IN_FORWARD|IN_BACK|IN_MOVELEFT|IN_MOVERIGHT|IN_DUCK|IN_ATTACK|IN_ATTACK2))
  379.             {
  380.                 set_pev(id,pev_takedamage,DAMAGE_AIM);
  381.             }
  382.         }
  383.     }
  384. }
  385.  
  386. public fnSetModel(iEntity)
  387. {
  388.     if(g_bActive)
  389.     {
  390.         if(pev_valid(iEntity))
  391.         {
  392.             new szName[MAX_NAME_LENGTH];
  393.             pev(iEntity,pev_classname,szName,charsmax(szName));
  394.            
  395.             if(equali(szName,"weaponbox"))
  396.             {
  397.                 set_pev(iEntity,pev_effects,EF_NODRAW);
  398.                 set_pev(iEntity,pev_nextthink,get_gametime() + 0.1);
  399.             }
  400.             else if(equali(szName,"weapon_shield"))
  401.             {
  402.                 set_pev(iEntity,pev_effects,EF_NODRAW);
  403.                 RequestFrame("fnRemoveEntity",iEntity);
  404.             }
  405.         }
  406.     }
  407. }
  408.  
  409. public fnRemoveEntity(iEntity)
  410. {
  411.     dllfunc(DLLFunc_Think,iEntity);
  412. }
  413.  
  414. public fnMoney(iMsg,iMsgDest,id)
  415. {
  416.     if(g_bActive)
  417.     {
  418.         if(is_user_alive(id))
  419.         {
  420.             cs_set_user_money(id,16000,0);
  421.         }
  422.  
  423.         return PLUGIN_HANDLED;
  424.     }
  425.  
  426.     return PLUGIN_CONTINUE;
  427. }
  428.  
  429. public CS_OnBuy(id,iWeapon)
  430. {
  431.     if(g_bActive)
  432.     {
  433.         if(cs_get_weapon_class(iWeapon) == CS_WEAPONCLASS_GRENADE)
  434.         {
  435.             return PLUGIN_HANDLED;
  436.         }
  437.     }
  438.    
  439.     return PLUGIN_CONTINUE;
  440. }

Szerző:  qkly [ 2017.08.04. 18:48 ]
Hozzászólás témája:  Re: PugReady forditási hiba (1.8.3 amxx)

elit írta:
üdv.

  1. AMX Mod X Compiler 1.8.3-Re
  2. Copyright (c) 1997-2006 ITB CompuPhase
  3. Copyright (c) 2004-2013 AMX Mod X Team
  4.  
  5. Error: Undefined symbol "RequestFrame" on line 61
  6. Error: Undefined symbol "RequestFrame" on line 69
  7. Error: Undefined symbol "RequestFrame" on line 403
  8.  
  9. 3 Errors.
  10. Could not locate output file C:\Users\krisztian\Desktop\windows\addons\amxmodx\scripting\PugReady.amx (compile failed).


  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6.  
  7. #include <PugCore>
  8. #include <PugStocks>
  9.  
  10. #pragma semicolon 1
  11.  
  12. new bool:g_bActive = false;
  13. new bool:g_bReady[MAX_PLAYERS+1];
  14.  
  15. new g_pAutoSwap;
  16.  
  17. new g_pPlayersMin;
  18. new g_pRoundsMax;
  19. new g_pSwapDelay;
  20.  
  21. public plugin_init()
  22. {
  23.     register_plugin("Pug Mod (Ready System)",PUG_MOD_VERSION,PUG_MOD_AUTHOR);
  24.    
  25.     register_dictionary("PugReady.txt");
  26.    
  27.     g_pAutoSwap = create_cvar("pug_force_auto_swap","1",FCVAR_NONE,"Auto Swap teams without Ready-System if the teams are complete");
  28.    
  29.     PugRegCommand("ready","fnReady",ADMIN_ALL,"PUG_DESC_READY");
  30.     PugRegCommand("notready","fnNotReady",ADMIN_ALL,"PUG_DESC_NOTREADY");
  31.    
  32.     PugRegAdminCommand("forceready","fnForceReady",PUG_CMD_LVL,"PUG_DESC_FORCEREADY");
  33.     PugRegAdminCommand("forceunready","fnForceUnReady",PUG_CMD_LVL,"PUG_DESC_FORCENOTREADY");
  34.    
  35.     g_pPlayersMin   = get_cvar_pointer("pug_players_min");
  36.     g_pRoundsMax    = get_cvar_pointer("pug_rounds_max");
  37.     g_pSwapDelay    = get_cvar_pointer("pug_swap_delay");
  38.    
  39.     register_event("ResetHUD","fnKeepMenu","bf");
  40.    
  41.     hook_cvar_change(g_pPlayersMin,"fnKeepMenu");
  42.     hook_cvar_change(get_cvar_pointer("amx_language"),"fnKeepMenu");
  43.    
  44.     register_clcmd("joinclass","fnJoinedClass");
  45.     register_clcmd("menuselect","fnJoinedClass");
  46.    
  47.     RegisterHamPlayer(Ham_Killed,"fnKilledPost",true);
  48.     RegisterHamPlayer(Ham_Spawn,"fnSpawnPost",true);
  49.    
  50.     register_forward(FM_CmdStart,"fnCmdStart",true);
  51.     register_forward(FM_SetModel,"fnSetModel",true);
  52.    
  53.     register_message(get_user_msgid("Money"),"fnMoney");
  54. }
  55.  
  56. public client_disconnected(id,bool:bDrop,szMessage[],iLen)
  57. {
  58.     if(g_bActive)
  59.     {
  60.         g_bReady[id] = false;
  61.         RequestFrame("fnKeepMenu");
  62.     }
  63. }
  64.  
  65. public client_infochanged(id)
  66. {
  67.     if(g_bActive)
  68.     {
  69.         RequestFrame("fnKeepMenu");
  70.     }
  71. }
  72.  
  73. public PugEventWarmup(iStage)
  74. {
  75.     fnReadySystem(true);
  76. }
  77.  
  78. public PugEventStart(iStage)
  79. {
  80.     fnReadySystem(false);
  81. }
  82.  
  83. public PugEventHalfTime(iStage)
  84. {
  85.     if(PugGetPlayersNum(true) < get_pcvar_num(g_pPlayersMin))
  86.     {
  87.         fnReadySystem(true);
  88.     }
  89.     else
  90.     {
  91.         if(get_pcvar_num(g_pAutoSwap))
  92.         {
  93.             arrayset(g_bReady,true,sizeof(g_bReady));
  94.             set_task(get_pcvar_float(g_pSwapDelay),"fnCheckReady");
  95.         }
  96.         else
  97.         {
  98.             fnReadySystem(true);
  99.         }
  100.     }
  101. }
  102.  
  103. public PugEventSecondHalf(iStage)
  104. {
  105.     fnReadySystem(false);
  106. }
  107.  
  108. public PugEventOvertime(iStage)
  109. {
  110.     fnReadySystem(false);
  111. }
  112.  
  113. fnReadySystem(bool:bActive)
  114. {
  115.     g_bActive = bActive;
  116.     PugRemoveMapEntities(bActive);
  117.    
  118.     if(g_bActive)
  119.     {
  120.         fnKeepMenu();
  121.         PugChat(0,"%L",LANG_SERVER,"PUG_READY_SYSTEM_1");
  122.     }
  123.     else
  124.     {
  125.         fnDisplay(0.0);
  126.         PugChat(0,"%L",LANG_SERVER,"PUG_READY_SYSTEM_2");
  127.     }
  128.    
  129.     arrayset(g_bReady,false,sizeof(g_bReady));
  130. }
  131.  
  132. public fnReady(id)
  133. {
  134.     if(g_bActive && is_user_connected(id) && (CS_TEAM_T <= cs_get_user_team(id) <= CS_TEAM_CT))
  135.     {
  136.         if(g_bReady[id])
  137.         {
  138.             PugChat(id,"%L",LANG_SERVER,"PUG_READY_A");
  139.         }
  140.         else
  141.         {
  142.             g_bReady[id] = true;
  143.            
  144.             new szName[MAX_NAME_LENGTH];
  145.             get_user_name(id,szName,charsmax(szName));
  146.            
  147.             PugChat(id,"%L",LANG_SERVER,"PUG_READY_1",szName);
  148.            
  149.             fnCheckReady();
  150.         }
  151.     }
  152.     else
  153.     {
  154.         PugChat(id,"%L",LANG_SERVER,"PUG_UNABLE_CMD");
  155.     }
  156.    
  157.     return PLUGIN_HANDLED;
  158. }
  159.  
  160. public fnNotReady(id)
  161. {
  162.     if(g_bActive && is_user_connected(id) && (CS_TEAM_T <= cs_get_user_team(id) <= CS_TEAM_CT))
  163.     {
  164.         if(!g_bReady[id])
  165.         {
  166.             PugChat(id,"%L",LANG_SERVER,"PUG_READY_B");
  167.         }
  168.         else
  169.         {
  170.             g_bReady[id] = false;
  171.            
  172.             new szName[MAX_NAME_LENGTH];
  173.             get_user_name(id,szName,charsmax(szName));
  174.            
  175.             PugChat(id,"%L",LANG_SERVER,"PUG_READY_2",szName);
  176.            
  177.             fnCheckReady();
  178.         }
  179.     }
  180.     else
  181.     {
  182.         PugChat(id,"%L",LANG_SERVER,"PUG_UNABLE_CMD");
  183.     }
  184.    
  185.     return PLUGIN_HANDLED;
  186. }
  187.  
  188. public fnForceReady(id)
  189. {
  190.     if(g_bActive)
  191.     {
  192.         if(!access(id,PUG_CMD_LVL) && (id != 0))
  193.         {
  194.             PugChat(id,"PUG_CMD_NOTALLOWED");
  195.         }
  196.         else
  197.         {
  198.             new szArg[32];
  199.             read_argv(1,szArg,charsmax(szArg));
  200.            
  201.             new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
  202.            
  203.             if(iPlayer && (1 <= get_user_team(id) <= 2) && !g_bReady[iPlayer])
  204.             {
  205.                 PugRunCmdOnClient(id,"Force .ready","PUG_FORCE_READY",iPlayer,fnReady(iPlayer));
  206.             }
  207.         }
  208.     }
  209.     else
  210.     {
  211.         PugChat(id,"%L",LANG_SERVER,"PUG_UNABLE_CMD");
  212.     }
  213.    
  214.     return PLUGIN_HANDLED;
  215. }
  216.  
  217. public fnForceUnReady(id)
  218. {
  219.     if(g_bActive)
  220.     {
  221.         if(!access(id,PUG_CMD_LVL) && (id != 0))
  222.         {
  223.             PugChat(id,"PUG_CMD_NOTALLOWED");
  224.         }
  225.         else
  226.         {
  227.             new szArg[32];
  228.             read_argv(1,szArg,charsmax(szArg));
  229.            
  230.             new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
  231.            
  232.             if(iPlayer && (1 <= get_user_team(id) <= 2) && g_bReady[iPlayer])
  233.             {
  234.                 PugRunCmdOnClient(id,"Force .notready","PUG_FORCE_NOTREADY",iPlayer,fnNotReady(iPlayer));
  235.             }
  236.         }
  237.     }
  238.     else
  239.     {
  240.         PugChat(id,"%L",LANG_SERVER,"PUG_UNABLE_CMD");
  241.     }
  242.    
  243.     return PLUGIN_HANDLED;
  244. }
  245.  
  246. public fnKeepMenu()
  247. {
  248.     if(g_bActive)
  249.     {
  250.         fnDisplay(999.0);
  251.     }
  252. }
  253.  
  254. public fnDisplay(Float:fHoldTime)
  255. {
  256.     new iPlayers[MAX_PLAYERS],iNum,iPlayer;
  257.     get_players(iPlayers,iNum,"ch");
  258.    
  259.     new iPlayersNum,iReadys;
  260.     new szList[2][512],sName[MAX_NAME_LENGTH];
  261.    
  262.     for(new i;i < iNum;i++)
  263.     {
  264.         iPlayer = iPlayers[i];
  265.        
  266.         if(CS_TEAM_T <= cs_get_user_team(iPlayer) <= CS_TEAM_CT)
  267.         {
  268.             iPlayersNum++;
  269.             get_user_name(iPlayer,sName,charsmax(sName));
  270.    
  271.             if(g_bReady[iPlayer])
  272.             {
  273.                 iReadys++;
  274.                 format(szList[0],charsmax(szList[]),"%s%s^n",szList[0],sName);
  275.             }
  276.             else
  277.             {
  278.                 format(szList[1],charsmax(szList[]),"%s%s^n",szList[1],sName);
  279.             }
  280.         }
  281.     }
  282.    
  283.     new iMinPlayers = get_pcvar_num(g_pPlayersMin);
  284.  
  285.     set_hudmessage(0,255,0,0.23,0.02,0,0.0,fHoldTime,0.0,0.0,1);
  286.     show_hudmessage(0,"%L",LANG_SERVER,"PUG_LIST_A",(iPlayersNum - iReadys),iMinPlayers);
  287.  
  288.     set_hudmessage(0,255,0,0.58,0.02,0,0.0,fHoldTime,0.0,0.0,2);
  289.     show_hudmessage(0,"%L",LANG_SERVER,"PUG_LIST_B",iReadys,iMinPlayers);
  290.  
  291.     set_hudmessage(255,255,225,0.58,0.02,0,0.0,fHoldTime,0.0,0.0,3);
  292.     show_hudmessage(0,"^n%s",szList[0]);
  293.  
  294.     set_hudmessage(255,255,225,0.23,0.02,0,0.0,fHoldTime,0.0,0.0,4);
  295.     show_hudmessage(0,"^n%s",szList[1]);
  296. }
  297.  
  298. public fnCheckReady()
  299. {
  300.     fnKeepMenu();
  301.    
  302.     new iReady = 0;
  303.    
  304.     for(new i;i < sizeof(g_bReady);i++)
  305.     {
  306.         if(g_bReady[i])
  307.         {
  308.             iReady++;
  309.         }
  310.     }
  311.  
  312.     if(iReady >= get_pcvar_num(g_pPlayersMin))
  313.     {
  314.         switch(GET_PUG_STAGE())
  315.         {
  316.             case STAGE_WARMUP:
  317.             {
  318.                 PugStart();
  319.             }
  320.             case STAGE_HALFTIME:
  321.             {
  322.                 if(GET_PUG_ROUND() < get_pcvar_num(g_pRoundsMax))
  323.                 {
  324.                     PugSecondHalf();
  325.                 }
  326.                 else
  327.                 {
  328.                     PugOvertime();
  329.                 }
  330.             }
  331.         }
  332.     }
  333. }
  334.  
  335. public fnJoinedClass(id)
  336. {
  337.     if(g_bActive)
  338.     {
  339.         if(get_ent_data(id,"CBasePlayer","m_iMenu") == CS_Menu_ChooseAppearance)
  340.         {
  341.             set_task(0.75,"fnRespawn",id);
  342.         }
  343.     }
  344.    
  345.     return PLUGIN_CONTINUE;
  346. }
  347.  
  348. public fnKilledPost(id)
  349. {
  350.     if(g_bActive)
  351.     {
  352.         set_task(0.75,"fnRespawn",id);
  353.     }
  354. }
  355.  
  356. public fnRespawn(id)
  357. {
  358.     if(is_user_connected(id) && !is_user_alive(id) && (CS_TEAM_T <= cs_get_user_team(id) <= CS_TEAM_CT))
  359.     {
  360.         ExecuteHamB(Ham_CS_RoundRespawn,id);
  361.     }
  362. }
  363.  
  364. public fnSpawnPost(id)
  365. {
  366.     if(g_bActive)
  367.     {
  368.         set_pev(id,pev_takedamage,DAMAGE_NO);
  369.     }
  370. }
  371.  
  372. public fnCmdStart(id,Handle,Seed)
  373. {
  374.     if(g_bActive)
  375.     {
  376.         if(is_user_alive(id) && pev(id,pev_takedamage) == DAMAGE_NO)
  377.         {
  378.             if(get_uc(Handle,UC_Buttons) & (IN_FORWARD|IN_BACK|IN_MOVELEFT|IN_MOVERIGHT|IN_DUCK|IN_ATTACK|IN_ATTACK2))
  379.             {
  380.                 set_pev(id,pev_takedamage,DAMAGE_AIM);
  381.             }
  382.         }
  383.     }
  384. }
  385.  
  386. public fnSetModel(iEntity)
  387. {
  388.     if(g_bActive)
  389.     {
  390.         if(pev_valid(iEntity))
  391.         {
  392.             new szName[MAX_NAME_LENGTH];
  393.             pev(iEntity,pev_classname,szName,charsmax(szName));
  394.            
  395.             if(equali(szName,"weaponbox"))
  396.             {
  397.                 set_pev(iEntity,pev_effects,EF_NODRAW);
  398.                 set_pev(iEntity,pev_nextthink,get_gametime() + 0.1);
  399.             }
  400.             else if(equali(szName,"weapon_shield"))
  401.             {
  402.                 set_pev(iEntity,pev_effects,EF_NODRAW);
  403.                 RequestFrame("fnRemoveEntity",iEntity);
  404.             }
  405.         }
  406.     }
  407. }
  408.  
  409. public fnRemoveEntity(iEntity)
  410. {
  411.     dllfunc(DLLFunc_Think,iEntity);
  412. }
  413.  
  414. public fnMoney(iMsg,iMsgDest,id)
  415. {
  416.     if(g_bActive)
  417.     {
  418.         if(is_user_alive(id))
  419.         {
  420.             cs_set_user_money(id,16000,0);
  421.         }
  422.  
  423.         return PLUGIN_HANDLED;
  424.     }
  425.  
  426.     return PLUGIN_CONTINUE;
  427. }
  428.  
  429. public CS_OnBuy(id,iWeapon)
  430. {
  431.     if(g_bActive)
  432.     {
  433.         if(cs_get_weapon_class(iWeapon) == CS_WEAPONCLASS_GRENADE)
  434.         {
  435.             return PLUGIN_HANDLED;
  436.         }
  437.     }
  438.    
  439.     return PLUGIN_CONTINUE;
  440. }


RequestFrame-hez szerintem kell egy inc.

Szerző:  elit [ 2017.08.04. 19:01 ]
Hozzászólás témája:  Re: PugReady forditási hiba (1.8.3 amxx)

na szóval ha kell is neki, akkor melyik?

Szerző:  qkly [ 2017.08.04. 19:37 ]
Hozzászólás témája:  Re: PugReady forditási hiba (1.8.3 amxx)

elit írta:
na szóval ha kell is neki, akkor melyik?


https://forums.alliedmods.net/showthread.php?t=247036

Ezt a topicot találtam. Sajnos lépek most el, de ez alapján keress hozzá.

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/