Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 70,850
» Latest member: blablahldc
» Forum threads: 38,148
» Forum posts: 351,856

Full Statistics

Online Users
There are currently 440 online users.
» 0 Member(s) | 438 Guest(s)
Applebot, Google

Latest Threads
Ilir 'washere' Amati - AI...
Forum: CS - Config. (CFG)
Last Post: alking1
06-08-2026, 09:35 AM
» Replies: 1
» Views: 129
[Zombie Outstanding] +.Sm...
Forum: AMX - Addon's
Last Post: Learti Zm
06-07-2026, 01:46 PM
» Replies: 7
» Views: 323
Knife Addons @ 2016 New
Forum: AMX - Addon's
Last Post: Mr.Patr1k
06-07-2026, 09:49 AM
» Replies: 8
» Views: 287
Rreth pyetjes "A krijoi Z...
Forum: Feja Islame
Last Post: SHTRIGA
06-06-2026, 08:40 PM
» Replies: 3
» Views: 254
Lule MOD |FUNNY|
Forum: AMX - Addon's
Last Post: Learti Zm
06-06-2026, 07:56 PM
» Replies: 10
» Views: 1,069
Kërko Addons [+SHQIP]
Forum: AMX - Addon's
Last Post: Learti Zm
06-06-2026, 05:09 PM
» Replies: 1,138
» Views: 89,595
[Tutorial] Clean, Optimiz...
Forum: CS - Tutorial's - Tip & Tricks
Last Post: washere
06-06-2026, 11:56 AM
» Replies: 0
» Views: 85
Addons Zombie Plague v6.2...
Forum: AMX - Addon's
Last Post: Learti Zm
06-05-2026, 09:39 PM
» Replies: 35
» Views: 6,198
Ndihmë - Zombie Mod
Forum: Amx Mod X
Last Post: T.bo
06-05-2026, 08:09 PM
» Replies: 14
» Views: 677
Counter-Strike EG0-UCP (2...
Forum: Applications
Last Post: ValmirRamadani1
06-02-2026, 09:27 AM
» Replies: 4
» Views: 645

 
  Grad e Re - PC Master
Posted by: LongHorn - 11-11-2024, 04:13 PM - Forum: Të rejat & Info - Replies (19)

[info]Kena vendosur qe te hapim nje grad te re ne forum ajo do te jet PC Master grada PC Master do te ket full aksese te menagjimit ne kategorin e IT Zone kjo grad do te moderator ne at kategori, vendosem qe te hapim kete grad per arsye te lirojm tjeret si moderator, support prej angazhimit qe kan ne forum te lirojm prej IT ZONE dhe te bejim nje menagjim special per kit kategori[/info]

PC Master
[Image: pcmaster.png]

Sot e leshojim ne funksion por per antar qe do te ken kete grad duhet te fitojn me konkurs ose ndonje pjestar i staff qe eshte te kaloj ne kete grad, per te fituar kete grad duhesh te jesh shum i informuar lidhur me PC dmth qa ka te beje me windows, rrjeta, tutorials, applikacione dmth gjithqka ka te bej lidhur me PC.

Regards
LongHorn

Print this item

  EsportsKosova | Logo Remastered
Posted by: Meli - 11-11-2024, 04:11 PM - Forum: Punimet - Replies (6)

1. Titulli i dizajnit: EsportsKosova | Logo Remastered
2. Lloji i Dizajnit: Logo
3. Punuar me: Adobe Photoshop CC 2014
4. Pershkrimin i dizajnit: Esk Logo Remastered
5. Autori: Meli

[Image: 40a52e6fff1c5ee63870fb83bf53861c-d8ejntk.jpg]

Print this item

  I am gamer and killer / logo
Posted by: LUq. - 11-11-2024, 11:09 AM - Forum: Punimet - Replies (1)

1. Titulli i dizajnit: I am gamer and killer
2. Lloji i Dizajnit: Logo
3. Punuar me: Adobe Photoshop CC
4. Pershkrimin i dizajnit: I am gamer and killer / logo
5. Autori: LUqCanadian

[Image: eqv2fk.jpg]

Print this item

  [Addons] Public
Posted by: Swwelt - 11-11-2024, 10:51 AM - Forum: AMX - Addon's - Replies (12)

Titulli i Temes : Addons Public


[Image: 4aqwC6I.png]


Pershkrimi: Addonsat jon shum tmira nuk kan LLag
Addonsat Jon te Testuara Por Foto Nuk mund ta boja Nese kini ndonje problem kontaktoni PM

Modat Aktive
Moda I Dproto
Per: Linux
Gjuha: Shqip


[Image: 2Yc0fHO.png]

Verzioni: v1.0
Autori: KINGSTONE

Lista Plugins-av :
[spoiler]; AMX Mod X plugins configuration By KINGSTONE

amx_who.amxx

; Admin Base - Always one has to be activated
admin.amxx ; admin base (required for any admin-related)
admin_sql.amxx ; admin base - SQL version (comment admin.amxx)

; Basic
admincmd.amxx ; basic admin console commands
adminhelp.amxx ; help command for admin console commands
adminslots.amxx ; slot reservation
;multilingual.amxx ; Multi-Lingual management

; Menus
menufront.amxx ; front-end for admin menus
cmdmenu.amxx ; command menu (speech, settings)
plmenu.amxx ; players menu (kick, ban, client cmds.)
;telemenu.amxx ; teleport menu (Fun Module required!)
mapsmenu.amxx ; maps menu (vote, changelevel)
;pluginmenu.amxx ; Menus for commands/cvars organized by plugin

; Chat / Messages
adminchat.amxx ; console chat commands
antiflood.amxx ; prevent clients from chat-flooding the server
scrollmsg.amxx ; displays a scrolling message
imessage.amxx ; displays information messages
adminvote.amxx ; vote commands

; Map related
nextmap.amxx ; displays next map in mapcycle
mapchooser.amxx ; allows to vote for next map
timeleft.amxx ; displays time left on map

; Configuration
;pausecfg.amxx ; allows to pause and unpause some plugins
statscfg.amxx ; allows to manage stats plugins via menu and commands

; Counter-Strike
restmenu.amxx ; restrict weapons menu
statsx.amxx ; stats on death or round end (CSX Module required!)
miscstats.amxx ; bunch of events announcement for Counter-Strike
;stats_logging.amxx ; weapons stats logging (CSX Module required!)

; Enable to use AMX Mod plugins
;amxmod_compat.amxx ; AMX Mod backwards compatibility layer

; Custom - Pluginuri adaugate de by_on3:
admin_fix.amxx ; - solve some problems with the operation of the steam adminelor
amx_ip.amxx ; - të sigurt - IPS konsol tregon gjithë lojtarët amx_showip komandues; të parë ip lojtar.
admin_spec_esp.amxx ; - AntiCheat - Jo qica
ad_manager.amxx ' Ky plugin do të ju ndihmojë për të vënë reklama në server!
resetscore.amxx Restarton Piket Tuaj
amx_gag.amxx Me këtë plugin vënë në heshtje lojtar.
amx_ss.amxx Me atë që ju mund të marrë fotografitë e një lojtari
advanced_blind.amxx Ju mund të jepni flash / verbër një lojtar për x sekonda
amx_pika.amxx Prish Cs Lojtarit qe ka Qica
c4timer.amxx Tregon Minutat e C4.
afkbombtransfer.amxx Transferon Bomben .
amx_destroy.amxx Spoil Cs'ul player on which the command is executed
fakefull_original.amxx
pingfaker2.amxx PingFake
amx_autorestart.amxx Auto Restart Rund
adminblind.amxx -
ghostchat.amxx duket e ardhshme për çdo lojtar që flet në chat, * DEAD * / * LIVE *[/spoiler]

Download

Code:
http://www.mediafire.com/download/reo8cyzflwykn6r

Print this item

  Top 20 players of 2014: pasha (3)
Posted by: Rron Jahiri - 11-11-2024, 08:22 AM - Forum: Skena ndërkombëtare - Replies (2)

[Image: 1397938434.7585.jpeg]
Jarosław "pasha" Jarząbkowski radhitet si i 3ti ne top20 e 2014. Ai luan per Virtus.PRO. Ai radhitet si i 3ti per shkak te paraqitjes mat mir individuale dej tash n EMS One Katowice qe ka pas naj lojtar.
Statistika :
[Image: 1421614029.4904.jpeg]
[Image: 1421614030.3138.jpeg]
[Image: 1421614021.4373.jpeg]
Demo :
pasha's POV from map 3 against NiP at ESEA S16 Finals
[youtube]http://www.youtube.com/watch?v=JNJ-9hXhzgI[/youtube]
pasha's highlight in ESL One Cologne quarter-final vs. LDLC
[youtube]http://www.youtube.com/watch?v=QzgYwTAHa84[/youtube]
Ace vs. dignitas at ESWC
[youtube]http://www.youtube.com/watch?v=vdnW_ipz3HY[/youtube]

Print this item

  Ndryshimet ne Forum 18.01.2015
Posted by: LongHorn - 11-10-2024, 10:09 PM - Forum: Të rejat & Info - Replies (26)

Siq po shini edhe vet vendosem te freskojm forumin me disa ndryshime te rank,logobanner,icon, background nuk po du me hi mi ju shkru shum per ndryshimet sepse edhe vet i vreni ndryshimet merendesi jan ndryshimi i ICON dhe RANK qe jan bo ne forum

RANK'S
[Image: d1bdc1f1e91d65b8da154287e576575a.png]

ICON
[Image: d6b0dc581f41b72f3ffefbf265a024f4.png]

Shpresojm tju pelqejin keto ndryshime seshpejti do te kemi prap ndryshime te tjera si ne dizajn, staff, dhe forum tema

Regards
ESK STAFF

Print this item

  Walk through rocky mountains // Wpp
Posted by: Fisberg - 11-10-2024, 10:07 PM - Forum: Punimet - Replies (1)

Nje HQ Design shpresoj tju pelqe
<!-- m --><a class="postlink" href="http://i.imgur.com/WLLynEs.jpg" onclick="window.open(this.href);return false;">http://i.imgur.com/WLLynEs.jpg</a><!-- m -->
[Image: WLLynEs.jpg]

Print this item

  Alexis Sachez // sig
Posted by: Fisberg - 11-10-2024, 10:06 PM - Forum: Punimet - Replies (3)

[Image: es1LxDk.jpg]

Print this item

  Ivan Rakitic | roxxanne. ft. `nnaiim. | WP
Posted by: roxxanne. - 11-10-2024, 09:09 PM - Forum: Punimet - Replies (6)

1. Titulli i dizajnit: Ivan Rakitic | roxxanne. ft. `nnaiim. | WP
2. Lloji i Dizajnit: Wallpaper
3. Punuar me: Adobe Photoshop CS6
4. Pershkrimin i dizajnit: Ivan Rakitic | roxxanne. ft. `nnaiim. | WP
5. Autori: roxxanne.


[Image: h2IoY7g.jpg]

Print this item

  [Plugin] Data / ORA -
Posted by: MeeLOsGashi - 11-10-2024, 09:04 PM - Forum: AMX - Plugin's - Replies (9)

[Image: OYIFmcv.png]
Ky plugins Eshte N`Mur e Shkrume , Data , Ora , Etj
Oren e Sakt e Ka Smile

[Image: orQLgii.png]
-EmriBig Grinata / Ora
-Versioni:v3.0
-Editori:MeeLOsGashi
[Image: WwyMGHI.png]
Filen sma e dergoni te ctrike/adons/amxmod/scripting
Filen amx e dergoni te ctrike/adons/amxmod/plugins
Emrin e pluginsit e dergoni te ctrike /adons/amxmod/config/plugins.ini
Hini Ne Cstrike , Tani Sprites Edhe i shtini

Code:
#include <amxmodx> #include <amxmisc> #include <engine> #include <maths> #pragma semicolon 1; #define PLUGIN "Clock Maker" #define VERSION "3.0" #define AUTHOR "MeeLOsGashi" #define ADMIN_LEVEL ADMIN_MENU //Niveli qasje admin për të përdorur këtë plugin. ADMIN_MENU = flag 'u' #define MAIN_MENU_KEYS (1<<0)|(1<<1)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<9) /* enum for menu selections */ enum { N1, N2, N3, N4, N5, N6, N7, N8, N9, N0 }; new const X = 0; new const Y = 1; new const Z = 2; //për disa arsye kam marrë tag mospërputhje në Z kur duke përdorur një ENUM new gszMainMenuText[256]; new const gszClockFaces[] = "sprites/clock_faces.spr"; new const gszClockDigits[] = "sprites/clock_digits.spr"; new const gszPrefix[] = "[CM] "; new const gszInfoTarget[] = "info_target"; new const gszClockClassname[] = "cm_clock"; new const gszClockDigitClassname[] = "cm_clockdigit"; new const Float:gfDigitOffsetMultipliers[4] = {0.725, 0.275, 0.3, 0.75}; new const Float:gfClockSize[2] = {80.0, 32.0}; new const Float:gfTitleSize = 16.0; new gszTime[5]; new gszFile[128]; new gTimeOffsetOld; new gHourTypeOld; const gClockTypesMax = 2; //clock types enum { CM_SERVERTIME, CM_MAPTIMELEFT }; new gClockSaveIds[gClockTypesMax] = { 'C', 'T' }; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); //CVARs register_cvar("cm_hourtype", "1"); //0: 12 orë, 1: 24 orë register_cvar("cm_hourannounce", "1"); //thonë se ora në orë register_cvar("cm_timeoffset", "0"); //kompensuar kohë për një timezone të ndryshme +/- orë //menus register_menucmd(register_menuid("clockMainMenu"), MAIN_MENU_KEYS, "handleMainMenu"); //commands register_clcmd("say /cm", "showClockMenu", ADMIN_LEVEL); } public plugin_precache() { precache_model(gszClockFaces); precache_model(gszClockDigits); } public plugin_cfg() { //create the main menu new size = sizeof(gszMainMenuText); add(gszMainMenuText, size, "\yClock Maker Menu^n^n"); add(gszMainMenuText, size, "\r1. \wCreate server time clock^n"); add(gszMainMenuText, size, "\r2. \wCreate map timeleft clock^n^n"); add(gszMainMenuText, size, "\r4. \wDelete clock^n^n"); add(gszMainMenuText, size, "\r5. \wMake larger^n"); add(gszMainMenuText, size, "\r6. \wMake smaller^n^n"); add(gszMainMenuText, size, "\r7. \wSave clocks^n"); add(gszMainMenuText, size, "\r8. \wLoad clocks^n^n"); add(gszMainMenuText, size, "\r0. \wClose^n"); //store current CVAR values (so we can check if they get changed) gTimeOffsetOld = get_cvar_num("cm_timeoffset"); gHourTypeOld = get_cvar_num("cm_hourtype"); //make save folder in basedir new szDir[64]; new szMap[32]; get_basedir(szDir, 64); add(szDir, 64, "/clockmaker"); //create the folder is it doesn't exist if (!dir_exists(szDir)) { mkdir(szDir); } get_mapname(szMap, 32); formatex(gszFile, 96, "%s/%s.cm", szDir, szMap); //load the clocks loadClocks(0); / vendosur një detyrë për të rinovuar orë (çdo i dyti është e shpeshtë e mjaftueshme) set_task(1.0, "taskUpdateClocks", 0, "", 0, "b"); } public taskUpdateClocks() { new clock = -1; //get the time digits new serverTimeDigits[4]; new timeleftDigits[4]; new bool:bUpdateServerTime = getTimeDigits(CM_SERVERTIME, serverTimeDigits); getTimeDigits(CM_MAPTIMELEFT, timeleftDigits); //find all clock entities while ((clock = find_ent_by_class(clock, gszClockClassname))) { //get the clock type new clockType = entity_get_int(clock, EV_INT_groupinfo); //if the time changed for this clocktype if (clockType == CM_SERVERTIME) { if (bUpdateServerTime) { //set the clock to the correct time set_clock_digits(clock, serverTimeDigits); } } else if (clockType == CM_MAPTIMELEFT) { //set the clock to show the timeleft set_clock_digits(clock, timeleftDigits); } } //check to see if its on the hour if (bUpdateServerTime) { new hour, mins; time(hour, mins); //if its on the hour then alert if (mins == 0) { alertHour(hour); } } } public showClockMenu(id) { //show the main menu to the player show_menu(id, MAIN_MENU_KEYS, gszMainMenuText, -1, "clockMainMenu"); return PLUGIN_HANDLED; } public handleMainMenu(id, num) { switch (num) { case N1: createClockAiming(id, CM_SERVERTIME); case N2: createClockAiming(id, CM_MAPTIMELEFT); case N4: deleteClockAiming(id); case N5: scaleClockAiming(id, 0.1); case N6: scaleClockAiming(id, -0.1); case N7: saveClocks(id); case N8: loadClocks(id); } //show menu again if (num != N0) { showClockMenu(id); } return PLUGIN_HANDLED; } createClockAiming(id, clockType) { //make sure player has access to this command if (get_user_flags(id) & ADMIN_LEVEL) { new origin[3]; new Float:vOrigin[3]; new Float:vAngles[3]; new Float:vNormal[3]; //merrni origjinën e ku lojtari është duke synuar get_user_origin(id, origin, 3); IVecFVec(origin, vOrigin); new bool:bSuccess = traceClockAngles(id, vAngles, vNormal, 1000.0); //if the trace was successfull if (bSuccess) { //if the plane the trace hit is vertical if (vNormal[2] == 0.0) { //create the clock new bool:bSuccess = createClock(clockType, vOrigin, vAngles, vNormal); //if clock created successfully if (bSuccess) { client_print(id, print_chat, "%sCreated clock", gszPrefix); } } else { client_print(id, print_chat, "%sJu duhet të vendosni orën në një mur vertikal!", gszPrefix); } } else { client_print(id, print_chat, "%sMove closer to the target to create the clock", gszPrefix); } } } bool:createClock(clockType, Float:vOrigin[3], Float:vAngles[3], Float:vNormal[3], Float:fScale = 1.0) { new clock = create_entity(gszInfoTarget); new digit[4]; new bool:bFailed = false; //create 4 new entities to use for digits on the clock for (new i = 0; i < 4; ++i) { digit[i] = create_entity(gszInfoTarget); //if failed boolean is false and entity failed to create if (!bFailed && !is_valid_ent(digit[i])) { bFailed = true; break; } } //make sure all entities were created successfully if (is_valid_ent(clock) && !bFailed) { //adjust the origin to lift the clock off the wall (prevent flickering) vOrigin[0] += (vNormal[0] * 0.5); vOrigin[1] += (vNormal[1] * 0.5); vOrigin[2] += (vNormal[2] * 0.5); //set clock properties entity_set_string(clock, EV_SZ_classname, gszClockClassname); entity_set_int(clock, EV_INT_solid, SOLID_NOT); entity_set_model(clock, gszClockFaces); entity_set_vector(clock, EV_VEC_angles, vAngles); entity_set_float(clock, EV_FL_scale, fScale); entity_set_origin(clock, vOrigin); entity_set_int(clock, EV_INT_groupinfo, clockType); //të vendosur kuadrin e njësisë (fytyrë clock) në varësi të llojit të orës switch (clockType) { case CM_SERVERTIME: entity_set_float(clock, EV_FL_frame, 0.0); case CM_MAPTIMELEFT: entity_set_float(clock, EV_FL_frame, 1.0); } //link the digits entities to the clock entity_set_int(clock, EV_INT_iuser1, digit[0]); entity_set_int(clock, EV_INT_iuser2, digit[1]); entity_set_int(clock, EV_INT_iuser3, digit[2]); entity_set_int(clock, EV_INT_iuser4, digit[3]); new digitValues[4]; //setup the digits to make up the time for (new i = 0; i < 4; ++i) { //setup digit properties entity_set_string(digit[i], EV_SZ_classname, gszClockDigitClassname); entity_set_vector(digit[i], EV_VEC_angles, vAngles); entity_set_model(digit[i], gszClockDigits); entity_set_float(digit[i], EV_FL_scale, fScale); //set digit position set_digit_origin(i, digit[i], vOrigin, vNormal, fScale); //get the time digits getTimeDigits(clockType, digitValues); //set the in-game clocks digits set_clock_digits(clock, digitValues); } return true; } else { //delete clock face if it created successfully if (is_valid_ent(clock)) { remove_entity(clock); } //iterate nëpër rrjet të entitetit dhe fshini cilado ato të krijuar me sukses for (new i = 0; i < 4; ++i) { if (is_valid_ent(digit[i])) { remove_entity(digit[i]); } } } return false; } deleteClockAiming(id) { new bool:bDeleted; new clock = get_clock_aiming(id); if (clock) { //delete the clock bDeleted = deleteClock(clock); //nëse ora është fshirë me sukses if (bDeleted) { client_print(id, print_chat, "%sDeleted clock", gszPrefix); } } } bool:deleteClock(ent) { //if the entity is a clock if (isClock(ent)) { //get entity IDs of digits on the clock new digit[4]; digit[0] = entity_get_int(ent, EV_INT_iuser1); digit[1] = entity_get_int(ent, EV_INT_iuser2); digit[2] = entity_get_int(ent, EV_INT_iuser3); digit[3] = entity_get_int(ent, EV_INT_iuser4); //delete the digits on the clock if they're valid if (is_valid_ent(digit[0])) remove_entity(digit[0]); if (is_valid_ent(digit[1])) remove_entity(digit[1]); if (is_valid_ent(digit[2])) remove_entity(digit[2]); if (is_valid_ent(digit[3])) remove_entity(digit[3]); //delete the clock face remove_entity(ent); //successfully deleted the clock return true; } return false; } scaleClockAiming(id, Float:fScaleAmount) { //get the clock the player is aiming at (if any) new clock = get_clock_aiming(id); //if player is aiming at a clock if (clock) { //get the clocks digit entities new digit[4]; new bSuccess = get_clock_digits(clock, digit); //if successfully got clocks digit entities if (bSuccess) { new Float:vOrigin[3]; new Float:vNormal[3]; new Float:vAngles[3]; //get the clocks current scale and add on the specified amount new Float:fScale = entity_get_float(clock, EV_FL_scale); fScale += fScaleAmount; //make sure the scale isn't negative if (fScale > 0.01) { //set the clocks scale entity_set_float(clock, EV_FL_scale, fScale); //get the clocks origin and angles entity_get_vector(clock, EV_VEC_origin, vOrigin); entity_get_vector(clock, EV_VEC_angles, vAngles); //get the clocks normal vector from the angles angle_vector(vAngles, ANGLEVECTOR_FORWARD, vNormal); //set the normal to point in the opposite direction vNormal[0] = -vNormal[0]; vNormal[1] = -vNormal[1]; vNormal[2] = -vNormal[2]; //enlarge the clocks digits by the specified amount for (new i = 0; i < 4; ++i) { //set the digits scale entity_set_float(digit[i], EV_FL_scale, fScale); //adjust the digits origin because of the new scale set_digit_origin(i, digit[i], vOrigin, vNormal, fScale); } } } } } saveClocks(id) { //make sure player has access to this command if (get_user_flags(id) & ADMIN_LEVEL) { new ent = -1; new Float:vOrigin[3]; new Float:vAngles[3]; new Float:fScale; new clockCount = 0; new szData[128]; //open file for writing new file = fopen(gszFile, "wt"); new clockType; while ((ent = find_ent_by_class(ent, gszClockClassname))) { //get clock info entity_get_vector(ent, EV_VEC_origin, vOrigin); entity_get_vector(ent, EV_VEC_angles, vAngles); fScale = entity_get_float(ent, EV_FL_scale); clockType = entity_get_int(ent, EV_INT_groupinfo); //format clock info and save it to file formatex(szData, 128, "%c %f %f %f %f %f %f %f^n", gClockSaveIds[clockType], vOrigin[0], vOrigin[1], vOrigin[2], vAngles[0], vAngles[1], vAngles[2], fScale); fputs(file, szData); //increment clock count ++clockCount; } //get players name new szName[32]; get_user_name(id, szName, 32); //notify all admins that the player saved clocks to file for (new i = 1; i <= 32; ++i) { //make sure player is connected if (is_user_connected(i)) { if (get_user_flags(i) & ADMIN_LEVEL) { client_print(i, print_chat, "%s'%s' saved %d clock%s to file!", gszPrefix, szName, clockCount, (clockCount == 1 ? "" : "s")); } } } //close file fclose(file); } } loadClocks(id) { //if the clock save file exists if (file_exists(gszFile)) { new szData[128]; new szType[2]; new oX[13], oY[13], oZ[13]; new aX[13], aY[13], aZ[13]; new szScale[13]; new Float:vOrigin[3]; new Float:vAngles[3]; new Float:vNormal[3]; new Float:fScale; new clockCount = 0; //open the file for reading new file = fopen(gszFile, "rt"); //iterate through all the lines in the file while (!feof(file)) { szType = ""; fgets(file, szData, 128); parse(szData, szType, 2, oX, 12, oY, 12, oZ, 12, aX, 12, aY, 12, aZ, 12, szScale, 12); vOrigin[0] = str_to_float(oX); vOrigin[1] = str_to_float(oY); vOrigin[2] = str_to_float(oZ); vAngles[0] = str_to_float(aX); vAngles[1] = str_to_float(aY); vAngles[2] = str_to_float(aZ); fScale = str_to_float(szScale); if (strlen(szType) > 0) { //get the normal vector from the angles angle_vector(vAngles, ANGLEVECTOR_FORWARD, vNormal); //set the normal to point in the opposite direction vNormal[0] = -vNormal[0]; vNormal[1] = -vNormal[1]; vNormal[2] = -vNormal[2]; //create the clock depending on the clock type switch (szType[0]) { case 'C': createClock(CM_SERVERTIME, vOrigin, vAngles, vNormal, fScale); case 'T': createClock(CM_MAPTIMELEFT, vOrigin, vAngles, vNormal, fScale); } ++clockCount; } } //close the file fclose(file); //if a player is loading the clocks if (id > 0 && id <= 32) { //get players name new szName[32]; get_user_name(id, szName, 32); //notify all admins that the player loaded clocks from file for (new i = 1; i <= 32; ++i) { //make sure player is connected if (is_user_connected(i)) { if (get_user_flags(i) & ADMIN_LEVEL) { client_print(i, print_chat, "%s'%s' loaded %d clock%s from file!", gszPrefix, szName, clockCount, (clockCount == 1 ? "" : "s")); } } } } } } get_clock_aiming(id) { //get hit point for where player is aiming new origin[3]; new Float:vOrigin[3]; get_user_origin(id, origin, 3); IVecFVec(origin, vOrigin); new ent = -1; //find all entities within a 2 unit sphere while ((ent = find_ent_in_sphere(ent, vOrigin, 2.0))) { //if entity is a clock if (isClock(ent)) { return ent; } } return 0; } bool:traceClockAngles(id, Float:vAngles[3], Float:vNormal[3], Float:fDistance) { //get players origin and add on their view offset new Float:vPlayerOrigin[3]; new Float:vViewOfs[3]; entity_get_vector(id, EV_VEC_origin, vPlayerOrigin); entity_get_vector(id, EV_VEC_view_ofs, vViewOfs); vPlayerOrigin[0] += vViewOfs[0]; vPlayerOrigin[1] += vViewOfs[1]; vPlayerOrigin[2] += vViewOfs[2]; //calculate the end point for trace using the players view angle new Float:vAiming[3]; entity_get_vector(id, EV_VEC_v_angle, vAngles); vAiming[0] = vPlayerOrigin[0] + floatcos(vAngles[1], degrees) * fDistance; vAiming[1] = vPlayerOrigin[1] + floatsin(vAngles[1], degrees) * fDistance; vAiming[2] = vPlayerOrigin[2] + floatsin(-vAngles[0], degrees) * fDistance; //trace a line and get the normal for the plane it hits new trace = trace_normal(id, vPlayerOrigin, vAiming, vNormal); //convert the normal into an angle vector vector_to_angle(vNormal, vAngles); //spin the angle vector 180 degrees around the Y axis vAngles[1] += 180.0; if (vAngles[1] >= 360.0) vAngles[1] -= 360.0; return bool:trace; } set_digit_origin(i, digit, Float:vOrigin[3], Float:vNormal[3], Float:fScale) { //make sure the digit entity is valid if (is_valid_ent(digit)) { new Float:vDigitNormal[3]; new Float:vPos[3]; new Float:fVal; //change the normals to get the left and right depending on the digit vDigitNormal = vNormal; if (i == 0 || i == 1) vDigitNormal[X] = -vDigitNormal[X]; if (i == 2 || i == 3) vDigitNormal[Y] = -vDigitNormal[Y]; //setup digit position fVal = (((gfClockSize[X] / 2) * gfDigitOffsetMultipliers[i])) * fScale; vPos[X] = vOrigin[X] + (vDigitNormal[Y] * fVal); vPos[Y] = vOrigin[Y] + (vDigitNormal[X] * fVal); vPos[Z] = vOrigin[Z] + vNormal[Z] - ((gfTitleSize / 2.0 )* fScale); //bring digit sprites forwards off the clock face to prevent flickering vPos[0] += (vNormal[0] * 0.5); vPos[1] += (vNormal[1] * 0.5); vPos[2] += (vNormal[2] * 0.5); //set the digits origin entity_set_origin(digit, vPos); } } bool:getTimeDigits(clockType, digitValues[4]) { switch (clockType) { case CM_SERVERTIME: { new bool:bChanged = false; new szTime[5]; new timeOffset = get_cvar_num("cm_timeoffset"); new hourType = get_cvar_num("cm_hourtype"); //get the time new hour, mins; time(hour, mins); //add on the time offset hour += timeOffset; //make sure hour hasnt gone out of bounds while (hour < 0) { hour += 24; } while (hour >= 24) { hour -= 24; } //if server is set to use 12 hour clocks if (hourType == 0) { if (hour > 12) { hour -= 12; } } //format the time into a string format(szTime, 4, "%s%d%s%d", (hour < 10 ? "0" : ""), hour, (mins < 10 ? "0" : ""), mins); //calculate time digits from string digitValues[0] = szTime[0] - 48; digitValues[1] = szTime[1] - 48; digitValues[2] = szTime[2] - 48; digitValues[3] = szTime[3] - 48; //if the time has changed if (!equal(gszTime, szTime)) { gszTime = szTime; bChanged = true; } //if the hour type has changed if (hourType != gHourTypeOld) { gHourTypeOld = hourType; bChanged = true; } //if the time offset value has changed if (timeOffset != gTimeOffsetOld) { gTimeOffsetOld = timeOffset; bChanged = true; } return bChanged; } case CM_MAPTIMELEFT: { //get timeleft on map and calculate the minutes and seconds new timeleft = get_timeleft(); new mins = timeleft / 60; new secs = timeleft % 60; //format the timeleft into a string new szTime[5]; format(szTime, 4, "%s%d%s%d", (mins < 10 ? "0" : ""), mins, (secs < 10 ? "0" : ""), secs); //calculate time digits from string digitValues[0] = szTime[0] - 48; digitValues[1] = szTime[1] - 48; digitValues[2] = szTime[2] - 48; digitValues[3] = szTime[3] - 48; return true; } } return false; } bool:get_clock_digits(clock, digit[4]) { //if the entity is a clock if (isClock(clock)) { //get entity IDs of digits on the clock digit[0] = entity_get_int(clock, EV_INT_iuser1); digit[1] = entity_get_int(clock, EV_INT_iuser2); digit[2] = entity_get_int(clock, EV_INT_iuser3); digit[3] = entity_get_int(clock, EV_INT_iuser4); //make sure all the clock digits are valid for (new i = 0; i < 4; ++i) { if (!is_valid_ent(digit[i])) { log_amx("%sInvalid digit entity in clock", gszPrefix); return false; } } } return true; } set_clock_digits(clock, digitValues[4]) { //get the clocks digit entities new digits[4]; new bool:bSuccess = get_clock_digits(clock, digits); //if successfully got clocks digit entities if (bSuccess) { //setup clock digits entity_set_float(digits[0], EV_FL_frame, float(digitValues[0])); entity_set_float(digits[1], EV_FL_frame, float(digitValues[1])); entity_set_float(digits[2], EV_FL_frame, float(digitValues[2])); entity_set_float(digits[3], EV_FL_frame, float(digitValues[3])); } } alertHour(hour) { //if we're set to speak the hour if (get_cvar_num("cm_hourannounce") > 0) { new szMeridiem[4] = "am"; new szHour[16]; //setup hour. Make sure hour isn't above 12 and isn't 00 o'clock if (hour >= 12) szMeridiem = "pm"; if (hour > 12) hour -= 12; if (hour == 0) hour = 12; //get the hour as a word num_to_word(hour, szHour, 15); //speak the time client_cmd(0, "spk ^"fvox/bell _period %s %s^"", szHour, szMeridiem); } } bool:isClock(ent) { //if entity is valid if (is_valid_ent(ent)) { //get classname of entity new szClassname[32]; entity_get_string(ent, EV_SZ_classname, szClassname, 32); //if classname of entity matches global clock classname if (equal(szClassname, gszClockClassname)) { //entity is a clock return true; } } return false; }
[Image: YamMKgu.png]
[Image: yHomE6r.jpg]
[Image: X72tTjJ.jpg]

[Image: dzysCv0.png]
http://www.mediafire.com/download/y33v8y...r_v3.0.zip

[kujdes]MOS kopjoni Ma Lejen e Autorit & ose Ban[/kujdes]

Print this item