搜索
查看: 2411|回复: 0

高人帮忙加上权限没有权限的不能保存经验

[复制链接]
发表于 2009-6-28 09:57:17 | 显示全部楼层 |阅读模式 来自 中国–广东–中山

  1. // Advanced Swear Filter and Punishment plugin uses this function
  2. public Admin_TakeXP(){
  3.         #if ADVANCED_DEBUG
  4.                 writeDebugInfo("Admin_TakeXP",0)
  5.         #endif

  6.         if (!warcraft3)
  7.                 return PLUGIN_CONTINUE

  8.         new argID[3], argXP[32]
  9.         read_argv(1,argID,2)
  10.         read_argv(2,argXP,31)

  11.         new id = str_to_num(argID)

  12.         p_data[id][P_XP] -= str_to_num(argXP)

  13.         WAR3_Display_Level(id,DISPLAYLEVEL_NONE)

  14.         return PLUGIN_HANDLED
  15. }

  16. public Admin_GiveMole(id, level, cid){
  17.         #if ADVANCED_DEBUG
  18.                 writeDebugInfo("Admin_GiveMole",id)
  19.         #endif

  20.         if (!warcraft3)
  21.                 return PLUGIN_CONTINUE

  22.     if ( id && !( get_user_flags( id ) & XP_get_admin_flag() ) )
  23.         {
  24.                 client_print(id,print_console,"%L",id,"YOU_HAVE_NO_ACCESS", g_MODclient)
  25.                 return PLUGIN_HANDLED
  26.         }

  27.         new arg[32]
  28.         read_argv(1,arg,31)  
  29.         if(equali(arg,"@ALL")){
  30.                 new players[32], inum
  31.                 get_players(players,inum)
  32.                 for(new a=0;a<inum;++a){
  33.                         p_data[players[a]][P_ITEM2]=ITEM_MOLE
  34.                         WAR3_Display_Level(id,DISPLAYLEVEL_NONE)
  35.                 }
  36.                 return PLUGIN_HANDLED
  37.         }
  38.         else if (arg[0]=='@'){
  39.                 new players[32], inum
  40.                 get_players(players,inum,"e",arg[1])
  41.                 if (inum==0){
  42.                         console_print(id,"%L",id,"NO_CLIENTS_IN_TEAM")
  43.                         return PLUGIN_HANDLED
  44.                 }
  45.                 for(new a=0;a<inum;++a){
  46.                         p_data[players[a]][P_ITEM2]=ITEM_MOLE
  47.                         WAR3_Display_Level(id,DISPLAYLEVEL_NONE)
  48.                 }
  49.         }
  50.         else {
  51.                 new player = find_target(id,arg)
  52.                 if (!player) return PLUGIN_HANDLED
  53.                 p_data[player][P_ITEM2]=ITEM_MOLE
  54.                 WAR3_Display_Level(player,DISPLAYLEVEL_NONE)
  55.         }

  56.         return PLUGIN_HANDLED
  57. }

  58. public changeXP(){
  59.         #if ADVANCED_DEBUG
  60.                 writeDebugInfo("changeXP",0)
  61.         #endif

  62.         if (!warcraft3)
  63.                 return PLUGIN_CONTINUE

  64.         new arg1[4]
  65.         new arg2[8]
  66.         read_argv(1,arg1,3)
  67.         read_argv(2,arg2,7)
  68.                
  69.         new id=str_to_num(arg1)
  70.         new xp=str_to_num(arg2)

  71.         if((p_data[id][P_XP] + xp)< 0)
  72.                 p_data[id][P_XP] = 0
  73.         else
  74.                 p_data[id][P_XP] += xp
  75.        
  76.         WAR3_Display_Level(id, DISPLAYLEVEL_NONE)

  77.         return PLUGIN_CONTINUE
  78. }

  79. public Admin_SaveXP(id, level, cid){
  80.         #if ADVANCED_DEBUG
  81.                 writeDebugInfo("Admin_SaveXP",id)
  82.         #endif

  83.         if (!warcraft3)
  84.                 return PLUGIN_CONTINUE

  85.     if ( id && !( get_user_flags( id ) & XP_get_admin_flag() ) )
  86.         {
  87.                 client_print(id,print_console,"%L",id,"YOU_HAVE_NO_ACCESS", g_MODclient)
  88.                 return PLUGIN_HANDLED
  89.         }

  90.         new target[32]
  91.         read_argv(1,target,31)

  92.         _Admin_SaveXP(id, target)

  93.         return PLUGIN_HANDLED
  94. }

  95. _Admin_SaveXP(id, target[]){
  96.         #if ADVANCED_DEBUG
  97.                 writeDebugInfo("_Admin_SaveXP",id)
  98.         #endif


  99.         if(equali(target,"@ALL")){
  100.                 new players[32], inum
  101.                 get_players(players,inum,"c")

  102.                 for(new a=0;a<inum;++a){
  103.                         XP_Save(players[a])
  104.                 }

  105.                 return PLUGIN_CONTINUE
  106.         }
  107.         else if (target[0]=='@'){
  108.                 new players[32], inum
  109.                 get_players(players,inum,"ce",target)

  110.                 if (inum==0){
  111.                         console_print(id,"%L",id,"NO_CLIENTS_IN_TEAM")
  112.                         return PLUGIN_CONTINUE
  113.                 }

  114.                 for(new a=0;a<inum;++a){
  115.                         XP_Save(players[a])
  116.                 }
  117.         }
  118.         else {
  119.                 new player = find_target(id,target)

  120.                 if (!player)
  121.                         return PLUGIN_CONTINUE

  122.                 XP_Save(player)
  123.         }
  124.         return PLUGIN_CONTINUE
  125. }

  126. public Admin_GiveXP(id, level, cid){
  127.         #if ADVANCED_DEBUG
  128.                 writeDebugInfo("Admin_GiveXP",id)
  129.         #endif

  130.         if (!warcraft3)
  131.                 return PLUGIN_CONTINUE

  132.     if ( id && !( get_user_flags( id ) & XP_get_admin_flag() ) )
  133.         {
  134.                         client_print(id,print_console,"%L",id,"YOU_HAVE_NO_ACCESS", g_MODclient)
  135.                         return PLUGIN_HANDLED
  136.         }

  137.         new target[32], xp[10]
  138.         read_argv(1,target,31)
  139.         read_argv(2,xp,9)

  140.         _Admin_GiveXP(id, target, str_to_num(xp))

  141.         return PLUGIN_HANDLED
  142. }

  143. public _Admin_GiveXP(id, target[], iXP){
  144.         #if ADVANCED_DEBUG
  145.                 writeDebugInfo("_Admin_GiveXP",id)
  146.         #endif


  147.         if(equali(target,"@ALL")){
  148.                 new players[32], inum
  149.                 get_players(players,inum)

  150.                 for(new a=0;a<inum;++a){
  151.                         client_print(players[a],print_chat,"%s %L",g_MODclient, id,"THE_ADMIN_GAVE_YOU_EXPERIENCE", iXP)

  152.                         p_data[players[a]][P_XP] += iXP

  153.                         WAR3_Display_Level(players[a],DISPLAYLEVEL_NONE)
  154.                 }

  155.                 return PLUGIN_CONTINUE
  156.         }
  157.         else if (target[0]=='@'){
  158.                 new players[32], inum
  159.                 get_players(players,inum,"e",target[1])

  160.                 if (inum==0){
  161.                         console_print(id,"%L",id,"NO_CLIENTS_IN_TEAM")

  162.                         return PLUGIN_CONTINUE
  163.                 }

  164.                 for(new a=0;a<inum;++a){
  165.                         client_print(players[a],print_chat,"%s %L",g_MODclient, id,"THE_ADMIN_GAVE_YOU_EXPERIENCE", iXP)

  166.                         p_data[players[a]][P_XP] += iXP

  167.                         WAR3_Display_Level(players[a],DISPLAYLEVEL_NONE)
  168.                 }
  169.         }
  170.         else {
  171.                 new player = find_target(id,target)

  172.                 if (!player)
  173.                         return PLUGIN_CONTINUE

  174.                 client_print(player,print_chat,"%s %L",g_MODclient, id,"THE_ADMIN_GAVE_YOU_EXPERIENCE", iXP)

  175.                 p_data[player][P_XP] += iXP

  176.                 WAR3_Display_Level(player,DISPLAYLEVEL_NONE)
  177.         }
  178.         return PLUGIN_CONTINUE
  179. }
复制代码
游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表