Написание плагинов

Reg1oxeN

Участник
Сообщения
399
Реакции
314
@Анатолий)))))))), так должно стать лучше
C-подобный:
stock Action:InitRespawn(client, ragdoll) {
    if(!IsPlayerAlive(client)) return Plugin_Handled;
    new deathplayer = GetClientIndexByRagdoll(ragdoll);
    if(deathplayer > 0 && IsClientInGame(deathplayer) && !IsPlayerAlive(deathplayer) && GetClientTeam(client) == GetClientTeam(deathplayer)) {
        new Float:ragpos[3], deaths=GetEntProp(deathplayer, Prop_Data, "m_iDeaths"), String:fex[128];
        GetEntPropVector(ragdoll, Prop_Send, "m_vecOrigin", ragpos);
        BreakRespawning(client);
        CS_RespawnPlayer(deathplayer);
        TeleportEntity(deathplayer, ragpos, NULL_VECTOR, NULL_VECTOR);
        RemoveEdict(ragdoll);
        PlayerRagdoll[deathplayer]=-1;
        if(deaths > 0) SetEntProp(deathplayer, Prop_Data, "m_iDeaths", deaths-1);
        SetEntProp(client, Prop_Data, "m_iFrags", GetEntProp(client, Prop_Data, "m_iFrags")+1);
        PrintToChat(client, "\x07FFFFFF✔\x07800000B\x078A2BE2rats\x07800000Κ\x07FFFFFF✔  \x07FBCEB1Вы подняли \x07E32636%N \x07FBCEB1 и получили фраг за это", deathplayer);
        GetConVarString(cv_soundpath, fex, sizeof(fex));
        EmitAmbientSound(fex, ragpos);
        SetEntityHealth(client, GetClientHealth(client)-GetConVarInt(cv_healthpay));
        CalculateRagdolls();
        if(GetConVarInt(cv_noblock_time) > 0) {
            TimeNoCollision[deathplayer]=GetConVarInt(cv_noblock_time);
            SetClientCollision(deathplayer, true);
        }
    }
    return Plugin_Handled;
}
 

MePro69

Участник
Сообщения
28
Реакции
1
плагин,что б каждый раунд обнулялось все оружие,кроме ножа и хилшота из вип
 

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
Кто сможет переписать на новый синтаксис и убрать иммунитет от банов у всех админов (полностью убрать иммунитет)?:)
Ну и пофиксить баги, если имеются:)
 

Вложения

  • MatchBan.sp
    12.7 КБ · Просмотры: 16

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
пофиксить баги, если имеются
сначала плагин нужно тестить, чтобы выловить баги
--- Добавлено позже ---
переписать на новый синтаксис
а есть инклюды соурсбана под новый синтаксис?
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Kruzya, дык, ему же нужно переписать под новый синтаксис
 

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
@Kruzya, дык, ему же нужно переписать под новый синтаксис
Да:)
@Grey83,
Юзаю материал сб от крузи, но там не было инклуда, юзаю не новую (materialadmin), а старую версию сервер-плагинов, но там не было инклюда. Наверно подойдет дефолтный от сб++, хз.
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Да:)
@Grey83,
Юзаю материал сб от крузи, но там не было инклуда, юзаю не новую (materialadmin), а старую версию сервер-плагинов, но там не было инклюда. Наверно подойдет дефолтный от сб++, хз.
TOGs SourcePawn Syntax Converter [MS Excel Based for now] - AlliedModders
А в чом смысл перерисывать
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
сначала плагин нужно тестить, чтобы выловить баги
Потестил ту версию, которую приложил

L 07/19/2017 - 20:34:30: SourceMod error session started
L 07/19/2017 - 20:34:30: Info (map "de_inferno") (file "errors_20170719.log")
L 07/19/2017 - 20:34:30: [SM] Exception reported: Client index 6 is invalid
L 07/19/2017 - 20:34:30: [SM] Blaming: MatchBan.smx
L 07/19/2017 - 20:34:30: [SM] Call stack trace:
L 07/19/2017 - 20:34:30: [SM] [0] Format
L 07/19/2017 - 20:34:30: [SM] [1] Line 356, C:\Sourcemod\TnTSCS\scripting\MatchBan.sp::MB_BanPlayer
L 07/19/2017 - 20:34:30: [SM] [2] Line 266, C:\Sourcemod\TnTSCS\scripting\MatchBan.sp::PlayerDisconnect_Event
L 07/19/2017 - 20:49:12: [SM] Exception reported: Client index 7 is invalid
L 07/19/2017 - 20:49:12: [SM] Blaming: MatchBan.smx
L 07/19/2017 - 20:49:12: [SM] Call stack trace:
L 07/19/2017 - 20:49:12: [SM] [0] Format
L 07/19/2017 - 20:49:12: [SM] [1] Line 356, C:\Sourcemod\TnTSCS\scripting\MatchBan.sp::MB_BanPlayer
L 07/19/2017 - 20:49:12: [SM] [2] Line 266, C:\Sourcemod\TnTSCS\scripting\MatchBan.sp::PlayerDisconnect_Event
L 07/19/2017 - 20:57:32: [SM] Exception reported: Client index 10 is invalid
L 07/19/2017 - 20:57:32: [SM] Blaming: MatchBan.smx
L 07/19/2017 - 20:57:32: [SM] Call stack trace:
L 07/19/2017 - 20:57:32: [SM] [0] Format
L 07/19/2017 - 20:57:32: [SM] [1] Line 356, C:\Sourcemod\TnTSCS\scripting\MatchBan.sp::MB_BanPlayer
L 07/19/2017 - 20:57:32: [SM] [2] Line 266, C:\Sourcemod\TnTSCS\scripting\MatchBan.sp::PlayerDisconnect_Event
L 07/19/2017 - 21:26:22: Error log file session closed.
 

makentosh

Участник
Сообщения
109
Реакции
6
Кто может написать плагин или скинуть для воскрешения игроков на кнопку E все игрокам своей команди!
 

makentosh

Участник
Сообщения
109
Реакции
6
Не тот плагин он оживляет сам игроков мне нужно чтоб игроки могли оживлять своих из команди кнопкой E я не помню где то такой плагин стоял но он класний был!
 

CAH4E3

Сосанчез.
Сообщения
1,597
Реакции
779

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
Кто сможет переписать на новый синтаксис и убрать иммунитет от банов у всех админов (полностью убрать иммунитет)?:)
Ну и пофиксить баги, если имеются:)
Ну так что, нет варианта "оживить" плагин, чтобы он компилился на свежем см?:)
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Иванчо Бальбовски, от этой ошибки можно избавиться выключив дебаг кваром sm_matchban_debug (поставить дефолтное значение равное нулю)
 

GGWP

Участник
Сообщения
7
Реакции
0
Кто сможет переписать этот плагин из EventsScripts на SourceMod. CSS V34
Суть плагина: Спецназовец пишет в чат "!escape", после чего начинает быстрее бежать (5 секунд, а лучше вывести в cvar) и сбрасывает все оружие (оружие просто пропадает). При активации команды в чат воспроизводится аудио (вводить путь к аудио тоже желательно через cvar). Буду очень благодарен за такой плагин.

C-подобный:
//TechZone - !Panic
//Visit MyTechZone.de

block load
{
    es_xmsg #multi "#lightgreen[#green!Panic#lightgreen]#green has been loaded!"


    //Config
    //--------------------------------------------
   
    //First weapon to give after !panic
    es_xset p_primaryweapon "weapon_glock"
   
    //Second weapon to give after !panic
    es_xset p_secondaryweapon "none"
   
    //Time how long !panic goes
    es_xset panic_time 4

    //Speed of the panicked player. The normal speed is 1!
    es_xset panic_speed 3

    //Sound to play
    es_xset panic_sound "bot/help.wav"
   
    //--------------------------------------------
}

block unload
{
    es_xmsg #multi "#lightgreen[#green!Panic#lightgreen]#green has been unloaded!"
}

event player_say
{
    if (event_var(text) == "!panic") do
    {
        if (event_var(es_userteam) == 3) do
        {
            es_msg #multi #default[ #green!Panic #default] #lightgreenPlayer event_var(es_username) panicked!
            es_centermsg Player event_var(es_username) panicked!
           
            es playerset speed event_var(userid) server_var(panic_speed)
            es_give event_var(userid) player_weaponstrip
            es_fire event_var(userid) player_weaponstrip strip
            es_give event_var(userid) weapon_knife
            es playerset color event_var(userid) 255 0 0 255
            es_playsound event_var(userid) server_var(panic_sound) 1.0
           
           
            es_delayed server_var(panic_time) "es_give event_var(userid) server_var(p_primaryweapon)"
            es_delayed server_var(panic_time) "es_give event_var(userid) server_var(p_secondaryweapon)"
            es_delayed server_var(panic_time) "es playerset speed event_var(userid) 1"
            es_delayed server_var(panic_time) "es playerset color event_var(userid) 255 255 255 255"
        }
       
        else do
        {
        es_tell event_var(userid) #multi #default[ #green!Panic #default] #lightgreenYou can't panic!
        }
    }
}
 
Сверху Снизу