Raised This Month: $ Target: $400
 0% 

rewrite plugin for amxx


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
dagod
Member
Join Date: Jun 2005
Old 09-09-2005 , 12:54   rewrite plugin for amxx
Reply With Quote #1

Hello,

i have found a plugin for adminmod, which i really need in amxx, but i dont know how to configure it for amxx.

Code:
#include <core> #include <console> #include <string> #include <admin> #include <adminlib> #include <plugin> new STRING_VERSION[MAX_DATA_LENGTH] = "1.1"; new g_sMap[MAX_DATA_LENGTH]=""; /* Check whether vault.ini exists */ is_vaultfile_set(){     new vault[MAX_DATA_LENGTH];     getstrvar("admin_vault_file",vault,MAX_DATA_LENGTH);     if(streq(vault,"0") || strlen(vault)==0){         if(getvar("admin_debug")>0){             log("[BK_RES] No vault file defined.");         }         return 0;     }     return 1; } /* Define vault.ini */ define_vaultfile(){     new sPath[MAX_DATA_LENGTH];     getstrvar("amv_default_config_dir",sPath,MAX_DATA_LENGTH);     snprintf(sPath,MAX_DATA_LENGTH,"%s/vault.ini",sPath);     setstrvar("admin_vault_file",sPath);     reload();     if(getvar("admin_debug")>0){         log("[BK_RES] Defined vault.ini myself.");     } } /* Let's check, whether we should only refresh one map or all */ moremaps(sMapsFile[]){     if(strlen(g_sMap)!=0){         return 1;     }     else{         get_vaultdata("BK_RES_MAPS",sMapsFile,MAX_DATA_LENGTH);         /* This shouldn't happen and would spam the logs a bit, but better than an endless loop in the for-loop */         if(!fileexists(sMapsFile)){             log("[BK_RES] Defined mapsfile does not exist. Check admin_res_maps!");             return 0;         }     }     return filesize(sMapsFile,lines); } /* Just append the data of one file to another */ add_res_data(sMap[],sMap2[]){     new iLines;     new i;     new sLine[MAX_DATA_LENGTH];     if(fileexists(sMap)){         iLines=filesize(sMap,lines);         for(i=1;i<=iLines;i++){             readfile(sMap,sLine,i,MAX_DATA_LENGTH);             writefile(sMap2,sLine,-1);         }         return 1;     }     return 0; } /* Adding file to res-file, executed by external plugins */ public res_add(HLCommand,HLData,HLUserName,UserIndex){     new sMapsFile[MAX_DATA_LENGTH];     new sMap[MAX_DATA_LENGTH];     new sMapRes[MAX_DATA_LENGTH];     new sLine[MAX_DATA_LENGTH];     new iLines;     new i;     /* sLine should now include the new res file entry */     convert_string(HLData,sLine,MAX_DATA_LENGTH);         /* Now we check whether the file exists at all */     if(!fileexists(sLine)){         snprintf(sLine,MAX_TEXT_LENGTH,"[BK_RES] File %s does not exist on server.",sLine);         log(sLine);         return PLUGIN_HANDLED;     }     /* Let's check, whether we should only refresh one map or all */     iLines=moremaps(sMapsFile);         if(!iLines){         return PLUGIN_HANDLED;     }     /* Adding entry to res file */     for(i=1;i<=iLines;i++){         if(strlen(g_sMap)!=0){             strcpy(sMap,g_sMap,MAX_DATA_LENGTH);         }         else{             readfile(sMapsFile,sMap,i,MAX_DATA_LENGTH);         }         if(strlen(sMap)!=0){             snprintf(sMapRes,MAX_DATA_LENGTH,"maps/%s.res",sMap);             writefile(sMapRes,sLine,-1);         }     }     return PLUGIN_HANDLED; } /* This function is for adding map specific data and/or default data to the res file(s). */ public res_refresh(HLCommand,HLData,HLUserName,UserIndex){     new sMap[MAX_DATA_LENGTH];     new sMapDefault[MAX_DATA_LENGTH];     new sMapsFile[MAX_DATA_LENGTH];     new sMapRes[MAX_DATA_LENGTH];     new sPath[MAX_DATA_LENGTH];     new iLines;     new i;         /* Let's check, whether we should only refresh one map or all */     iLines=moremaps(sMapsFile);         /* exit, if there is something wrong */     if(!iLines){         return PLUGIN_HANDLED;     }         getstrvar("amv_default_config_dir",sPath,MAX_DATA_LENGTH);     snprintf(sMapDefault,MAX_DATA_LENGTH,"%s/res/default.res",sPath);     for(i=1;i<=iLines;i++){         if(strlen(g_sMap)!=0){             strcpy(sMap,g_sMap,MAX_DATA_LENGTH);         }         else{             readfile(sMapsFile,sMap,i,MAX_DATA_LENGTH);         }         if(strlen(sMap)!=0 && sMap[0]!='/' && sMap[0]!='#' && sMap[0]!=';'){             /* We like to add any map specific data to the res file */             snprintf(sMapRes,MAX_DATA_LENGTH,"maps/%s.res",sMap); //The res file             snprintf(sMap,MAX_DATA_LENGTH,"%s/res/%s.res",sPath,sMap); //The map specific res file             add_res_data(sMap,sMapRes);             /* Of course, we also want to add some default data for all maps, if it exists */             add_res_data(sMapDefault,sMapRes);         }     }         strinit(g_sMap);     log("[BK_RES] Res files created!");     return PLUGIN_HANDLED; } /* Starting the recreation of the res files for all maps or a specific map */ public admin_res_refresh(HLCommand,HLData,HLUserName,UserIndex){     new sMap[MAX_DATA_LENGTH];     new iLines,i;     new sMapsFile[MAX_DATA_LENGTH];     /* sMap should now include the map to be renewed or nothing */     convert_string(HLData,sMap,MAX_DATA_LENGTH);     /* Let's check, whether we should only refresh one map or all */     iLines=moremaps(sMapsFile);     /* exit, if there is something wrong */     if(!iLines){         return PLUGIN_HANDLED;     }     /* Delete those files we want to recreate at first*/     for(i=1;i<=iLines;i++){         if(strlen(sMap)!=0){             strcpy(g_sMap,sMap,MAX_DATA_LENGTH);         }         else{             readfile(sMapsFile,sMap,i,MAX_DATA_LENGTH);         }         if(strlen(sMap)!=0 && sMap[0]!='/' && sMap[0]!='#' && sMap[0]!=';'){             snprintf(sMap,MAX_DATA_LENGTH,"maps/%s.res",sMap);             if(fileexists(sMap)){                 deletefile(sMap);             }         }         strinit(sMap);     }     /* Ok let's see, which plugin has something to tell ;-) */     plugin_exec("res_refresh","");     return PLUGIN_HANDLED; } /* Defining the file with the maps for which res files should be created */ public admin_res_maps(HLCommand,HLData,HLUserName,UserIndex){     new sMapsFile[MAX_DATA_LENGTH];     new sText[MAX_TEXT_LENGTH];     /* Here we have most probably the maps file */     convert_string(HLData,sMapsFile,MAX_DATA_LENGTH);         /* At first we check, if a map is specified. If it isn't, we would return the current value */     if(!strlen(sMapsFile)){         get_vaultdata("BK_RES_MAPS",sMapsFile,MAX_DATA_LENGTH);         snprintf(sText,MAX_TEXT_LENGTH,"Maps file is: %s",sMapsFile);         selfmessage(sText);         return PLUGIN_HANDLED;     }         /* Secondly, we check whether the specified file exists. If it does exist, we would change the the setting and return the new value */     if(fileexists(sMapsFile)){         set_vaultdata("BK_RES_MAPS",sMapsFile);         snprintf(sText,MAX_TEXT_LENGTH,"Maps file is now: %s",sMapsFile);         selfmessage(sText);         return PLUGIN_HANDLED;     }         /* If everything fails, the file is non-existant, so we inform the user that he/she made a mistake */     snprintf(sText,MAX_TEXT_LENGTH,"ERROR: Specified maps file %s does not exist!",sMapsFile);     selfmessage(sText);     return PLUGIN_HANDLED; } /* Init the plugin */ public plugin_init() {     new sMaps[MAX_DATA_LENGTH];     /* Plugin Registrierung */     plugin_registerinfo("BK Res","Managing Res-Files",STRING_VERSION);     plugin_registercmd("res_refresh","res_refresh",ACCESS_CONFIG,"");     plugin_registercmd("res_add","res_add",ACCESS_CONFIG,"");     plugin_registercmd("admin_res_refresh","admin_res_refresh",ACCESS_CONFIG,"admin_res_refresh [mapname]: Regenerates res-files of all or a certain map.");     plugin_registercmd("admin_res_maps","admin_res_maps",ACCESS_CONFIG,"admin_res_maps <maplist>: Defines the file including the maps for which res-files should be created.");     /* vault.ini check und ggf. definieren */     if(!is_vaultfile_set()){         define_vaultfile();     }     /* Install plugin with initial values */     if(!get_vaultdata("BK_RES_MAPS",sMaps,MAX_DATA_LENGTH)){         getstrvar("mapcyclefile",sMaps,MAX_DATA_LENGTH);         set_vaultdata("BK_RES_MAPS",sMaps);         set_vaultnumdata("BK_RES_NO",0);         if(getvar("admin_debug")>0){             log("[BK_RES] Installed! Using mapcycle for res file creation.");         }     }     return PLUGIN_CONTINUE; }
Could someone write a new version for amxmodx, please?

Readmes for this plugins are in German and inEnglish
/EDIT: oh, you have to copy and paste the links, cause the provider allows no extern linking..

much thx 4 help

dagod
dagod is offline
 


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 14:23.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode