diff --git a/amxmodx/amxmodx.cpp b/amxmodx/amxmodx.cpp index 1bc7c532..b041c5c9 100755 --- a/amxmodx/amxmodx.cpp +++ b/amxmodx/amxmodx.cpp @@ -1272,7 +1272,6 @@ static cell AMX_NATIVE_CALL show_menu(AMX *amx, cell *params) /* 3 param */ // Fire newmenu callback so closing it can be handled by the plugin if (!CloseNewMenus(pPlayer)) { - LogError(amx, AMX_ERR_NATIVE, "Plugin called menu_display when item=MENU_EXIT"); return 2; } @@ -1318,7 +1317,7 @@ static cell AMX_NATIVE_CALL show_menu(AMX *amx, cell *params) /* 3 param */ return 0; } - if (closeMenu(index)) + if (closeMenu(index) == 2) { return 0; } diff --git a/amxmodx/string.cpp b/amxmodx/string.cpp index 2ff80fc7..ebed1ab9 100755 --- a/amxmodx/string.cpp +++ b/amxmodx/string.cpp @@ -1,4 +1,4 @@ -// vim: set ts=4 sw=4 tw=99 noet: +// vim: set ts=4 sw=4 tw=99 noet: // // AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO"). // Copyright (C) The AMX Mod X Development Team. @@ -210,6 +210,16 @@ void copy_amxmemory(cell* dest, cell* src, int len) *dest++=*src++; } +bool utf8isspace(const char* string) +{ + return utf8iscategory(string, 1, UTF8_CATEGORY_ISSPACE) != 0; +} + +size_t utf8getspaces(const char* string) +{ + return utf8iscategory(string, SIZE_MAX, UTF8_CATEGORY_ISSPACE); +} + char* parse_arg(char** line, int& state) { static char arg[3072]; @@ -218,7 +228,7 @@ char* parse_arg(char** line, int& state) while (**line) { - if (isspace(**line)) + if (utf8isspace(*line)) { if (state == 1) break; @@ -919,6 +929,7 @@ static cell AMX_NATIVE_CALL amx_strtok(AMX *amx, cell *params) int right_pos = 0; unsigned int i = 0; bool done_flag = false; + size_t spaces; int len = 0; //string[] @@ -938,9 +949,9 @@ static cell AMX_NATIVE_CALL amx_strtok(AMX *amx, cell *params) { if (trim && !done_flag) { - if (isspace(string[i])) + if ((spaces = utf8getspaces(string + i) > 0)) { - while (isspace(string[++i])); + i += spaces; done_flag = true; } } @@ -974,6 +985,7 @@ static cell AMX_NATIVE_CALL amx_strtok2(AMX *amx, cell *params) { int left_pos = 0, right_pos = 0, len, pos = -1; unsigned int i = 0; + size_t spaces; char *string = get_amxstring(amx, params[1], 0, len); char *left = new char[len + 1], *right = new char[len + 1]; @@ -989,9 +1001,9 @@ static cell AMX_NATIVE_CALL amx_strtok2(AMX *amx, cell *params) int trim = params[7]; // ltrim left - if (trim & 1 && isspace(string[i])) + if (trim & 1 && (spaces = utf8getspaces(string)) > 0) { - while (isspace(string[++i])); + i += spaces; } for (; i < (unsigned int) len; ++i) @@ -1007,17 +1019,17 @@ static cell AMX_NATIVE_CALL amx_strtok2(AMX *amx, cell *params) } // rtrim left - if (trim & 2 && left_pos && isspace(left[left_pos - 1])) + if (trim & 2 && left_pos && utf8isspace(&left[left_pos - 1])) { - while (--left_pos >= 0 && isspace(left[left_pos])); + while (--left_pos >= 0 && utf8isspace(&left[left_pos])); ++left_pos; } // ltrim right - if (trim & 4 && isspace(string[i])) + if (trim & 4 && (spaces = utf8getspaces(string + i)) > 0) { - while (isspace(string[++i])); + i += spaces; } for (; i < (unsigned int) len; ++i) @@ -1026,9 +1038,9 @@ static cell AMX_NATIVE_CALL amx_strtok2(AMX *amx, cell *params) } // rtrim right - if (trim & 8 && right_pos && isspace(right[right_pos - 1])) + if (trim & 8 && right_pos && utf8isspace(&right[right_pos - 1])) { - while (--right_pos >= 0 && isspace(right[right_pos])); + while (--right_pos >= 0 && utf8isspace(&right[right_pos])); ++right_pos; } @@ -1058,8 +1070,12 @@ static cell AMX_NATIVE_CALL argparse(AMX *amx, cell *params) // Strip all left-hand whitespace. size_t i = start_pos; - while (i < input_len && isspace(input[i])) - i++; + size_t spaces; + + if ((spaces = utf8getspaces(input + i)) > 0) + { + i += spaces; + } if (i >= input_len) { *buffer = '\0'; @@ -1078,7 +1094,7 @@ static cell AMX_NATIVE_CALL argparse(AMX *amx, cell *params) } // If not in quotes, and we see a space, stop. - if (isspace(input[i]) && !in_quote) + if (utf8isspace(input + i) && !in_quote) break; if (size_t(bufpos - buffer) < buflen) @@ -1106,9 +1122,13 @@ static cell AMX_NATIVE_CALL strbreak(AMX *amx, cell *params) /* 5 param */ int RightMax = params[5]; size_t len = (size_t)_len; + size_t spaces; + + if ((spaces = utf8getspaces(string)) > 0) + { + i += spaces; + } - while (isspace(string[i]) && i 0) { do_copy: size_t pos = i; - while (isspace(string[i])) - i++; + i += spaces; + const char *start = had_quotes ? &(string[beg+1]) : &(string[beg]); size_t _end = had_quotes ? (i==len-1 ? 1 : 2) : 0; size_t end = (pos - _end > (size_t)LeftMax) ? (size_t)LeftMax : pos - _end; @@ -1367,18 +1387,27 @@ static cell AMX_NATIVE_CALL amx_strlen(AMX *amx, cell *params) static cell AMX_NATIVE_CALL amx_trim(AMX *amx, cell *params) { - int len, newlen; - char *str = get_amxstring(amx, params[1], 0, len); + int length; + auto string = get_amxstring(amx, params[1], 0, length); - UTIL_TrimLeft(str); - UTIL_TrimRight(str); + auto leftSpaces = utf8getspaces(string); + auto rightSpaces = 0u; - newlen = strlen(str); - len -= newlen; + auto originalLength = length; - set_amxstring(amx, params[1], str, newlen); + if (leftSpaces < size_t(length)) + { + while (--length >= 0 && utf8isspace(string + length)) + { + ++rightSpaces; + } + } - return len; + auto totalSpaces = leftSpaces + rightSpaces; + + set_amxstring(amx, params[1], string + leftSpaces, originalLength - totalSpaces); + + return totalSpaces; } static cell AMX_NATIVE_CALL n_strcat(AMX *amx, cell *params) diff --git a/compiler/libpc300/sc.h b/compiler/libpc300/sc.h index 82a7616d..fd3d269a 100755 --- a/compiler/libpc300/sc.h +++ b/compiler/libpc300/sc.h @@ -54,7 +54,7 @@ #define CTRL_CHAR '^' /* default control character */ #define sCHARBITS 8 /* size of a packed character */ -#define sDIMEN_MAX 3 /* maximum number of array dimensions */ +#define sDIMEN_MAX 4 /* maximum number of array dimensions */ #define sLINEMAX 4095 /* input line length (in characters) */ #define sCOMP_STACK 32 /* maximum nesting of #if .. #endif sections */ #define sDEF_LITMAX 500 /* initial size of the literal pool, in "cells" */ @@ -280,6 +280,12 @@ typedef struct s_stringpair { char *documentation; } stringpair; +typedef struct s_valuepair { + struct s_valuepair *next; + long first; + long second; +} valuepair; + /* macros for code generation */ #define opcodes(n) ((n)*sizeof(cell)) /* opcode size */ #define opargs(n) ((n)*sizeof(cell)) /* size of typical argument */ @@ -700,6 +706,9 @@ SC_FUNC void delete_docstringtable(void); SC_FUNC stringlist *insert_autolist(char *string); SC_FUNC char *get_autolist(int index); SC_FUNC void delete_autolisttable(void); +SC_FUNC valuepair *push_heaplist(long first, long second); +SC_FUNC int popfront_heaplist(long *first, long *second); +SC_FUNC void delete_heaplisttable(void); SC_FUNC stringlist *insert_dbgfile(const char *filename); SC_FUNC stringlist *insert_dbgline(int linenr); SC_FUNC stringlist *insert_dbgsymbol(symbol *sym); diff --git a/compiler/libpc300/sc1.c b/compiler/libpc300/sc1.c index 8f5936c9..66af30d4 100755 --- a/compiler/libpc300/sc1.c +++ b/compiler/libpc300/sc1.c @@ -628,6 +628,7 @@ int pc_compile(int argc, char *argv[]) /* reset "defined" flag of all functions and global variables */ reduce_referrers(&glbtab); delete_symbols(&glbtab,0,TRUE,FALSE); + delete_heaplisttable(); #if !defined NO_DEFINE delete_substtable(); inst_datetime_defines(); @@ -805,6 +806,7 @@ cleanup: free(sc_documentation); #endif delete_autolisttable(); + delete_heaplisttable(); if (errnum!=0) { if (strlen(errfname)==0) pc_printf("\n%d Error%s.\n",errnum,(errnum>1) ? "s" : ""); @@ -2170,53 +2172,48 @@ static cell calc_arraysize(int dim[],int numdim,int cur) return dim[cur]+(dim[cur]*calc_arraysize(dim,numdim,cur+1)); } -static cell adjust_indirectiontables(int dim[],int numdim,int cur,cell increment, - int startlit,constvalue *lastdim,int *skipdim) +static void adjust_indirectiontables(int dim[],int numdim,int startlit, + constvalue *lastdim,int *skipdim) { static int base; - int d; + int cur; + int i,d; cell accum; + cell size; - assert(cur>=0 && cur=0); - assert(cur>0 && startlit==-1 || startlit>=0 && startlit<=litidx); - if (cur==0) - base=startlit; - if (cur==numdim-1) - return 0; - /* 2 or more dimensions left, fill in an indirection vector */ - assert(dim[cur]>0); - if (dim[cur+1]>0) { - for (d=0; dnext; d<*skipdim; d++,ld=ld->next) { - assert(ld!=NULL); - } /* for */ - for (d=0; dname,NULL,16)==d); - litq[base++]=(dim[cur]+accum+increment) * sizeof(cell); - accum+=ld->value-1; - *skipdim+=1; - ld=ld->next; - } /* for */ - } /* if */ - /* create the indirection tables for the lower level */ - if (cur+2=0 && startlit<=litidx); + base=startlit; + size=1; + for (cur=0; cur0) { + for (i=0; inext; d<*skipdim; d++,ld=ld->next) { + assert(ld!=NULL); + } /* for */ + for (d=0; dname,NULL,16)==d); + litq[base++]=(size*dim[cur]+accum) * sizeof(cell); + accum+=ld->value-1; + *skipdim+=1; + ld=ld->next; + } /* for */ + } /* for */ + } /* if */ + size*=dim[cur]; + } /* for */ } /* initials @@ -2274,7 +2271,7 @@ static void initials2(int ident,int tag,cell *size,int dim[],int numdim, for (tablesize=calc_arraysize(dim,numdim-1,0); tablesize>0; tablesize--) litadd(0); if (dim[numdim-1]!=0) /* error 9 has already been given */ - adjust_indirectiontables(dim,numdim,0,0,curlit,NULL,NULL); + adjust_indirectiontables(dim,numdim,curlit,NULL,NULL); } /* if */ return; } /* if */ @@ -2340,7 +2337,7 @@ static void initials2(int ident,int tag,cell *size,int dim[],int numdim, * of the array and we can properly adjust the indirection vectors */ if (err==0) - adjust_indirectiontables(dim,numdim,0,0,curlit,&lastdim,&skipdim); + adjust_indirectiontables(dim,numdim,curlit,&lastdim,&skipdim); delete_consttable(&lastdim); /* clear list of minor dimension sizes */ } /* if */ } /* if */ @@ -5455,6 +5452,16 @@ static void doreturn(void) /* nothing */; sub=addvariable(curfunc->name,(argcount+3)*sizeof(cell),iREFARRAY,sGLOBAL,curfunc->tag,dim,numdim,idxtag); sub->parent=curfunc; + /* Function that returns array can be used before it is defined, so at + * the call point (if it is before definition) we may not know if this + * function returns array and what is its size (for example inside the + * conditional operator), so we don't know how many cells on the heap + * we need. Calculating heap consumption is required for the fix of + * incorrect heap deallocation on conditional operator. That's why we + * need an additional pass. + */ + if ((curfunc->usage & uREAD)!=0) + sc_reparse=TRUE; } /* if */ /* get the hidden parameter, copy the array (the array is on the heap; * it stays on the heap for the moment, and it is removed -usually- at diff --git a/compiler/libpc300/sc2.c b/compiler/libpc300/sc2.c index 09ce6621..5d7b6a84 100755 --- a/compiler/libpc300/sc2.c +++ b/compiler/libpc300/sc2.c @@ -600,13 +600,6 @@ static int htoi(cell *val,const unsigned char *curptr) return (int)(ptr-curptr); } -#if defined __APPLE__ -static double pow10(double d) -{ - return pow(10, d); -} -#endif - /* ftoi * * Attempts to interpret a numeric symbol as a rational number, either as @@ -682,11 +675,7 @@ static int ftoi(cell *val,const unsigned char *curptr) exp=(exp*10)+(*ptr-'0'); ptr++; } /* while */ - #if defined __GNUC__ - fmult=pow10(exp*sign); - #else - fmult=pow(10,exp*sign); - #endif + fmult=pow(10,exp*sign); fnum *= fmult; dnum *= (unsigned long)(fmult+0.5); } /* if */ diff --git a/compiler/libpc300/sc3.c b/compiler/libpc300/sc3.c old mode 100755 new mode 100644 index da6f8ed9..f54bdb85 --- a/compiler/libpc300/sc3.c +++ b/compiler/libpc300/sc3.c @@ -1010,38 +1010,60 @@ static int hier13(value *lval) { int lvalue=plnge1(hier12,lval); if (matchtoken('?')) { + int locheap=decl_heap; /* save current heap delta */ + long heap1,heap2; /* max. heap delta either branch */ + valuepair *heaplist_node; int flab1=getlabel(); int flab2=getlabel(); value lval2 = {0}; int array1,array2; - int orig_heap=decl_heap; - int diff1=0,diff2=0; if (lvalue) { rvalue(lval); } else if (lval->ident==iCONSTEXPR) { ldconst(lval->constval,sPRI); error(lval->constval ? 206 : 205); /* redundant test */ } /* if */ + if (sc_status==statFIRST) { + /* We should push a new node right now otherwise we will pop it in the + * wrong order on the write stage. + */ + heaplist_node=push_heaplist(0,0); /* save the pointer to write the actual data later */ + } else if (sc_status==statWRITE || sc_status==statSKIP) { + #if !defined NDEBUG + int result= + #endif + popfront_heaplist(&heap1,&heap2); + assert(result); /* pop off equally many items than were pushed */ + } /* if */ jmp_eq0(flab1); /* go to second expression if primary register==0 */ PUSHSTK_I(sc_allowtags); sc_allowtags=FALSE; /* do not allow tagnames here (colon is a special token) */ + if (sc_status==statWRITE) { + modheap(heap1*sizeof(cell)); + decl_heap+=heap1; /* equilibrate the heap (see comment below) */ + } /* if */ if (hier13(lval)) rvalue(lval); if (lval->ident==iCONSTEXPR) /* load constant here */ ldconst(lval->constval,sPRI); sc_allowtags=(short)POPSTK_I(); /* restore */ + heap1=decl_heap-locheap; /* save heap space used in "true" branch */ + assert(heap1>=0); + decl_heap=locheap; /* restore heap delta */ jumplabel(flab2); setlabel(flab1); - if (orig_heap!=decl_heap) { - diff1=abs(decl_heap-orig_heap); - decl_heap=orig_heap; - } needtoken(':'); + if (sc_status==statWRITE) { + modheap(heap2*sizeof(cell)); + decl_heap+=heap2; /* equilibrate the heap (see comment below) */ + } /* if */ if (hier13(&lval2)) rvalue(&lval2); if (lval2.ident==iCONSTEXPR) /* load constant here */ ldconst(lval2.constval,sPRI); + heap2=decl_heap-locheap; /* save heap space used in "false" branch */ + assert(heap2>=0); array1= (lval->ident==iARRAY || lval->ident==iREFARRAY); array2= (lval2.ident==iARRAY || lval2.ident==iREFARRAY); if (array1 && !array2) { @@ -1055,19 +1077,26 @@ static int hier13(value *lval) if (!matchtag(lval->tag,lval2.tag,FALSE)) error(213); /* tagname mismatch ('true' and 'false' expressions) */ setlabel(flab2); + if (sc_status==statFIRST) { + /* Calculate the max. heap space used by either branch and save values of + * max - heap1 and max - heap2. On the second pass, we use these values + * to equilibrate the heap space used by either branch. This is needed + * because we don't know (at compile time) which branch will be taken, + * but the heap cannot be restored inside each branch because the result + * on the heap may needed by the remaining expression. + */ + int max=(heap1>heap2) ? heap1 : heap2; + heaplist_node->first=max-heap1; + heaplist_node->second=max-heap2; + decl_heap=locheap+max; /* otherwise it will contain locheap+heap2 and the + * max. heap usage will be wrong for the upper + * expression */ + } /* if */ + assert(sc_status!=statWRITE || heap1==heap2); if (lval->ident==iARRAY) lval->ident=iREFARRAY; /* iARRAY becomes iREFARRAY */ else if (lval->ident!=iREFARRAY) lval->ident=iEXPRESSION; /* iREFARRAY stays iREFARRAY, rest becomes iEXPRESSION */ - if (orig_heap!=decl_heap) { - diff2=abs(decl_heap-orig_heap); - decl_heap=orig_heap; - } - if (diff1==diff2) { - decl_heap+=(diff1/2); - } else { - decl_heap+=(diff1+diff2); - } return FALSE; /* conditional expression is no lvalue */ } else { return lvalue; diff --git a/compiler/libpc300/sclist.c b/compiler/libpc300/sclist.c index 7d60226c..e4d36060 100755 --- a/compiler/libpc300/sclist.c +++ b/compiler/libpc300/sclist.c @@ -443,6 +443,52 @@ SC_FUNC void delete_autolisttable(void) } +/* ----- value pair list ----------------------------------------- */ +static valuepair heaplist = {NULL, 0, 0}; + +SC_FUNC valuepair *push_heaplist(long first, long second) +{ + valuepair *cur, *last; + if ((cur=malloc(sizeof(valuepair)))==NULL) + error(103); /* insufficient memory (fatal error) */ + + cur->first=first; + cur->second=second; + cur->next=NULL; + + for (last=&heaplist; last->next!=NULL; last=last->next) + /* nothing */; + last->next=cur; + return cur; +} + +SC_FUNC int popfront_heaplist(long *first, long *second) +{ + valuepair *front=heaplist.next; + if (front==NULL) + return 0; + + /* copy fields */ + *first=front->first; + *second=front->second; + + /* unlink and free */ + heaplist.next=front->next; + free(front); + return 1; +} + +SC_FUNC void delete_heaplisttable(void) +{ + valuepair *cur; + while (heaplist.next!=NULL) { + cur=heaplist.next; + heaplist.next=cur->next; + free(cur); + } /* while */ +} + + /* ----- debug information --------------------------------------- */ static stringlist dbgstrings = {NULL, NULL}; diff --git a/plugins/cstrike/miscstats.sma b/plugins/cstrike/miscstats.sma index 89ecb000..c3ac3db0 100755 --- a/plugins/cstrike/miscstats.sma +++ b/plugins/cstrike/miscstats.sma @@ -13,6 +13,7 @@ #include #include +#include #include public MultiKill @@ -81,9 +82,6 @@ new g_pcvar_mp_c4timer, g_c4timer_value const TASK_BOMB_TIMER = 8038 const TASK_DELAYED_NEW_ROUND = 98038 -const TEAM_T = 1 -const TEAM_CT = 2 - new g_connected[MAX_PLAYERS + 1] new g_msounds[MAX_PLAYERS + 1] new const _msound[] = "_msound" @@ -178,13 +176,7 @@ new g_HeadShots[7][] = "HS_MSG_7" } -new g_teamsNames[4][] = -{ - "TERRORIST", - "CT", - "TERRORISTS", - "CTS" -} +new const g_teamsNames[CsTeams][] = { "", "TERRORIST" , "CT", "" }; public plugin_init() { @@ -543,48 +535,26 @@ public client_death(killer, victim, wpnindex, hitplace, TK) } } - new team = get_user_team(victim) - if (EnemyRemaining && is_user_connected(victim)) + new const CsTeams:team = cs_get_user_team(victim); + + if (EnemyRemaining && CS_TEAM_T <= team <= CS_TEAM_CT && is_user_connected(victim)) { - if( TEAM_T <= team <= TEAM_CT ) + new const victimTeammatesCount = get_playersnum_ex(GetPlayers_ExcludeDead | GetPlayers_MatchTeam, g_teamsNames[team]); + + if (victimTeammatesCount) { - new ppl[MAX_PLAYERS], pplnum, epplnum, a - get_players(ppl, epplnum, "ae", team == TEAM_T ? "CT" : "TERRORIST") - get_players(ppl, pplnum, "ae", team == TEAM_T ? "TERRORIST" : "CT") - if( victim_alive ) - { - for(a=0; a 1 ? + ShowSyncHudMsg(killerTeammatesList[teammate], g_bottom_sync, "%l", "REMAINING_ENEMIES", victimTeammatesCount) : + ShowSyncHudMsg(killerTeammatesList[teammate], g_bottom_sync, "%l","REMAINING_ENEMY"); } } } @@ -600,7 +570,7 @@ public client_death(killer, victim, wpnindex, hitplace, TK) { switch( team ) { - case TEAM_T: + case CS_TEAM_T: { for(b=0; b 1) { g_LastAnnounce = cts[0] oposite = tsnum - _team = 0 + _team = CS_TEAM_T } else if (tsnum == 1 && ctsnum > 1) { g_LastAnnounce = ts[0] oposite = ctsnum - _team = 1 + _team = CS_TEAM_CT } if (g_LastAnnounce) @@ -818,7 +788,7 @@ public showStatus(id) get_user_name(pid, name, charsmax(name)) new color1 = 0, color2 = 0 - if (get_user_team(pid) == TEAM_T) + if (cs_get_user_team(pid) == CS_TEAM_T) color1 = 255 else color2 = 255 diff --git a/plugins/lang/adminchat.txt b/plugins/lang/adminchat.txt index dd13690d..40db65e8 100755 --- a/plugins/lang/adminchat.txt +++ b/plugins/lang/adminchat.txt @@ -12,9 +12,9 @@ COL_MAROON = maroon PRINT_ALL = (ALL) %s : %s [de] -COL_WHITE = weiss +COL_WHITE = weiß COL_RED = rot -COL_GREEN = gruen +COL_GREEN = grün COL_BLUE = blau COL_YELLOW = gelb COL_MAGENTA = magenta-rot diff --git a/plugins/lang/admincmd.txt b/plugins/lang/admincmd.txt index fa2c4186..0fa04a76 100755 --- a/plugins/lang/admincmd.txt +++ b/plugins/lang/admincmd.txt @@ -85,31 +85,31 @@ ADMIN_UNBAN_2 = ADMIN %s: entbannt %s ADMIN_ADDBAN_1 = ADMIN: bannt %s ADMIN_ADDBAN_2 = ADMIN %s: bannt %s BANNED = gebannt -REASON = grund -FOR_MIN = fuer %s Minuten -PERM = fuer immer +REASON = Grund +FOR_MIN = für %s Minuten +PERM = für immer CLIENT_BANNED = Spieler "%s" gebannt ADMIN_SLAY_1 = ADMIN: killt %s ADMIN_SLAY_2 = ADMIN %s: killt %s CLIENT_SLAYED = Spieler "%s" wurde gekillt -ADMIN_SLAP_1 = ADMIN: schlaegt %s mit %d Schaden -ADMIN_SLAP_2 = ADMIN %s: schlaegt %s mit %d Schaden +ADMIN_SLAP_1 = ADMIN: schlägt %s mit %d Schaden +ADMIN_SLAP_2 = ADMIN %s: schlägt %s mit %d Schaden CLIENT_SLAPED = Spieler "%s" wurde mit %d Schaden geschlagen -MAP_NOT_FOUND = Diese Map ist nicht vorhanden oder unzulaessig +MAP_NOT_FOUND = Diese Map ist nicht vorhanden oder unzulässig ADMIN_MAP_1 = ADMIN: wechselt zur Map %s ADMIN_MAP_2 = ADMIN %s: wechselt zur Map %s -NO_MORE_CVARS = Kann keine weiteren CVAR´s fuer rcon-Berechtigung hinzufuegen! +NO_MORE_CVARS = Kann keine weiteren CVARs für rcon-Berechtigung hinzufügen! UNKNOWN_CVAR = Unbekannte CVAR: %s UNKNOWN_XVAR = Unbekannte XVAR: %s -CVAR_NO_ACC = Du hast keine Berechtigung fuer diese CVAR! -XVAR_NO_ACC = Du hast keine Berechtigung fuer diese XVAR! +CVAR_NO_ACC = Du hast keine Berechtigung für diese CVAR! +XVAR_NO_ACC = Du hast keine Berechtigung für diese XVAR! CVAR_IS = CVAR "%s" ist "%s" XVAR_IS = XVAR "%s" ist "%s" -PROTECTED = GESCHUETZT +PROTECTED = GESCHÜTZT SET_CVAR_TO = %s setzte CVAR %s auf "%s" SET_XVAR_TO = %s setzte XVAR %s auf "%s" -CVAR_CHANGED = CVAR "%s" geaendert auf "%s" -XVAR_CHANGED = XVAR "%s" geaendert auf "%s" +CVAR_CHANGED = CVAR "%s" geändert auf "%s" +XVAR_CHANGED = XVAR "%s" geändert auf "%s" LOADED_PLUGINS = Momentan geladene Plugins NAME = Name VERSION = Version @@ -120,35 +120,35 @@ PLUGINS_RUN = %d Plugins, %d Plugins laufen LOADED_MODULES = Momentan geladene Module NUM_MODULES = %d Module FILE_NOT_FOUND = Datei "%s" nicht gefunden -ADMIN_CONF_1 = ADMIN: fuehrt Config %s aus -ADMIN_CONF_2 = ADMIN %s: fuehrt Config %s aus +ADMIN_CONF_1 = ADMIN: führt Config %s aus +ADMIN_CONF_2 = ADMIN %s: führt Config %s aus PAUSED = pausiert -UNPAUSED = Pause beendet -UNABLE_PAUSE = Server konnte das Spiel nicht anhalten. Reale Spieler werden auf dem Server benoetigt. -SERVER_PROC = Server fuehrt %s aus -PAUSING = Pausieren -UNPAUSING = Pause beendet +UNPAUSED = fortgesetzt +UNABLE_PAUSE = Server konnte das Spiel nicht anhalten. Reale Spieler werden auf dem Server benötigt. +SERVER_PROC = Server führt %s aus +PAUSING = Pausiere +UNPAUSING = setze fort PAUSE = Pause -UNPAUSE = Pause beendet +UNPAUSE = Fortsetzen COM_SENT_SERVER = Befehlszeile "%s" zur Serverconsole gesendet CLIENTS_ON_SERVER = Spieler auf dem Server -IMMU = Immunitaet +IMMU = Immunität RESERV = Reserviert ACCESS = Berechtigung TOTAL_NUM = Total %d -SKIP_MATCH = Ueberspringe "%s" (stimmt ueberein mit "%s") -SKIP_IMM = Ueberspringe "%s" (Immunitaet) +SKIP_MATCH = Überspringe "%s" (stimmt überein mit "%s") +SKIP_IMM = Überspringe "%s" (Immunität) KICK_PL = Kickt "%s" -YOU_DROPPED = Du wurdest gekickt, weil der Admin nur spezielle Spielergruppen auf dem Server zulaesst +YOU_DROPPED = Du wurdest gekickt, weil der Admin nur spezielle Spielergruppen auf dem Server zulässt KICKED_CLIENTS = Kickt %d clients ADMIN_LEAVE_1 = ADMIN: erlaubt %s %s %s %s ADMIN_LEAVE_2 = ADMIN %s: erlaubt %s %s %s %s -ADMIN_NICK_1 = ADMIN: aendert Name von %s zu "%s" -ADMIN_NICK_2 = ADMIN %s: aendert Name von %s zu "%s" -CHANGED_NICK = Name von %s zu "%s" geaendert -ADMIN_EXTEND_1 = ADMIN: Verlaengere Map fuer %d Minuten -ADMIN_EXTEND_2 = ADMIN %s: Verlaengere Map fuer %d Minuten -MAP_EXTENDED = Map "%s" wurde fuer %d Minuten verlaengert +ADMIN_NICK_1 = ADMIN: ändert Name von %s zu "%s" +ADMIN_NICK_2 = ADMIN %s: ändert Name von %s zu "%s" +CHANGED_NICK = Name von %s zu "%s" geändert +ADMIN_EXTEND_1 = ADMIN: Verlängere Map um %d Minuten +ADMIN_EXTEND_2 = ADMIN %s: Verlängere Map um %d Minuten +MAP_EXTENDED = Map "%s" wurde um %d Minuten verlängert [sr] ADMIN_KICK_1 = ADMIN: kick %s diff --git a/plugins/lang/adminhelp.txt b/plugins/lang/adminhelp.txt index c214c522..66008cab 100755 --- a/plugins/lang/adminhelp.txt +++ b/plugins/lang/adminhelp.txt @@ -12,12 +12,12 @@ NO_MATCHING_RESULTS = ^nNo matching results found^n [de] HELP_COMS = AMX Mod X Help: Befehle -HELP_ENTRIES = Eintraege %d - %d von %d -HELP_USE_MORE = Nutze '%s %d' fuer die naechste Seite +HELP_ENTRIES = Einträge %d - %d von %d +HELP_USE_MORE = Nutze '%s %d' für die nächste Seite HELP_USE_BEGIN = Nutze '%s 1' um zum Anfang zu gelangen -TYPE_HELP = Schreibe '%s' '%s' in die Konsole um die verfuegbaren Befehle zu sehen. -TIME_INFO_1 = Verbleibende Zeit: %d:%02d Minuten, naechste Map: %s -TIME_INFO_2 = Kein Zeitlimit. Naechste Map ist: %s +TYPE_HELP = Schreibe '%s' '%s' in die Konsole um die verfügbaren Befehle zu sehen. +TIME_INFO_1 = Verbleibende Zeit: %d:%02d Minuten, nächste Map: %s +TIME_INFO_2 = Kein Zeitlimit. Nächste Map ist: %s [sr] HELP_COMS = AMX Mod X Pomoc: Komande diff --git a/plugins/lang/adminvote.txt b/plugins/lang/adminvote.txt index 6cf967e1..316e14ea 100755 --- a/plugins/lang/adminvote.txt +++ b/plugins/lang/adminvote.txt @@ -36,35 +36,35 @@ ADMIN_VOTE_FOR_2 = %s %s: vote %s for %s ADMIN_CANC_VOTE_1 = %s: Abstimmung abgebrochen ADMIN_CANC_VOTE_2 = %s %s: Abstimmung abgebrochen VOTING_CANC = Auswahl abgebrochen -NO_VOTE_CANC = Zur Zeit ist keine Abstimmung vorhanden oder das Abbrechen ist mit diesem Befehl nicht moeglich +NO_VOTE_CANC = Zur Zeit ist keine Abstimmung vorhanden oder das Abbrechen ist mit diesem Befehl nicht möglich RES_REF = Resultat abgelehnt RES_ACCEPTED = Resultat angenommen VOTING_FAILED = Abstimmung gescheitert -VOTING_RES_1 = %s (Ja "%d") (Nein "%d") (benoetigt "%d") -VOTING_RES_2 = %s (erhielt "%d") (benoetigt "%d") +VOTING_RES_1 = %s (Ja "%d") (Nein "%d") (benötigt "%d") +VOTING_RES_2 = %s (erhielt "%d") (benötigt "%d") VOTING_SUCCESS = Abstimmung erfolgreich -VOTING_RES_3 = %s (erhielt "%d") (benoetigt "%d"). Ergebnis: %s +VOTING_RES_3 = %s (erhielt "%d") (benötigt "%d"). Ergebnis: %s THE_RESULT = Das Ergebnis WANT_CONTINUE = Forfahren? -VOTED_FOR = %s stimmten dafuer +VOTED_FOR = %s stimmten dafür VOTED_AGAINST = %s stimmten dagegen -VOTED_FOR_OPT = %s stimmten fuer Option #%d -ALREADY_VOTING = Abstimmung laeuft bereits... -VOTING_NOT_ALLOW = Abstimmung ist momentan nicht moeglich! -GIVEN_NOT_VALID = %s ist unzulaessig +VOTED_FOR_OPT = %s stimmten für Option #%d +ALREADY_VOTING = Abstimmung läuft bereits... +VOTING_NOT_ALLOW = Abstimmung ist momentan nicht möglich! +GIVEN_NOT_VALID = %s ist unzulässig MAP_IS = Map ist MAPS_ARE = Maps sind -CHOOSE_MAP = Waehle Map -ADMIN_VOTE_MAP_1 = %s: Abstimmung fuer Map(s) gestartet -ADMIN_VOTE_MAP_2 = %s %s: Abstimmung fuer Map(s) gestartet +CHOOSE_MAP = Wähle Map +ADMIN_VOTE_MAP_1 = %s: Abstimmung für Map(s) gestartet +ADMIN_VOTE_MAP_2 = %s %s: Abstimmung für Map(s) gestartet VOTING_STARTED = Abstimmung gestartet ... -VOTING_FORBIDDEN = Abstimmung dafuer ist verboten. +VOTING_FORBIDDEN = Abstimmung dafür ist verboten. ADMIN_VOTE_CUS_1 = %s: startet eigene Umfrage ADMIN_VOTE_CUS_2 = %s %s: startet eigene Umfrage VOTE = Abstimmung -ACTION_PERFORMED = Durchfuehrung an BOT "%s" ist nicht moeglich -ADMIN_VOTE_FOR_1 = %s: %s Stimmen fuer %s -ADMIN_VOTE_FOR_2 = %s %s: %s Stimmen fuer %s +ACTION_PERFORMED = Durchführung an BOT "%s" ist nicht möglich +ADMIN_VOTE_FOR_1 = %s: %s Stimmen für %s +ADMIN_VOTE_FOR_2 = %s %s: %s Stimmen für %s [sr] ADMIN_CANC_VOTE_1 = %s: otkazi glasanje diff --git a/plugins/lang/cmdmenu.txt b/plugins/lang/cmdmenu.txt index c9b7998c..eb3a57cb 100755 --- a/plugins/lang/cmdmenu.txt +++ b/plugins/lang/cmdmenu.txt @@ -4,9 +4,9 @@ CONF_MENU = Configs Menu SPE_MENU = Speech Menu [de] -CMD_MENU = Menu > Befehle -CONF_MENU = Menu > Konfiguration -SPE_MENU = Menu > Sprechen +CMD_MENU = Menü > Befehle +CONF_MENU = Menü > Konfiguration +SPE_MENU = Menü > Sprechen [sr] CMD_MENU = Komandne diff --git a/plugins/lang/common.txt b/plugins/lang/common.txt index 03f6c60a..2c9be6ca 100755 --- a/plugins/lang/common.txt +++ b/plugins/lang/common.txt @@ -21,7 +21,7 @@ ON = On OFF = Off [de] -BACK = Zurueck +BACK = Zurück EXIT = Beenden MORE = Mehr NONE = Keine @@ -32,13 +32,13 @@ YES = Ja NO = Nein BAN = ban KICK = kick -NO_ACC_COM = Du hast nicht genuegend Rechte, um diesen Befehl auszufuehren! +NO_ACC_COM = Du hast nicht genügend Rechte, um diesen Befehl auszuführen! USAGE = Anwendung MORE_CL_MATCHT = Es gibt mehrere Spieler, auf die deine Angaben zutreffen CL_NOT_FOUND = Spieler mit diesem Namen oder dieser UserID nicht gefunden -CLIENT_IMM = Spieler "%s" hat Immnuitaet -CANT_PERF_DEAD = Diese Aktion kann nicht am toten Spieler "%s" ausgefuehrt werden. -CANT_PERF_BOT = Diese Aktion kann nicht am Bot "%s" ausgefuehrt werden. +CLIENT_IMM = Spieler "%s" hat Immunität +CANT_PERF_DEAD = Diese Aktion kann nicht am toten Spieler "%s" ausgeführt werden. +CANT_PERF_BOT = Diese Aktion kann nicht am Bot "%s" ausgeführt werden. ON = An OFF = Aus diff --git a/plugins/lang/mapchooser.txt b/plugins/lang/mapchooser.txt index 9c66acdf..17051f39 100755 --- a/plugins/lang/mapchooser.txt +++ b/plugins/lang/mapchooser.txt @@ -8,13 +8,13 @@ EXTED_MAP = Extend map %s TIME_CHOOSE = It's time to choose the nextmap... [de] -CHO_FIN_EXT = Auswahl beendet. Laufende Map wird um %.0f Minuten verlaengert. -CHO_FIN_NEXT = Auswahl beendet. Naechste Map ist %s -CHOSE_EXT = %s waehlten Map-Verlaengerung -X_CHOSE_X = %s waehlten %s -CHOOSE_NEXTM = AMXX waehlt naechste Map -EXTED_MAP = Verlangere Map %s -TIME_CHOOSE = Es ist an der Zeit, die naechste Map zu waehlen... +CHO_FIN_EXT = Auswahl beendet. Laufende Map wird um %.0f Minuten verlängert. +CHO_FIN_NEXT = Auswahl beendet. Nächste Map ist %s +CHOSE_EXT = %s wählte Map-Verlängerung +X_CHOSE_X = %s wählte %s +CHOOSE_NEXTM = [AMXX] Wählt die nächste Map +EXTED_MAP = Verlängere Map %s +TIME_CHOOSE = Es ist an der Zeit, die nächste Map zu wählen... [sr] CHO_FIN_EXT = Biranje zavrseno. Sadasnja mapa ce biti produzena za %.0f minuta diff --git a/plugins/lang/mapsmenu.txt b/plugins/lang/mapsmenu.txt index 15fe486e..2f5616b8 100755 --- a/plugins/lang/mapsmenu.txt +++ b/plugins/lang/mapsmenu.txt @@ -30,21 +30,21 @@ VOTE_FAILED = Abstimmung gescheitert THE_WINNER = Der Gewinner WANT_CONT = Willst du fortfahren? VOT_CANC = Abstimmung abgebrochen -X_VOTED_FOR = %s stimmten fuer Option #%d -VOTEMAP_MENU = Menu > Mapwahl -START_VOT = Start Abstimmung -SEL_MAPS = Ausgewaehlte Maps -ALREADY_VOT = Es laeuft bereits eine Abstimmung... -NO_MAPS_MENU = Es sind keine Maps im Menu vorhanden -VOT_NOW_ALLOW = Abstimmung zur Zeit nicht moeglich -WHICH_MAP = Welche Map moechtest du? +X_VOTED_FOR = %s stimmten für Option #%d +VOTEMAP_MENU = Menü > Mapwahl +START_VOT = Starte Abstimmung +SEL_MAPS = Ausgewählte Maps +ALREADY_VOT = Es läuft bereits eine Abstimmung... +NO_MAPS_MENU = Es sind keine Maps im Menü vorhanden +VOT_NOW_ALLOW = Abstimmung zur Zeit nicht möglich +WHICH_MAP = Welche Map möchtest du? CHANGE_MAP_TO = Wechsle zu Map CANC_VOTE = Abstimmung abgebrochen -ADMIN_V_MAP_1 = ADMIN: waehlt Map(s) -ADMIN_V_MAP_2 = ADMIN %s: waehlt Map(s) +ADMIN_V_MAP_1 = ADMIN: wählt Map(s) +ADMIN_V_MAP_2 = ADMIN %s: wählt Map(s) ADMIN_CHANGEL_1 = ADMIN: wechselt zur Map %s ADMIN_CHANGEL_2 = ADMIN %s: wechselt zur Map %s -CHANGLE_MENU = Menu > Mapwechsel +CHANGLE_MENU = Menü > Mapwechsel [sr] RESULT_REF = Rezultat odbijen diff --git a/plugins/lang/menufront.txt b/plugins/lang/menufront.txt index db0b4c9f..c3d4ca72 100755 --- a/plugins/lang/menufront.txt +++ b/plugins/lang/menufront.txt @@ -19,7 +19,7 @@ TELE_PLAYER = Teleport Player [de] KICK_PLAYER = Kick Spieler BAN_PLAYER = Ban Spieler -SLAP_SLAY = Schlage/Toete Spieler +SLAP_SLAY = Schlage/Kille Spieler TEAM_PLAYER = Team Spieler ^n CHANGEL = Mapwechsel VOTE_MAPS = Map Abstimmung ^n diff --git a/plugins/lang/miscstats.txt b/plugins/lang/miscstats.txt index 78bfed00..ad95cdc7 100755 --- a/plugins/lang/miscstats.txt +++ b/plugins/lang/miscstats.txt @@ -42,53 +42,57 @@ CTS = CTS TERRORIST = TERRORIST TERRORISTS = TERRORISTS REMAINING = %d %s Remaining... +REMAINING_ENEMY = One enemy remaining... +REMAINING_ENEMIES = %d enemies remaining... KILLS = kills HS = hs [de] WITH = mit -KNIFE_MSG_1 = %s hat %s geschnitten und gewuerfelt -KNIFE_MSG_2 = %s hat sein Messer gezueckt und %s ausgeweidet +KNIFE_MSG_1 = %s hat %s geschnitten und gewürfelt +KNIFE_MSG_2 = %s hat sein Messer gezückt und %s ausgeweidet KNIFE_MSG_3 = %s hat sich angeschlichen und %s gemessert -KNIFE_MSG_4 = %s messerte und verstuemmelte %s -LAST_MSG_1 = Nun haengt alles von dir ab! +KNIFE_MSG_4 = %s messerte und verstümmelte %s +LAST_MSG_1 = Nun hängt alles von dir ab! LAST_MSG_2 = Hoffentlich hast du ein Medipack dabei. -LAST_MSG_3 = Deine Teamkameraden sind alle tot. Viel Glueck! +LAST_MSG_3 = Deine Teamkameraden sind alle tot. Viel Glück! LAST_MSG_4 = Nun bist du allein. Hab Spass dabei! HE_MSG_1 = %s sendet ein kleines Geschenk an %s HE_MSG_2 = %s wirft ein Knallbonbon zu %s -HE_MSG_3 = %s macht einen Praezisionswurf zu %s +HE_MSG_3 = %s macht einen Präzisionswurf zu %s HE_MSG_4 = %s schickte eine dicke Explosion an %s SHE_MSG_1 = %s sprengte sich selbst mit einer Granate -SHE_MSG_2 = %s untersuchte die Auswirkungen ^neiner Granate an sich selbst... +SHE_MSG_2 = %s untersuchte die Auswirkungen einer Granate an sich selbst... SHE_MSG_3 = %s schluckte eine Granate! SHE_MSG_4 = %s explodierte! HS_MSG_1 = $kn killte $vn mit einem ^nplazierten Schuss in den Kopf! -HS_MSG_2 = $kn entfernte den Kopf von $vn^nmit einem Praezisionsschuss. +HS_MSG_2 = $kn entfernte den Kopf von $vn^nmit einem Präzisionsschuss. HS_MSG_3 = $kn verwandelte den Kopf ^nvon $vn in Pudding. -HS_MSG_4 = $kn siegte ueber $vn durch eine Kopfschuss. +HS_MSG_4 = $kn besiegte $vn durch einen Kopfschuss. HS_MSG_5 = $vn's Kopf wurde in der Gegend verteilt HS_MSG_6 = $kn hat einen super ^nTreffer gelandet,das weiss ^n$vn nun auch. HS_MSG_7 = $vn's Kopf war ein bisschen zu lange im Fadenkreuz von $kn... DOUBLE_KILL = Wow! %s machte einen Doppelkill!!! PREPARE_FIGHT = Vorbereiten zum Kampf!^nRunde %d -KILLED_ROW = Du hast bis jetzt %d in einer Runde gekillt. -DIED_ROUNDS = Du bist bis jetzt %d Runden hintereinander gestorben... +KILLED_ROW = Du hast nun %d Gegner gekillt, ohne zu sterben! +DIED_ROUNDS = Achtung! Du bist schon %d Runden in Folge ohne Kill gestorben... KILLED_CHICKEN = Irgendjemand killte ein Huhn!!! -BLEW_RADIO = Irgendjemand sprenge das Radio!!! +BLEW_RADIO = Irgendjemand sprengte das Radio!!! REACHED_TARGET = OMG! %s erreichte das Ziel! PLANT_BOMB = %s legt die Bombe! -DEFUSING_BOMB = %s entschaerft die Bombe... +DEFUSING_BOMB = %s entschärft die Bombe... SET_UP_BOMB = %s legte die Bombe!!! -DEFUSED_BOMB = %s entschaerfte die Bombe! -FAILED_DEFU = %s konnte die Bombe nicht entschaerfen... +DEFUSED_BOMB = %s entschärfte die Bombe! +FAILED_DEFU = %s konnte die Bombe nicht entschärfen... PICKED_BOMB = %s hob die Bombe auf... DROPPED_BOMB = %s warf die Bombe weg!!! CT = CT CTS = CTs TERRORIST = TERRORIST TERRORISTS = TERRORISTEN -REMAINING = %d %s uebrig... +REMAINING = %d %s übrig... +REMAINING_ENEMY = Ein Gegner übrig... +REMAINING_ENEMIES = %d Gegner übrig... KILLS = kills HS = hs @@ -136,6 +140,8 @@ CTS = CTS TERRORIST = TERORISTA TERRORISTS = TERORISTA REMAINING = %d %s Preostalo... +REMAINING_ENEMY = Jedan preostali protivnika... +REMAINING_ENEMIES = %d preostalih protivnika... KILLS = ubistava HS = hs @@ -230,6 +236,8 @@ CTS = CTS TERRORIST = TERRORISTE TERRORISTS = TERRORISTES REMAINING = %d %s Restant... +REMAINING_ENEMY = Dernier ennemi restant... +REMAINING_ENEMIES = %d ennemis restants... KILLS = frags HS = hs diff --git a/plugins/lang/multilingual.txt b/plugins/lang/multilingual.txt index d1ab9b36..de280578 100755 --- a/plugins/lang/multilingual.txt +++ b/plugins/lang/multilingual.txt @@ -10,15 +10,15 @@ TYPE_LANGMENU = Type 'amx_langmenu' in the console to display a menu where you c LANG_MENU_DISABLED = Language menu disabled. [de] -LANG_NOT_EXISTS = Diese Sprache exsistiert nicht. +LANG_NOT_EXISTS = Diese Sprache existiert nicht. PERSO_LANG = Eigene Sprache -LANG_MENU = Sprach Menu -SERVER_LANG = Server Sprache +LANG_MENU = Sprachmenü +SERVER_LANG = Sprache des Servers SAVE_LANG = Spracheinstellung speichern -SET_LANG_SERVER = Die Sprache des Servers wurde auf "%s" geaendert -SET_LANG_USER = Deine Sprache wurde auf "%s" geaendert -TYPE_LANGMENU = Schreibe 'amx_langmenu' in die Konsole zum Anzeigen des Sprachauswahlmenus -LANG_MENU_DISABLED = Sprachen Menü deaktiviert. +SET_LANG_SERVER = Die Sprache des Servers wurde auf "%s" geändert +SET_LANG_USER = Deine Sprache wurde auf "%s" geändert +TYPE_LANGMENU = Schreibe 'amx_langmenu' in die Konsole zum Anzeigen des Sprachmenüs +LANG_MENU_DISABLED = Sprachmenü deaktiviert. [sr] LANG_NOT_EXISTS = Jezik ne postoji diff --git a/plugins/lang/nextmap.txt b/plugins/lang/nextmap.txt index a9c2a1ff..31f5f305 100755 --- a/plugins/lang/nextmap.txt +++ b/plugins/lang/nextmap.txt @@ -4,7 +4,7 @@ PLAYED_MAP = Played map FRIEND_FIRE = Friendly fire [de] -NEXT_MAP = Naechste Map: +NEXT_MAP = Nächste Map: PLAYED_MAP = Gespielte Maps FRIEND_FIRE = Friendly fire diff --git a/plugins/lang/pausecfg.txt b/plugins/lang/pausecfg.txt index da49c978..14bcf70e 100755 --- a/plugins/lang/pausecfg.txt +++ b/plugins/lang/pausecfg.txt @@ -39,15 +39,15 @@ CANT_UNPAUSE_PLUGIN = Plugin "%s" is stopped and cannot be paused or unpaused. CLEAR_PAUSED = Clear file with paused [de] -PAUSE_COULDNT_FIND = Konnte kein Plugin finden, dass mit "%s" uebereinstimmt -PAUSE_PLUGIN_MATCH = Plugin stimmt mit "%s" ueberein -PAUSE_CONF_CLEARED = Konfigurationsdatei geloescht. Bei Bedarf Map neu starten. -PAUSE_ALR_CLEARED = Konfiguration war bereits geloescht! +PAUSE_COULDNT_FIND = Konnte kein Plugin finden, dass mit "%s" übereinstimmt +PAUSE_PLUGIN_MATCH = Plugin stimmt mit "%s" überein +PAUSE_CONF_CLEARED = Konfigurationsdatei gelöscht. Bei Bedarf Map neu starten. +PAUSE_ALR_CLEARED = Konfiguration war bereits gelöscht! PAUSE_CONF_SAVED = Konfiguration erfolgreich gespeichert. PAUSE_SAVE_FAILED = Fehler beim Speichern der Konfiguration!!! LOCKED = GESPERRT PAUSE_UNPAUSE = Pausiere/Aktiviere Plugins -CLEAR_STOPPED = Loeschen der Datei gestoppt +CLEAR_STOPPED = Löschen der Datei gestoppt SAVE_STOPPED = Speichern abgebrochen PAUSED_PLUGIN = Pausiere %d Plugin PAUSED_PLUGINS = Pausiere %d Plugins @@ -58,8 +58,8 @@ PAUSE_LOADED = Pausierte Plugins: Plugins geladen STOPPED = gestoppt VERSION = Version FILE = Datei -PAUSE_ENTRIES = Eintraege %d - %d von %d (%d laufen) -PAUSE_USE_MORE = Benutze 'amx_pausecfg list %d' fuer mehr +PAUSE_ENTRIES = Einträge %d - %d von %d (%d laufen) +PAUSE_USE_MORE = Benutze 'amx_pausecfg list %d' für mehr PAUSE_USE_BEGIN = Benutze 'amx_pausecfg list 1' um zum Anfang zu gelangen PAUSE_USAGE = Benutze: amx_pausecfg [Name] PAUSE_COMMANDS = Befehle @@ -69,14 +69,14 @@ COM_PAUSE_STOP = ^tstop - stoppt ein Plugin COM_PAUSE_PAUSE = ^tpause - pausiert ein Plugin COM_PAUSE_ENABLE = ^tenable - aktiviert ein Plugin COM_PAUSE_SAVE = ^tsave - speichert die Liste der gestoppten Plugins -COM_PAUSE_CLEAR = ^tclear - loescht die Liste der gestoppten Plugins +COM_PAUSE_CLEAR = ^tclear - löscht die Liste der gestoppten Plugins COM_PAUSE_LIST = ^tlist [id] - Plugins anzeigen COM_PAUSE_ADD = ^tadd - markiert ein Plugin als nicht pausierbar SAVE_PAUSED = Speichere pausierte Plugins COM_PAUSE_SAVE_PAUSED = ^tsave - speichert die Liste der pausierten Plugins COM_PAUSE_CLEAR_PAUSED = ^tclear - leert die Liste der pausierten Plugins -CANT_UNPAUSE_PLUGIN = Das Plugin "%s" ist gestoppt und kann nicht pausiert oder unpausiert werden. -CLEAR_PAUSED = Loeschen der Datei pausierten +CANT_UNPAUSE_PLUGIN = Das Plugin "%s" ist gestoppt und kann nicht pausiert oder aktiviert werden. +CLEAR_PAUSED = Löscht die Liste der pausierten Plugins [sr] PAUSE_COULDNT_FIND = Nije moguce naci plugin koji se poklapa sa "%s" diff --git a/plugins/lang/plmenu.txt b/plugins/lang/plmenu.txt index 34753087..1e7c492e 100755 --- a/plugins/lang/plmenu.txt +++ b/plugins/lang/plmenu.txt @@ -20,21 +20,21 @@ CANT_PERF_PLAYER = That action can't be performed on player "%s" [de] ADMIN_BAN_1 = ADMIN: bannt %s ADMIN_BAN_2 = ADMIN %s: bannt %s -BAN_MENU = Menu > bannen -BAN_FOR_MIN = Bann fuer %d Minuten -BAN_PERM = fuer immer bannen -SLAP_SLAY_MENU = Schlagen/Toeten-Menu -SLAP_WITH_DMG = Schlaegt mit %d Schaden -SLAY = toeten -KICK_MENU = Menu >kicken +BAN_MENU = Menü > bannen +BAN_FOR_MIN = für %d Minuten bannen +BAN_PERM = für immer bannen +SLAP_SLAY_MENU = Schlagen/Killen-Menü +SLAP_WITH_DMG = mit %d Schaden schlagen +SLAY = killen +KICK_MENU = Menü > kicken ADMIN_TRANSF_1 = ADMIN: verschiebt %s zu den %s ADMIN_TRANSF_2 = ADMIN %s: verschiebt %s zu den %s -TEAM_MENU = Menu > Team -TRANSF_TO = zu den %s geschoben +TEAM_MENU = Menü > Team +TRANSF_TO = zu den %s schieben TRANSF_SILENT = Stiller Transfer -CL_CMD_MENU = Menu > Spielerbefehle -NO_CMDS = keine Befehle verfuegbar -CANT_PERF_PLAYER = Diese Aktion kann nicht am spieler "%s" ausgefuehrt werden. +CL_CMD_MENU = Menü > Spielerbefehle +NO_CMDS = keine Befehle verfügbar +CANT_PERF_PLAYER = Diese Aktion kann nicht am Spieler "%s" ausgeführt werden. [sr] ADMIN_BAN_1 = ADMIN: ban %s diff --git a/plugins/lang/restmenu.txt b/plugins/lang/restmenu.txt index 439b7f8f..fb521524 100755 --- a/plugins/lang/restmenu.txt +++ b/plugins/lang/restmenu.txt @@ -95,7 +95,7 @@ NO_EQ_WE = Konnte diese Ausrüstung oder Waffe nicht finden WEAP_RES = Waffenverbot VALUE = Wert REST_ENTRIES_OF = Eintrag %i - %i von %i -REST_USE_MORE = Benutze 'amx_restrict list %i' für mehr Info´s +REST_USE_MORE = Benutze 'amx_restrict list %i' für mehr Infos REST_USE_BEGIN = Benutze 'amx_restrict list 1' um zum Anfang zu gelangen REST_USE_HOW = Benutze 'amx_restrict list <value>' (1 -> 8) REST_CONF_SAVED = Konfiguration gesichert (Datei "%s") @@ -117,8 +117,8 @@ REST_WEAP = Waffen verbieten SAVE_SET = Einstellungen speichern CONF_SAV_SUC = Konfiguration erfolgreich gespeichert CONF_SAV_FAIL = Speichern der Konfiguration fehlgeschlagen!!! -REG_CMD_MENU = - Zeigt Waffen-Verbots Menü -REG_CMD_REST = - Zeigt Hilfe für Waffen-Verbots Menü +REG_CMD_MENU = - Zeigt Waffen-Verbotsmenü +REG_CMD_REST = - Zeigt Hilfe für Waffen-Verbotsmenü RESTRICTED_ITEM = * Dieser Gegenstand ist verboten * MENU_TITLE_HANDGUNS = Handwaffen MENU_TITLE_SHOTGUNS = Schrotgewehre @@ -1276,4 +1276,4 @@ MENU_ITEM_NVGS = 夜视护目镜 MENU_ITEM_SHIELD = 战术盾牌 MENU_ITEM_PRIAMMO = 主武器弹药 MENU_ITEM_SECAMMO = 副武器弹药 -CONFIG_FILE_HEADER = ; 由 %s 插件生成. 请勿修改!^n; 值名称^n \ No newline at end of file +CONFIG_FILE_HEADER = ; 由 %s 插件生成. 请勿修改!^n; 值名称^n diff --git a/plugins/lang/scrollmsg.txt b/plugins/lang/scrollmsg.txt index 120615c7..d71f7a92 100755 --- a/plugins/lang/scrollmsg.txt +++ b/plugins/lang/scrollmsg.txt @@ -4,8 +4,8 @@ MSG_FREQ = Scrolling message displaying frequency: %d:%02d minutes MSG_DISABLED = Scrolling message disabled [de] -MIN_FREQ = Minimale Frequenz fuer diese Anzeige sind %d Sekunden -MSG_FREQ = Scrollnachricht Anzeigefrequenz: %d:%02d Minuten +MIN_FREQ = Die minimale Frequenz für diese Anzeige sind %d Sekunden +MSG_FREQ = Anzeigefrequenz der Scrollnachricht: %d:%02d Minuten MSG_DISABLED = Scrollnachrichten abgeschaltet [sr] diff --git a/plugins/lang/stats_dod.txt b/plugins/lang/stats_dod.txt index f002968c..33f30ffe 100755 --- a/plugins/lang/stats_dod.txt +++ b/plugins/lang/stats_dod.txt @@ -94,9 +94,9 @@ M_THEIR_RANK_IS = Their rank is M_OF = of [de] -WHOLEBODY = Koerper +WHOLEBODY = Körper HEAD = Kopf -CHEST = Oberkoerper +CHEST = Oberkörper STOMACH = Bauch LEFTARM = linker Arm RIGHTARM = rechter Arm @@ -116,31 +116,31 @@ RAMPAGE_SMALL = %s: RANDALIERER!!! UNSTOPPABLE_SMALL = %s IST NICHT ZU STOPPEN!! MONSTER_SMALL = %s IST EIN MONSTER! GODLIKE_SMALL = %s IST GODLIKE!!! -KNIFE_MSG1 = %s hat %s geschnitten und gewuerfelt -KNIFE_MSG2 = %s hat sein Messer gezueckt und %s ausgeweidet +KNIFE_MSG1 = %s hat %s geschnitten und gewürfelt +KNIFE_MSG2 = %s hat sein Messer gezückt und %s ausgeweidet KNIFE_MSG3 = %s hat sich angeschlichen und %s gemessert -KNIFE_MSG4 = %s messerte und verstuemmelte %s +KNIFE_MSG4 = %s messerte und verstümmelte %s HE_MSG1 = %s sendet ein kleines Geschenk an %s HE_MSG2 = %s wirft ein Knallbonbon zu %s -HE_MSG3 = %s macht einen Praezisionswurf zu %s +HE_MSG3 = %s macht einen Präzisionswurf zu %s HE_MSG4 = %s schickte eine dicke Explosion an %s SHE_MSG1 = %s sprengte sich selbst mit einer Granate SHE_MSG2 = %s untersuchte die Auswirkungen ^neiner Granate an sich selbst... SHE_MSG3 = %s schluckte eine Granate! SHE_MSG4 = %s explodierte! HEAD_MSG1 = $kn killte $vn mit einem ^nplazierten Schuss in den Kopf! -HEAD_MSG2 = $kn entfernte den Kopf von $vn^nmit einem Praezisionsschuss. +HEAD_MSG2 = $kn entfernte den Kopf von $vn^nmit einem Präzisionsschuss. HEAD_MSG3 = $kn verwandelte den Kopf ^nvon $vn in Pudding. -HEAD_MSG4 = $vn siegte ueber $kn durch eine Kopfschuss. +HEAD_MSG4 = $vn killte $kn durch einen Kopfschuss. HEAD_MSG5 = $vn's Kopf wurde in der Gegend verteilt HEAD_MSG6 = $kn hat einen super ^nTreffer gelandet,das weiss ^n$vn nun auch. HEAD_MSG7 = $vn's Kopf war ein bisschen zu lange im Fadenkreuz von $kn... DOUBLE_MSG1 = Wow! %s machte einen Doppelkill!!! DOUBLE_MSG2 = Unglaublich! %s macht einen dreifachen Kill !!! -DOUBLE_MSG3 = Ueberrascung! %s macht %d Kills auf einmal !!! -MORTAR_MSG1 = %s stellte den Moerser auf und schickte %s in den Himmel. -MORTAR_MSG2 = %s killte %s ueber eine lange Distanz. -KILL_INFO1 = %s killte dich mit der %s^nueber eine Entfernung von %.2f Meter.^n +DOUBLE_MSG3 = Überraschung! %s macht %d Kills auf einmal !!! +MORTAR_MSG1 = %s stellte den Mörser auf und schickte %s in den Himmel. +MORTAR_MSG2 = %s killte %s über eine lange Distanz. +KILL_INFO1 = %s killte dich mit der %s^nüber eine Entfernung von %.2f Meter.^n KILL_INFO2 = Er machte %d Schaden bei dir mit %d Treffern ^nund hat noch %dHP.^n KILL_INFO3 = Du machtest %d Schaden bei ihm mit %d Treffern.^n KILL_INFO4 = Du hast ihn getroffen in den/das:^n%s^n @@ -149,7 +149,7 @@ NO_KILLER = Du hast keinen Killer... TOPX = Top %d FFIRE_IS = Friendly fire: ATTACKERS = Angreifer: -VICTIMS = Gewinner: +VICTIMS = Opfer: DMG = Schaden HIT_S = Treffer YOU_HIT = Du trafst %s in: @@ -157,10 +157,10 @@ SERVER_STATS = Server Statistik SHOW_STATS = Statistik anzeigen SHOW_RANK = Rang anzeigen TA_MSG = %s schiesst auf einen Kameraden -TK_MSG = %s toetete einen Kameraden! -NADE_CAUGHT = Wow! %s faengt eine gegnereische Granate! -NADE_FAILEDTK = Oops.. %s killte dich bei dem Versuch, die Granate zurueckzuwerfen.. -NADE_FAILED = %s konnte feindliche Granate nicht zurück werfen. +TK_MSG = %s killte einen Kameraden! +NADE_CAUGHT = Wow! %s fängt eine gegnerische Granate! +NADE_FAILEDTK = Oops.. %s killte dich bei dem Versuch, die Granate zurückzuwerfen.. +NADE_FAILED = %s konnte feindliche Granate nicht zurückwerfen. NADE_MASTER = OMG! %s ist der Meister der Granaten !!! DISABLED_MSG = Server hat diese Option deaktiviert. MOST_KILLS = Meisten Kills @@ -179,7 +179,7 @@ M_DEATHS = Deaths: M_SCORE = Note: M_TKS = TKs: M_HITS = Treffer: -M_SHOTS = Schuesse: +M_SHOTS = Schüsse: M_HS = HS: M_WEAPON = Waffe: M_DAMAGE = Schaden: diff --git a/plugins/lang/statscfg.txt b/plugins/lang/statscfg.txt index 3cba2697..67c266cc 100755 --- a/plugins/lang/statscfg.txt +++ b/plugins/lang/statscfg.txt @@ -88,59 +88,59 @@ STATS_CONF_FAILED = Fehler beim Speichern der Statistik-Konfiguration!!! STATS_CONF_LOADED = Statistik-Konfiguration erfolgreich geladen STATS_CONF_FAIL_LOAD = Fehler beim Laden der Statistik-Konfiguration!!! STATS_CONF = Statistik-Konfiguration -STATS_ENTRIES_OF = Eintraege %i - %i von %i -STATS_USE_MORE = Benutze 'amx_statscfg list %i' fuer mehr Info´s +STATS_ENTRIES_OF = Einträge %i - %i von %i +STATS_USE_MORE = Benutze 'amx_statscfg list %i' für mehr Info´s STATS_USE_BEGIN = Benutze 'amx_statscfg list 1' um zum Anfang zu gelangen -CANT_ADD_STATS = Kann keine Statistik mehr hinzufuegen, das Limit ist erreicht! +CANT_ADD_STATS = Kann keine Statistik mehr hinzufügen, das Limit ist erreicht! COM_STATS_USAGE = Benutze: amx_statscfg <Befehl> [Parameter] ... COM_STATS_COM = Befehl: COM_STATS_ON = ^ton <variable> - gibt spezielle Option frei COM_STATS_OFF = ^toff <variable> - sperrt spezielle Option COM_STATS_SAVE = ^tsave - speichert Statistik-Konfiguration -COM_STATS_LOAD = ^tload - laedt Statistik-Konfiguration +COM_STATS_LOAD = ^tload - lädt Statistik-Konfiguration COM_STATS_LIST = ^tlist [id] - Statistik-Status anzeigen -COM_STATS_ADD = ^tadd <name> <variable> - fuegt eine Statistik zur Liste hinzu +COM_STATS_ADD = ^tadd <name> <variable> - fügt eine Statistik zur Liste hinzu NO_STATS = Statistik-Plugin ist nicht^nauf diesem Server installiert^n SAVE_CONF = Konfiguration speichern -STATS_ENABLED = Stats enabled -STATS_DISABLED = Stats disabled -ST_MULTI_KILL = MultiKill -ST_MULTI_KILL_SOUND = MultiKill Sound +STATS_ENABLED = Stats aktiviert +STATS_DISABLED = Stats deaktiviert +ST_MULTI_KILL = Multikill +ST_MULTI_KILL_SOUND = Multikill Sound ST_BOMB_PLANTING = Bombe platzieren -ST_BOMB_DEFUSING = Bombe entschaerfen +ST_BOMB_DEFUSING = Bombe entschärfen ST_BOMB_PLANTED = Bombe platziert -ST_BOMB_DEF_SUCC = Bombe entschaerfen erf. -ST_BOMB_DEF_FAIL = Bombe entschaerfen fehl. +ST_BOMB_DEF_SUCC = Bombe entschärfen erf. +ST_BOMB_DEF_FAIL = Bombe entschärfen fehl. ST_BOMB_PICKUP = Bombe aufgenommen ST_BOMB_DROP = Bombe verloren -ST_BOMB_CD_VOICE = Bomben Countdown Stimme -ST_BOMB_CD_DEF = Bomben Countdown (entschaerfer) -ST_BOMB_SITE = Bomben Platz erreicht -ST_ITALY_BONUS = Italy extra Kill +ST_BOMB_CD_VOICE = Bombencountdown Stimme +ST_BOMB_CD_DEF = Bombencountdown (Entschärfer) +ST_BOMB_SITE = Bombenplatz erreicht +ST_ITALY_BONUS = Italy Bonuskill ST_LAST_MAN = Letzter Mann -ST_KNIFE_KILL = Messer Kill -ST_KNIFE_KILL_SOUND = Messer Kill Sound -ST_HE_KILL = Granaten Kill +ST_KNIFE_KILL = Messerkill +ST_KNIFE_KILL_SOUND = Messerkill Sound +ST_HE_KILL = Granatenkill ST_HE_SUICIDE = Granaten Selbstmord -ST_HS_KILL = Headshot Kill -ST_HS_KILL_SOUND = Headshot Kill Sound -ST_ROUND_CNT = Runden Zaehler -ST_ROUND_CNT_SOUND = Runden Zaehler Sound +ST_HS_KILL = Headshotkill +ST_HS_KILL_SOUND = Headshotkill Sound +ST_ROUND_CNT = Rundenzähler +ST_ROUND_CNT_SOUND = Rundenzähler Sound ST_KILL_STR = Kill Serie ST_KILL_STR_SOUND = Kill Serie Sound ST_ENEMY_REM = Gegner verbleibend -ST_DOUBLE_KILL = Doppel Kill -ST_DOUBLE_KILL_SOUND = Doppel Kill Sound -ST_PLAYER_NAME = Spieler Name +ST_DOUBLE_KILL = Doppelkill +ST_DOUBLE_KILL_SOUND = Doppelkill Sound +ST_PLAYER_NAME = Spielername ST_FIRST_BLOOD_SOUND = Erstes Blut Sound ST_SHOW_KILLER_CHAT = Zeige Killer HP&AP ST_SHOW_ATTACKERS = Zeige Angreifer -ST_SHOW_VICTIMS = Zeige Gegner +ST_SHOW_VICTIMS = Zeige Opfer ST_SHOW_KILLER = Zeige Killer ST_SHOW_TEAM_SCORE = Zeige Team Score ST_SHOW_TOTAL_STATS = Zeige totale Stats ST_SHOW_BEST_SCORE = Zeige besten Score -ST_SHOW_MOST_DISRUPTIVE = Zeige meisten Durchschlaege +ST_SHOW_MOST_DISRUPTIVE = Zeige meisten Durchschläge ST_SHOW_HUD_STATS_DEF = Standard HUD-Stats ST_SHOW_DIST_HS_HUD = Distanz&HS in HUD Liste ST_STATS_PLAYER_MAP_END = Stats am Ende der Map @@ -156,12 +156,12 @@ ST_SAY_TOP15 = Say /top15 ST_SAY_STATS = Say /stats ST_SPEC_RANK = Spec. Rang Info ST_BOMB_PLANTED_SOUND = Bombe platziert Sound -ST_BOMB_DEF_SUCC_SOUND = Bombe entschaerfen erf. Sound -ST_BOMB_DEF_FAIL_SOUND = Bombe entschaerfen fehl. Sound -ST_BOMB_CD_HUD = Bomben Countdown Hud +ST_BOMB_DEF_SUCC_SOUND = Bombe entschärfen erf. Sound +ST_BOMB_DEF_FAIL_SOUND = Bombe entschärfen fehl. Sound +ST_BOMB_CD_HUD = Bomben Countdown HUD ST_LAST_MAN_SOUND = Letzter Mann Sound -ST_LAST_MAN_HEALTH = Last Man Health -ST_HE_KILL_SOUND = Granaten Kill Sound +ST_LAST_MAN_HEALTH = Letzter Mann HP +ST_HE_KILL_SOUND = Granatenkill Sound ST_HE_SUICIDE_SOUND = Granaten Selbstmord Sound [sr] diff --git a/plugins/lang/statsx.txt b/plugins/lang/statsx.txt index f41a28cf..e2bb53dc 100755 --- a/plugins/lang/statsx.txt +++ b/plugins/lang/statsx.txt @@ -50,9 +50,9 @@ X_RANK_IS = %s's rank is %d of %d DISABLED_MSG = Server has disabled that option [de] -WHOLEBODY = Koerper +WHOLEBODY = Körper HEAD = Kopf -CHEST = Oberkoerper +CHEST = Oberkörper STOMACH = Bauch LEFTARM = linker Arm RIGHTARM = rechter Arm @@ -63,26 +63,26 @@ ATTACKERS = Angreifer ACC = Genauigkeit HIT_S = Treffer DMG = Schaden -VICTIMS = Sieger +VICTIMS = Opfer MOST_DMG = Am meisten verursachter Schaden durch -KILLED_YOU_DIST = %s hat dich getoetet ^naus einer Entfernung von %0.2f Metern. +KILLED_YOU_DIST = %s hat dich mit einer %s ^naus %0.2f Metern Entfernung gekillt. DID_DMG_HITS = Er verursachte %d Schaden bei dir mit %d Treffern^nund hat noch %dhp und %dap. -YOU_DID_DMG = Du hast %d Schaden bei ihm angerichtet mit %d Treffern. +YOU_DID_DMG = Du hast bei ihm %d Schaden mit %d Treffern angerichtet. EFF = Effizienz BEST_SCORE = Die meisten Punkte KILL_S = Kill(s) TOTAL = Total -SHOT_S = Schuesse -HITS_YOU_IN = %s Treffer bei ihm -KILLED_BY_WITH = Getoetet von %s mit %s @ %0.0fm +SHOT_S = Schüsse +HITS_YOU_IN = %s traf dich in: +KILLED_BY_WITH = Gekillt von %s mit %s @ %0.0fm NO_HITS = keine Treffer -YOU_NO_KILLER = Du hast niemanden getoetet... +YOU_NO_KILLER = Du hast niemanden gekillt... YOU_HIT = Deine Treffer: %s %d mal, %d Schaden LAST_RES = Letztes Ergebnis: %d Treffer, %d Schaden KILLS = Kills DEATHS = Deaths HITS = Treffer -SHOTS = Schuesse +SHOTS = Schüsse YOUR = Dein PLAYERS = Spieler RANK_IS = Platzierung: %d von %d @@ -91,14 +91,14 @@ WEAPON = Waffe YOUR_RANK_IS = Deine Platzierung: %d von %d mit %d Kill(s), %d Treffer, %0.2f%% eff. und %0.2f%% acc. AMMO = Munition HEALTH = Gesundheit -ARMOR = Ruestung +ARMOR = Rüstung GAME_SCORE = Punkte STATS_ANNOUNCE = Du hast %s Statistik-Meldungen -ENABLED = eingeschaltet -DISABLED = ausgeschaltet +ENABLED = aktiviert +DISABLED = deaktiviert SERVER_STATS = Serverstatistik X_RANK_IS = %s's Platzierung: %d von %d -DISABLED_MSG = Der Server hat diese Option ausgeschaltet. +DISABLED_MSG = Der Server hat diese Option deaktiviert. [sr] WHOLEBODY = celo telo diff --git a/plugins/lang/telemenu.txt b/plugins/lang/telemenu.txt index f1aed2e4..d36b4086 100755 --- a/plugins/lang/telemenu.txt +++ b/plugins/lang/telemenu.txt @@ -8,7 +8,7 @@ SAVE_LOC = Save Location [de] ADMIN_TELEPORT_1 = ADMIN: teleportiert %s ADMIN_TELEPORT_2 = ADMIN %s: teleportiert %s -TELE_MENU = Menu > Teleport +TELE_MENU = Menü > Teleport CUR_LOC = Momentane Position SAVE_LOC = Position speichern diff --git a/plugins/lang/timeleft.txt b/plugins/lang/timeleft.txt index 4ddf524d..67ea8d98 100755 --- a/plugins/lang/timeleft.txt +++ b/plugins/lang/timeleft.txt @@ -9,7 +9,7 @@ SECONDS = seconds [de] THE_TIME = Es ist -TIME_LEFT = Zeit uebrig +TIME_LEFT = Zeit übrig NO_T_LIMIT = Kein Zeitlimit MINUTE = Minute MINUTES = Minuten diff --git a/plugins/pluginmenu.sma b/plugins/pluginmenu.sma index 0bf1ec78..80f43fc3 100644 --- a/plugins/pluginmenu.sma +++ b/plugins/pluginmenu.sma @@ -468,7 +468,7 @@ public CvarMenuSelection(id, menu, item) if (ExplicitPlugin[id]==-1) { - DisplayPluginMenuDefault(id); + DisplayPluginMenu(id,"Plugin Cvar Menu:", "PluginMenuSelection","DisplayCvarMenu","GetNumberOfCvarsForPlid"); } } else if (item==MENU_BACK) @@ -790,7 +790,7 @@ public CommandMenuSelection(id, menu, item) if (ExplicitPlugin[id]==-1) { - client_cmd(id,"amx_plugincmdmenu"); + DisplayPluginMenu(id,"Plugin Command Menu:", "PluginMenuSelection","DisplayCmdMenu","GetNumberOfCmdsForPlid"); } } else if (item==MENU_BACK) @@ -914,7 +914,7 @@ public CommandMenuCommand(id, level, cid) { // We need to display a list of the plugins, instead of a specific plugin. ExplicitPlugin[id]=-1; - DisplayPluginMenuDefault(id); + DisplayPluginMenu(id,"Plugin Command Menu:", "PluginMenuSelection","DisplayCmdMenu","GetNumberOfCmdsForPlid"); } else { @@ -925,8 +925,3 @@ public CommandMenuCommand(id, level, cid) } return PLUGIN_HANDLED; } - -DisplayPluginMenuDefault(id) -{ - DisplayPluginMenu(id,"Plugin Command Menu:", "PluginMenuSelection","DisplayCmdMenu","GetNumberOfCmdsForPlid"); -}