Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

MYGO.pl

RSSy
  • Postów

    25051
  • Dołączył

  • Ostatnia wizyta

    nigdy
  • Wygrane w rankingu

    11

Ostatnia wygrana MYGO.pl w dniu 12 Lipca 2019

Użytkownicy przyznają MYGO.pl punkty reputacji!

O MYGO.pl

  • Urodziny 06.07.2016

Informacje o mnie

  • Imię
    RSS Plugins
  • Skąd
    RSS Plugins
  • Płeć
    Mężczyzna
  • Zawód
    RSS Plugins

Kontakt

Ostatnie wizyty

10205 wyświetleń profilu

Osiągnięcia MYGO.pl

Nowicjusz

Nowicjusz (1/14)

51

Reputacja

  1. I am requesting a plugin that re-introduces the legacy FBI sounds & botchatter that was removed in the FBI model update of CS:GO. If you don't know what I'm talking about, I'm talking about these voice lines specifically: https://youtu.be/D8kgKulswr8 Przeczytaj cały wpis
  2. Hello I am going to increase the zombie speed in a zone area I have two problems The mod has used fw_PlayerPreThink to speed up the zombies Next, I don't know how to recognize that they have left the zone PHP Code: #include <amxmodx> #include <amxmisc> #include <engine> #include <fakemeta> #include <hamsandwich> #define PLUGIN_VERSION "1.0" #define ADMIN_ACCESS ADMIN_RCON #define TASK_SHOWZONES 377737 #define MAXPLAYERS 32 #define isPlayer(%1) ((1 <= %1 && %1 < MAXPLAYERS)) #define ZONE_SPRITE "sprites/laserbeam.spr" #define ZONE_STARTFRAME 1 #define ZONE_FRAMERATE 1 #define ZONE_LIFE 12 #define ZONE_WIDTH 5 #define ZONE_NOISE 0 #define ZONE_COLOR_RED 255 #define ZONE_COLOR_GREEN 0 #define ZONE_COLOR_BLUE 0 #define ZONE_COLOR_SELECTED_RED 0 #define ZONE_COLOR_SELECTED_GREEN random(256) #define ZONE_COLOR_SELECTED_BLUE 255 #define ZONE_BRIGHTNESS 255 #define ZONE_SPEED 0 #define ZONE_VIEWDISTANCE 800.0 #define ZONE_BLOCKEDTEAM 1 // Comment this line to disable the beam when setting points. #define BEAM_ENABLED // Comment a line to disable the sound. #define SOUND_SETPOINT "agrunt/ag_fire2.wav" #define SOUND_SELECT "bullchicken/bc_spithit3.wav" #define SOUND_DELETE "buttons/button10.wav" #define SOUND_DELETEALL "buttons/button11.wav" #define SOUND_TELEPORT "debris/beamstart7.wav" #if defined BEAM_ENABLED #define BEAM_SPRITE "sprites/lgtning.spr" #define BEAM_STARTFRAME 0 #define BEAM_FRAMERATE 10 #define BEAM_LIFE 2 #define BEAM_WIDTH 15 #define BEAM_NOISE 2 #define BEAM_COLOR_RED 255 #define BEAM_COLOR_GREEN 0 #define BEAM_COLOR_BLUE 0 #define BEAM_COLOR_SELECT_RED 0 #define BEAM_COLOR_SELECT_GREEN random(256) #define BEAM_COLOR_SELECT_BLUE 255 #define BEAM_BRIGHTNESS 255 #define BEAM_SPEED 30 new g_iBeamSprite #endif new const g_szPrefix[] = "^4[BB Zones]^1" new const g_szEntString[] = "info_target" new const g_szClassname[] = "BBZone" new g_szDirectory[512], g_szFilename[512], g_szMap[32] new Array:g_aZones new Trie:g_tZones new bool:g_blBuilding[33] new Float:g_flBuildOrigin[33][2][3] new g_iBuildStage[33] new g_iCurrentZone[33][2] new bool:g_blHighlight[33] new g_iZoneSprite new g_iTotalZones new g_iSayText new Float:g_zonesOrigins[50][3] public plugin_init() { register_plugin("BaseBuilder No-Build Zones", PLUGIN_VERSION, "Lucifer") register_cvar("BBZones", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED) register_dictionary("BBZones.txt") register_clcmd("say /bbzones", "menuZone") register_clcmd("say_team /bbzones", "menuZone") register_clcmd("say /pointir", "selectPoint") register_touch(g_szClassname, "player", "OnTouchZone") get_mapname(g_szMap, charsmax(g_szMap)) strtolower(g_szMap) get_datadir(g_szDirectory, charsmax(g_szDirectory)) add(g_szDirectory, charsmax(g_szDirectory), "/BBZones") formatex(g_szFilename, charsmax(g_szFilename), "%s/%s.txt", g_szDirectory, g_szMap) if(!dir_exists(g_szDirectory)) mkdir(g_szDirectory) g_aZones = ArrayCreate(5, 1) g_tZones = TrieCreate() g_iSayText = get_user_msgid("SayText") fileRead(0) } public OnTouchZone(iZone, id) { if(get_user_team(id) != 1) return set_pev(id, pev_maxspeed, 1000.0) } public plugin_end() { fileRead(1) ArrayDestroy(g_aZones) TrieDestroy(g_tZones) } fileRead(iWrite) { new iFilePointer switch(iWrite) { case 0: { iFilePointer = fopen(g_szFilename, "rt") if(iFilePointer) { new szData[200], szPoint[6][32] new Float:flPoint[2][3] while(!feof(iFilePointer)) { fgets(iFilePointer, szData, charsmax(szData)) trim(szData) if(szData[0] == EOS || szData[0] == ';') continue parse(szData, szPoint[0], charsmax(szPoint[]), szPoint[1], charsmax(szPoint[]), szPoint[2], charsmax(szPoint[]), szPoint[3], charsmax(szPoint[]), szPoint[4], charsmax(szPoint[]), szPoint[5], charsmax(szPoint[])) for(new i; i < 3; i++) flPoint[0][i] = str_to_float(szPoint[i]) for(new i; i < 3; i++) flPoint[1][i] = str_to_float(szPoint[i + 3]) CreateZone(flPoint[0], flPoint[1]) } } } case 1: { delete_file(g_szFilename) if(!g_iTotalZones) return iFilePointer = fopen(g_szFilename, "wt") new szCoords[200], szZone[5], iZone for(new i; i < g_iTotalZones; i++) { iZone = ArrayGetCell(g_aZones, i) num_to_str(iZone, szZone, charsmax(szZone)) TrieGetString(g_tZones, szZone, szCoords, charsmax(szCoords)) fprintf(iFilePointer, "%s^n", szCoords) } } } fclose(iFilePointer) } public selectPoint(id) { if(!g_blBuilding[id]) return PLUGIN_CONTINUE new Float:flPointOrigin[3], flUserOrigin[3] get_user_origin(id, flUserOrigin, 3) IVecFVec(flUserOrigin, flPointOrigin) g_flBuildOrigin[id][g_iBuildStage[id]] = flPointOrigin #if defined SOUND_SETPOINT player_spksound(id, SOUND_SETPOINT) #endif #if defined BEAM_ENABLED draw_beam(id) #endif switch(g_iBuildStage[id]) { case 0: { g_iBuildStage[id]++ ColorChat(id, "%L", LANG_PLAYER, "BBZONE_SET_SECOND") } case 1: { g_iBuildStage[id]-- g_blBuilding[id] = false CreateZone(g_flBuildOrigin[id][0], g_flBuildOrigin[id][1]) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_CREATED") } } menu_reopen(id) return PLUGIN_HANDLED } public menuZone(id) { if(!(get_user_flags(id) & ADMIN_ACCESS)) { //ColorChat(id, "%L", LANG_PLAYER, "BBZONE_NOACCESS") return PLUGIN_HANDLED } new szTitle[128], szItem[64] formatex(szTitle, charsmax(szTitle), "\r%L \d| \y%s \d| \r%i %L", LANG_PLAYER, "BBZONE_BBZONES", g_szMap, g_iTotalZones, LANG_PLAYER, "BBZONE_ZONES") new iMenu = menu_create(szTitle, "handlerZone") formatex(szItem, charsmax(szItem), "%L", LANG_PLAYER, g_blBuilding[id] ? "BBZONE_CANCEL" : "BBZONE_ADD") menu_additem(iMenu, szItem, "") formatex(szItem, charsmax(szItem), "%L", LANG_PLAYER, g_blHighlight[id] ? "BBZONE_HIDE" : "BBZONE_HIGHLIGHT") menu_additem(iMenu, szItem, "") formatex(szItem, charsmax(szItem), "%s%L", g_iTotalZones ? "" : "\d", LANG_PLAYER, "BBZONE_SELECT") menu_additem(iMenu, szItem, "") formatex(szItem, charsmax(szItem), "%s%L", g_iTotalZones && is_zone(g_iCurrentZone[id][0]) ? "" : "\d", LANG_PLAYER, "BBZONE_DELETE") menu_additem(iMenu, szItem, "") formatex(szItem, charsmax(szItem), "%s%L", g_iTotalZones ? "" : "\d", LANG_PLAYER, "BBZONE_DELETEALL") menu_additem(iMenu, szItem, "") formatex(szItem, charsmax(szItem), "%s%L", g_iTotalZones && is_zone(g_iCurrentZone[id][0]) ? "" : "\d", LANG_PLAYER, "BBZONE_TELEPORT") menu_additem(iMenu, szItem, "") menu_display(id, iMenu, 0) return PLUGIN_HANDLED } public handlerZone(id, iMenu, iItem) { if(iItem == MENU_EXIT) { menu_destroy(iMenu) return PLUGIN_HANDLED } switch(iItem) { case 0: { if(g_blBuilding[id]) { g_iBuildStage[id] = 0 g_blBuilding[id] = false ColorChat(id, "%L", LANG_PLAYER, "BBZONE_CANCELED") } else { g_blBuilding[id] = true ColorChat(id, "%L", LANG_PLAYER, "BBZONE_SET_FIRST") } } case 1: { if(g_blHighlight[id]) { g_blHighlight[id] = false remove_task(id + TASK_SHOWZONES) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_HIGHLIGHT_DISABLED") } else { g_blHighlight[id] = true set_task(1.0, "showZones", id + TASK_SHOWZONES, "", 0, "b", 0) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_HIGHLIGHT_ENABLED") } } case 2: { if(g_iTotalZones) { menu_destroy(iMenu) menuSelect(id) return PLUGIN_HANDLED } else noZones(id) } case 3: { if(is_zone(g_iCurrentZone[id][0])) { ColorChat(id, "%L", LANG_SERVER, "BBZONE_REMOVED", g_iCurrentZone[id][0]) player_remove_zone(id) #if defined SOUND_DELETE player_spksound(id, SOUND_DELETE) #endif } else invalidZone(id) } case 4: { if(g_iTotalZones) { new iPlayers[32], iPnum, iEnt get_players(iPlayers, iPnum) while((iEnt = find_ent_by_class(iEnt, g_szClassname))) if(pev_valid(iEnt)) remove_entity(iEnt) for(new i, iPlayer; i < iPnum; i++) { iPlayer = iPlayers[i] g_iCurrentZone[iPlayer][0] = 0 g_iCurrentZone[iPlayer][1] = 0 } g_iTotalZones = 0 ArrayClear(g_aZones) TrieClear(g_tZones) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_REMOVEDALL") #if defined SOUND_DELETEALL player_spksound(id, SOUND_DELETEALL) #endif } else noZones(id) } case 5: { if(is_zone(g_iCurrentZone[id][0])) { new Float:flOrigin[3] pev(g_iCurrentZone[id][0], pev_origin, flOrigin) set_pev(id, pev_origin, flOrigin) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_TELEPORTED", g_iCurrentZone[id][0]) #if defined SOUND_TELEPORT player_emitsound(id, SOUND_TELEPORT) #endif } else invalidZone(id) } } menu_destroy(iMenu) menuZone(id) return PLUGIN_HANDLED } public menuSelect(id) { new szTitle[128], szItem[64], szTemp[32], szZone[5], iZone formatex(szTitle, charsmax(szTitle), "\r%L \d| \y%s \d| \r%i %L", LANG_PLAYER, "BBZONE_BBZONES", g_szMap, g_iTotalZones, LANG_PLAYER, "BBZONE_ZONES") new iMenu = menu_create(szTitle, "handlerSelect") formatex(szItem, charsmax(szItem), "\r%L", LANG_PLAYER, "BBZONE_BACK") menu_additem(iMenu, szItem, "0") formatex(szItem, charsmax(szItem), "\r%L", LANG_PLAYER, "BBZONE_DESELECT") menu_additem(iMenu, szItem, "1") for(new i; i < g_iTotalZones; i++) { iZone = ArrayGetCell(g_aZones, i) num_to_str(iZone, szZone, charsmax(szZone)) formatex(szItem, charsmax(szItem), "%L #%i", LANG_PLAYER, "BBZONE_ZONE", iZone) if(g_iCurrentZone[id][0] == iZone) { formatex(szTemp, charsmax(szTemp), " \y[%L]", LANG_PLAYER, "BBZONE_CURRENT") add(szItem, charsmax(szItem), szTemp) } menu_additem(iMenu, szItem, szZone) } menu_display(id, iMenu, 0) return PLUGIN_HANDLED } public handlerSelect(id, iMenu, iItem) { switch(iItem) { case MENU_EXIT: { menu_destroy(iMenu) return PLUGIN_HANDLED } case 0: { menu_destroy(iMenu) menuZone(id) return PLUGIN_HANDLED } case 1: { g_iCurrentZone[id][0] = 0 ColorChat(id, "%L", LANG_PLAYER, "BBZONE_DESELECTED") menu_destroy(iMenu) menuSelect(id) return PLUGIN_HANDLED } } new szData[6], iName[64], iAccess, iCallback menu_item_getinfo(iMenu, iItem, iAccess, szData, charsmax(szData), iName, charsmax(iName), iCallback) new iKey = str_to_num(szData) g_iCurrentZone[id][0] = iKey g_iCurrentZone[id][1] = iItem - 2 ColorChat(id, "%L", LANG_PLAYER, "BBZONE_SELECTED", iKey) #if defined SOUND_SELECT player_spksound(id, SOUND_SELECT) #endif #if defined BEAM_ENABLED draw_beam(id, iKey) #endif menu_destroy(iMenu) menuSelect(id) return PLUGIN_HANDLED } CreateZone(Float:flFirstPoint[3], Float:flSecondPoint[3]) { new Float:flCenter[3], Float:flSize[3] new Float:flMins[3], Float:flMaxs[3] for(new i; i < 3; i++) { flCenter[i] = (flFirstPoint[i] + flSecondPoint[i]) / 2.0 flSize[i] = get_float_difference(flFirstPoint[i], flSecondPoint[i]) flMins[i] = flSize[i] / -2.0 flMaxs[i] = flSize[i] / 2.0 } new iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, g_szEntString)) if(pev_valid(iEnt)) { engfunc(EngFunc_SetOrigin, iEnt, flCenter) set_pev(iEnt, pev_classname, g_szClassname) dllfunc(DLLFunc_Spawn, iEnt) set_pev(iEnt, pev_movetype, MOVETYPE_NONE) set_pev(iEnt, pev_solid, SOLID_TRIGGER) entity_set_size(iEnt, flMins, flMaxs) //engfunc(EngFunc_SetSize, iEnt, flMins, flMaxs) } new szCoords[200], szZone[5] formatex(szCoords, charsmax(szCoords), "%f %f %f %f %f %f", flFirstPoint[0], flFirstPoint[1], flFirstPoint[2], flSecondPoint[0], flSecondPoint[1], flSecondPoint[2]) num_to_str(iEnt, szZone, charsmax(szZone)) TrieSetString(g_tZones, szZone, szCoords) ArrayPushCell(g_aZones, iEnt) g_iTotalZones++ } public origin_check(id, ent) { new Float:entCenter[3] new zoneEnt = -1 new Float:zCenter[3] while((zoneEnt = find_ent_by_class(zoneEnt, g_szClassname))) { // Get world center for the entity static Float:flAbsMin[3], Float:flAbsMax[3] pev(ent, pev_absmin, flAbsMin) pev(ent, pev_absmax, flAbsMax) entCenter[0] = (flAbsMin[0] + flAbsMax[0]) * 0.5 entCenter[1] = (flAbsMin[1] + flAbsMax[1]) * 0.5 entCenter[2] = (flAbsMin[2] + flAbsMax[2]) * 0.5 // Get world center for the zone static Float:zAbsMin[3], Float:zAbsMax[3] pev(zoneEnt, pev_absmin, zAbsMin) pev(zoneEnt, pev_absmax, zAbsMax) zCenter[0] = (zAbsMin[0] + zAbsMax[0]) * 0.5 zCenter[1] = (zAbsMin[1] + zAbsMax[1]) * 0.5 zCenter[2] = (zAbsMin[2] + zAbsMax[2]) * 0.5 // Get zone size new Float:zoneSize[3] new Float:entSize[3] pev(zoneEnt, pev_size, zoneSize) pev(ent, pev_size, entSize) new Float:zHalfSize[3] new Float:entHalfSize[3] zHalfSize[0] = zoneSize[0] / 2 zHalfSize[1] = zoneSize[1] / 2 zHalfSize[2] = zoneSize[2] / 2 entHalfSize[0] = entSize[0] / 2 entHalfSize[1] = entSize[1] / 2 entHalfSize[2] = entSize[2] / 2 new Float:maxDistX new Float:maxDistY new Float:maxDistZ maxDistX = zHalfSize[0] + entHalfSize[0] maxDistY = zHalfSize[1] + entHalfSize[1] maxDistZ = zHalfSize[2] + entHalfSize[2] if((zCenter[0] - entCenter[0] > maxDistX) || (zCenter[0] - entCenter[0] < -maxDistX) || (zCenter[1] - entCenter[1] > maxDistY) || (zCenter[1] - entCenter[1] < -maxDistY) || (zCenter[2] - entCenter[2] > maxDistZ) || (zCenter[2] - entCenter[2] < -maxDistZ)) { } else if(!isPlayer(ent)){ //engfunc( EngFunc_SetOrigin, ent, Float:{ -8192.0, -8192.0, -8192.0 } ) set_pev(ent,pev_rendermode,kRenderTransColor) set_pev(ent,pev_rendercolor, Float:{163.0, 1.0, 37.0} ) set_pev(ent,pev_renderamt, 240.0 ) set_task(0.2, "removeEnt", ent) //ColorChat(id, "You are not allowed to build there.") } } } public removeEnt(ent){ Remove(ent) } stock Remove(ent) { set_pev(ent, pev_solid, SOLID_NOT); set_pev(ent, pev_effects, pev(ent, pev_effects) | EF_NODRAW); } public showZones(id) { id -= TASK_SHOWZONES if(!is_user_connected(id)) { remove_task(id + TASK_SHOWZONES) return } new iMins[3], iMaxs[3], iEnt new Float:flUserOrigin[3], Float:flOrigin[3], Float:flMins[3], Float:flMaxs[3] new bool:blCurrentZone pev(id, pev_origin, flUserOrigin) // Save zones origins new zonesCount = 0 // End save zones origins while((iEnt = find_ent_by_class(iEnt, g_szClassname))) { blCurrentZone = (iEnt == g_iCurrentZone[id][0]) ? true : false pev(iEnt, pev_origin, flOrigin) // Save zones origins g_zonesOrigins[zonesCount][0] = flOrigin[0] g_zonesOrigins[zonesCount][1] = flOrigin[1] g_zonesOrigins[zonesCount][2] = flOrigin[2] zonesCount += 1 // End save zones origins if(get_distance_f(flUserOrigin, flOrigin) > ZONE_VIEWDISTANCE) continue pev(iEnt, pev_mins, flMins) pev(iEnt, pev_maxs, flMaxs) flMins[0] += flOrigin[0] flMins[1] += flOrigin[1] flMins[2] += flOrigin[2] flMaxs[0] += flOrigin[0] flMaxs[1] += flOrigin[1] flMaxs[2] += flOrigin[2] /*console_print(0, "Size: %f", flMins[0]) console_print(0, "Size: %f", flMins[1]) console_print(0, "Size: %f", flMins[2])*/ FVecIVec(flMins, iMins) FVecIVec(flMaxs, iMaxs) draw_line(id, blCurrentZone, iMaxs[0], iMaxs[1], iMaxs[2], iMins[0], iMaxs[1], iMaxs[2]) draw_line(id, blCurrentZone, iMaxs[0], iMaxs[1], iMaxs[2], iMaxs[0], iMins[1], iMaxs[2]) draw_line(id, blCurrentZone, iMaxs[0], iMaxs[1], iMaxs[2], iMaxs[0], iMaxs[1], iMins[2]) draw_line(id, blCurrentZone, iMins[0], iMins[1], iMins[2], iMaxs[0], iMins[1], iMins[2]) draw_line(id, blCurrentZone, iMins[0], iMins[1], iMins[2], iMins[0], iMaxs[1], iMins[2]) draw_line(id, blCurrentZone, iMins[0], iMins[1], iMins[2], iMins[0], iMins[1], iMaxs[2]) draw_line(id, blCurrentZone, iMins[0], iMaxs[1], iMaxs[2], iMins[0], iMaxs[1], iMins[2]) draw_line(id, blCurrentZone, iMins[0], iMaxs[1], iMins[2], iMaxs[0], iMaxs[1], iMins[2]) draw_line(id, blCurrentZone, iMaxs[0], iMaxs[1], iMins[2], iMaxs[0], iMins[1], iMins[2]) draw_line(id, blCurrentZone, iMaxs[0], iMins[1], iMins[2], iMaxs[0], iMins[1], iMaxs[2]) draw_line(id, blCurrentZone, iMaxs[0], iMins[1], iMaxs[2], iMins[0], iMins[1], iMaxs[2]) draw_line(id, blCurrentZone, iMins[0], iMins[1], iMaxs[2], iMins[0], iMaxs[1], iMaxs[2]) } } public plugin_precache() { g_iZoneSprite = precache_model(ZONE_SPRITE) #if defined SOUND_SETPOINT precache_sound(SOUND_SETPOINT) #endif #if defined SOUND_SELECT precache_sound(SOUND_SELECT) #endif #if defined SOUND_DELETE precache_sound(SOUND_DELETE) #endif #if defined SOUND_DELETEALL precache_sound(SOUND_DELETEALL) #endif #if defined SOUND_TELEPORT precache_sound(SOUND_TELEPORT) #endif #if defined BEAM_ENABLED g_iBeamSprite = precache_model(BEAM_SPRITE) #endif } menu_reopen(id) { new iNewMenu, iMenu = player_menu_info(id, iMenu, iNewMenu) if(iMenu) { show_menu(id, 0, "^n", 1) menuZone(id) } } #if defined BEAM_ENABLED draw_beam(id, iZone = 0) { new iUserOrigin[3], iPointOrigin[3] get_user_origin(id, iUserOrigin) if(iZone && pev_valid(iZone)) { new Float:flOrigin[3] pev(iZone, pev_origin, flOrigin) FVecIVec(flOrigin, iPointOrigin) } else get_user_origin(id, iPointOrigin, 3) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMPOINTS) write_coord(iUserOrigin[0]) write_coord(iUserOrigin[1]) write_coord(iUserOrigin[2]) write_coord(iPointOrigin[0]) write_coord(iPointOrigin[1]) write_coord(iPointOrigin[2]) write_short(g_iBeamSprite) write_byte(BEAM_STARTFRAME) write_byte(BEAM_FRAMERATE) write_byte(BEAM_LIFE) write_byte(BEAM_WIDTH) write_byte(BEAM_NOISE) write_byte(iZone ? BEAM_COLOR_SELECT_RED : BEAM_COLOR_RED) write_byte(iZone ? BEAM_COLOR_SELECT_GREEN : BEAM_COLOR_GREEN) write_byte(iZone ? BEAM_COLOR_SELECT_BLUE : BEAM_COLOR_BLUE) write_byte(BEAM_BRIGHTNESS) write_byte(BEAM_SPEED) message_end() } #endif draw_line(id, bool:blCurrentZone, x1, y1, z1, x2, y2, z2) { message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, SVC_TEMPENTITY, _, id ? id : 0) write_byte(TE_BEAMPOINTS) write_coord(x1) write_coord(y1) write_coord(z1) write_coord(x2) write_coord(y2) write_coord(z2) write_short(g_iZoneSprite) write_byte(ZONE_STARTFRAME) write_byte(ZONE_FRAMERATE) write_byte(ZONE_LIFE) write_byte(ZONE_WIDTH) write_byte(ZONE_NOISE) write_byte(blCurrentZone ? ZONE_COLOR_SELECTED_RED : ZONE_COLOR_RED) write_byte(blCurrentZone ? ZONE_COLOR_SELECTED_GREEN : ZONE_COLOR_GREEN) write_byte(blCurrentZone ? ZONE_COLOR_SELECTED_BLUE : ZONE_COLOR_BLUE) write_byte(ZONE_BRIGHTNESS) write_byte(ZONE_SPEED) message_end() } player_emitsound(id, szSound[]) emit_sound(id, CHAN_ITEM, szSound, 1.0, ATTN_NORM, 0, PITCH_NORM) player_spksound(id, szSound[]) client_cmd(id, "spk %s", szSound) noZones(id) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_NOZONES") invalidZone(id) ColorChat(id, "%L", LANG_PLAYER, "BBZONE_INVALID") player_remove_zone(id) { new szZone[5] num_to_str(g_iCurrentZone[id][0], szZone, charsmax(szZone)) ArrayDeleteItem(g_aZones, g_iCurrentZone[id][1]) TrieDeleteKey(g_tZones, szZone) remove_entity(g_iCurrentZone[id][0]) g_iCurrentZone[id][0] = 0 g_iCurrentZone[id][1] = 0 g_iTotalZones-- } bool:is_zone(iEnt) { if(!pev_valid(iEnt)) return false new szClass[32] pev(iEnt, pev_classname, szClass, charsmax(szClass)) return equal(szClass, g_szClassname) ? true : false } Float:get_float_difference(Float:flNumber1, Float:flNumber2) return (flNumber1 > flNumber2) ? (flNumber1 - flNumber2) : (flNumber2 - flNumber1) ColorChat(const id, const szInput[], any:...) { new iPlayers[32], iCount = 1 static szMessage[191] vformat(szMessage, charsmax(szMessage), szInput, 3) format(szMessage[0], charsmax(szMessage), "%s %s", g_szPrefix, szMessage) replace_all(szMessage, charsmax(szMessage), "!g", "^4") replace_all(szMessage, charsmax(szMessage), "!n", "^1") replace_all(szMessage, charsmax(szMessage), "!t", "^3") if(id) iPlayers[0] = id else get_players(iPlayers, iCount, "ch") for(new i; i < iCount; i++) { if(is_user_connected(iPlayers[i])) { message_begin(MSG_ONE_UNRELIABLE, g_iSayText, _, iPlayers[i]) write_byte(iPlayers[i]) write_string(szMessage) message_end() } } } Przeczytaj cały wpis
  3. MYGO.pl

    RSSPrivate Message

    Description Have a private conversation with another player Commands <tags> = parameterssay /pm <player> <message> - sends a private message to a player say /r <message> - quick reply to player you sent a pm unless its your first time getting a pm since you joined the server say !<message> - quick reply but faster say /ignore <player> - ignores messages from a person, will stop ignoring if you decide to send a pm to him/her/they/them again say /sounds - toggle notifications Credits Bugsy - bit macros Attached Files Get Plugin or Get Source (private_message.sma - 5.1 KB) sounds.zip (64.2 KB) Przeczytaj cały wpis
  4. Hello, pls someone can edit this plugin so we can mute or gag players with immunity Attached Files Get Plugin or Get Source (gag_mute.sma - 10.6 KB) Przeczytaj cały wpis
  5. Hello, a fast plugin that parses VDF to JSON Requires: https://github.com/ErikMinekus/sm-ri...ases/tag/1.3.1 Usage: PHP Code: #include <vdftojson> //param1 origin addons/sourcemod/ //param2 origin addons/sourcemod/data/ VDFReturn c = VDFtoJSON("../../scripts/items/items_game.txt","items_game.txt"); Command: PHP Code: sm_vdf2json <path> //output addons/sourcemod/data/output.json Convar: PHP Code: sm_vdftojson 1 //set to 0 to disable in-game command https://github.com/oscar-wos/VDFtoJSON Wyświetl pełny artykuł
  6. MYGO.pl

    RSStask

    Hello, someone can task "time" this lines for VIP (ADMIN_VOTE) until before 20 seconds of the rounds ends. And they can get a print [XBB] You can't lock your base before 20 seconds! If need i can send directly the bb.sma PHP Code: public cmdLockBlock(id) { if (!access(id, LOCK_BLOCKS)) return PLUGIN_HANDLED new ent, bodypart get_user_aiming (id,ent,bodypart) new tname[7], cname[10]; entity_get_string(ent, EV_SZ_targetname, tname, 6); entity_get_string(ent, EV_SZ_classname, cname, 9); if (!ent || !is_valid_ent(ent) || is_user_alive(ent) || ent == g_iEntBarrier || !equal(cname, "func_wall") || equal(tname, "ignore")) return PLUGIN_HANDLED if (!IsBlockLocked(ent) && !g_MovingEnt[ent]) { LockBlock(ent) DispatchKeyValue(ent, "rendermode", "1"); DispatchKeyValue(ent, "rendercolor", "125.0 0.0 0.0"); g_OwnedEnts[g_EntOwner[ent]]-- g_EntOwner[ent] = 0 } else if (IsBlockLocked(ent)) { UnlockBlock(ent) DispatchKeyValue(ent, "rendermode", "0"); } return PLUGIN_HANDLED } Przeczytaj cały wpis
  7. Description This plugin will check if AMX Mod X is running the latest build Cvars update_notice - (default "1.9") amxx version to look after to Modules Requires < sockets > InstallWorks on AMXX 1.8.1 Drag amxx_update_notice.sma to amxmodx/scripting folder Click "Get Plugin" and drag amxx_update_notice.amxx to amxmodx/plugins folder Type amxx_update_notice.amxx in amxmodx/configs/plugins.ini file Type update_notice "<AMXX_VERISON>" in amxmodx/configs/amxx.cfg file Additional information If a new version is released, the plugin will alert all admins 5 minutes after the map change. Image Attached Files Get Plugin or Get Source (amxx_update_notice.sma - 2.4 KB) Przeczytaj cały wpis
  8. Hello Every one QuickDroLLL, so basicly iam loking for plugin that make the he grenade when it tuch the ground it will explode directly i know there is plugin name Nade Modes but iam loking for plugin do that only you can say specify plugin sorry for my bad english and yeah hope any one find or create it to me bcz iam loking for it so much in my server done :) Przeczytaj cały wpis
  9. Good morning, I have a server in a host / TC-ADMIN, I have a problem, we still play mix 5 vs 5 almost every other day and sometimes a player asks for a pause in freezetime (anyone can pause, if it is configured) the problem that's not the problem that the server hangs after 3 minutes and restarts, but I have noticed that this happens when the server has a password, but when It does not have a password and they pause, it can last up to 10 minutes, that is what I tried) My question is if there is any plugin which, when pressing the pause key, can automatically remove the password from the server? , (any user) , thank you.:cry: Przeczytaj cały wpis
  10. Hi. I need a plugin of CSGO that with a command like "!people" or "!play" send a messege to my discord server with a rol tag and saying than need people to play. Its for a AutoMix server (5vs5), im using pugsetup. Cand somebody help me? Thanks Sorry for my english :D Przeczytaj cały wpis
  11. QuickPeek Description This plugin allows you to spectate other players while being alive so your gameplay will not be interrupted. It can be useful for gamemodes where it's not against the rules to have info on other players' movement. It can make it more fun in turn-based gamemodes like trikz: oftentimes your gameplay depends on your partner's actions, so it's not that fun having to just wait for the partner to complete some sub-level in an obscured area where you cannot see their progress - and this is exactly what this plugin is to address, i.e. by enabling you to observe their actions first-person. While peeking, you retain the ability to move, you can switch targets using mouse buttons (+attack/+attack2) and you can see the current target displayed at the bottom half of the screen. It follows standard interpolation settings, and to reduce latency, set low interp values. You can take a look at the video to get idea of the plugin: https://www.youtube.com/watch?v=ZoUhiFdZ-2g At the moment, there may be a problem with the sounds while peeking. Plugin was tested only in CS:S but the concept should work in any other game (may need to update offsets). Installation Simply place quickpeek.smx and quickpeek.games.txt in addons/sourcemod/plugins and addons/sourcemod/gamedata folders respectively. It is recommended to set high network rates (especially sv_minupdaterate and sv_maxupdaterate cvars) to improve usability of the plugin. Usage There are two in-game console commands differing in just their usage: qpeek - toggle peeking, i.e. you'd stop peeking once you press the corresponding button once more; +qpeek - start peeking, i.e. the peeking would stop as soon as you release the corresponding button. It is recommended to bind one of them. Also, there is additional qpeek angles sub-command to turn on/off turning your player. It is disabled by default. Technical Details This plugin uses replay system that allows you to literally take place of any player by receiving the same frames that were generated for them. There is sv_maxreplay cvar which determines the number of seconds the engine keeps for replaying. Since the idea of the plugin is real-time spectating, the plugin, with some excess, sets this cvar to 1.0 and forces to send only the most recent frames. But in order to drastically change the flow of frames later, need to fully update game information on the client. And it needs to send a lot of packets quickly. Setting high updaterate will help you to increase speed of this. Also, we can't send a request for a full update too often, until the current update is completed. The plugin has an internal mechanism that takes into account ping to cope with it. I believe there are better options to find out whenther the client is fully updated or not, but this one is enough Attached Files Get Plugin or Get Source (quickpeek.sp - 14.6 KB) quickpeek.games.txt (1.1 KB) Wyświetl pełny artykuł
  12. A player creates a code for himself. If a player uses this code, both earn credits. As the player using the code plays on the server, the owner and the person using the code will earn credit per hour. By opening the reference system menu, the accumulated credits are withdrawn. The image is in Turkish. The plugin has been translated but needs minor adjustments. Cmdssm_usecode <code> sm_createcode <code> sm_topref sm_refinfo sm_ref or sm_ref <code> || see the statistics of the referral code cfg/Plugincim_com/Referral_System.cfg is will auto creating. Cvars"ref_kod_kullanana", "1", "Give credit to the player who used the code? 0 == OFF" "ref_kodu_kullanana_saatlik", "1", "How many credits per hour should be given to the player using the referral code? 0 == OFF" "ref_kodu_kullanilana", "2", "How many credits should be given to the player whose code is used? 0 == OFF" "ref_kodu_kullanana", "2", "How many credits per hour should be given to the player whose referral code is used? 0 == OFF" "ref_bilgi_mesaji", "300.0", "In how many seconds should an information message be sent about the reference?" Attached Files Referral_System.smx (10.8 KB) Get Plugin or Get Source (Referral_System.sp - 27.3 KB) Wyświetl pełny artykuł
  13. Description This plugin will override your name to steam community name Cvars steam_api_key - mandatory for using the steam api - https://steamcommunity.com/dev/apikey InstallCompile on AMXX 1.9 and later Drag steam_community_name.sma to amxmodx/scripting folder Drag steam_community_name.amxx to amxmodx/plugins folder Type steam_community_name.amxx in amxmodx/configs/plugins.ini file Type steam_api_key "<API_KEY>" in amxmodx/configs/amxx.cfg file Credits ConnorMcLeod - block name change VEN - dead name change swank - obtain steam64 from steamid Shadows Adi - only standard ascii characters in name (detailed credits inside script file) Beware This plugin will collide with other plugins that may change player's name and the functionality and output may not be as expected. Additional information Due to the rules of json formatting, using certain characters in a name is not possible as it would cause the json limitations to be exceeded, therefore they are replaced with random numbers. If the json name is left blank, it will automatically be assigned 8 random digits(not sure how). The removal of the characters [ and ] was a main reason for this to function seamlessly, as there was no other way around. Attached Files Get Plugin or Get Source (steam_community_name.sma - 3.7 KB) Przeczytaj cały wpis
  14. Not sure if this is the right forum, or even the right website. I want to bring back nostalgic 2000's CSS gamemodes for a new generation of players in CSGO. I'm starting with Jailbreak. I will pay someone to program unique plugins for my server, and I'll need an explanation of how they operate as well. Send me a private message and we will discuss payment and I'll tell you what I need. Payment will be conducted via Crypto or Paypal at your request. Przeczytaj cały wpis
  15. MYGO.pl

    RSSBuy plugins

    Hi, I would like to buy plugins from someone who is making funny plugins for cs:go. Please DM me if You have any experience and You know how it works. Have a nice day <3 Wyświetl pełny artykuł
×
×
  • Dodaj nową pozycję...