raskolotiy
Участник
- Сообщения
- 70
- Реакции
- 0
Можешь переписать шавит таймер 3.3.2?)
C-подобный:#include <cstrike> public void OnPluginStart() { HookEvent("player_spawn", EventSpawn); } public Action EventSpawn(Event hEvent, const chat sEvent, bool bdb) { int client = GetClientOfUserId(hEvent.GetInt("userid")); if(client && IsClientInGame(client) && !IsFakeClient(client)) { // int ent = GetPlayerWeaponSlot(client, CS_SLOT_PRIMARY; // if(ent != -1) // { // char buff[32]; // GetEntityClassname(ent, buff, sizeof(buff)); // if(!strcmp(buff, "weapon_awp")) // { // CS_DropWeapon(client, ent, true, false); // RemoveEntity(ent); // } // } удалять AWP for(int i = 0; i <= 4 ; i++) { if(GetPlayerWeaponSlot(client, i) != -1) { CS_DropWeapon(client, i, true, false); RemoveEntity(i); //удалять все оружия в инвентаре } } GetItem(knife, client); GetItem(glock, client); } } void GetItem(char[] item, int client) { float pos[3]; char buff[32]; GetClientAbsOrigin(client, pos); Format(buff, sizeof(buff), "weapon_%s", item); int i = CreateEntityByName(buff); if(i < 1) return; DispatchKeyValueVector(i, "origin", pos); DispatchKeyValue(i, "spawnflags", "1"); DispatchSpawn(i); }
Какое оружие?
#include <cstrike>
#include <sdktools_functions>
public void OnPluginStart()
{
HookEvent("player_spawn", EventSpawn);
}
public void EventSpawn(Event event, const char[] name, bool bdb)
{
int client = GetClientOfUserId(event.GetInt("userid"));
if(client && IsClientInGame(client) && !IsFakeClient(client))
{
int ent = GetPlayerWeaponSlot(client, CS_SLOT_PRIMARY);
if(ent != -1)
{
char buff[12];
GetEntityClassname(ent, buff, sizeof(buff));
if(!strcmp(buff[7], "awp"))
{
CS_DropWeapon(client, ent, true, false);
RemoveEntity(ent);
}
}
GetItem(client, "knife");
GetItem(client, "glock");
}
}
stock void GetItem(int client, char[] item)
{
char buff[16];
Format(buff, sizeof(buff), "weapon_%s", item);
int i = CreateEntityByName(buff);
if(i < 1) return;
float pos[3];
GetClientAbsOrigin(client, pos);
DispatchKeyValueVector(i, "origin", pos);
DispatchKeyValue(i, "spawnflags", "1");
DispatchSpawn(i);
}
Ну если твой вариант,то ошибки при компиляции.@-=|УЧЕНИК|=-, закомментируй строки 23 - 30, а строки 12 - 22 - раскомментируй (и закомментируй сообщение "удалять AWP" на строке 22).
Будет удалять авп.
Должно выйти вот примерно так:C-подобный:#include <cstrike> public void OnPluginStart() { HookEvent("player_spawn", EventSpawn); } public void EventSpawn(Event event, const char name, bool bdb) { int client = GetClientOfUserId(event.GetInt("userid")); if(client && IsClientInGame(client) && !IsFakeClient(client)) { int ent = GetPlayerWeaponSlot(client, CS_SLOT_PRIMARY); if(ent != -1) { char buff[12]; GetEntityClassname(ent, buff, sizeof(buff)); if(!strcmp(buff[7], "awp")) { CS_DropWeapon(client, ent, true, false); RemoveEntity(ent); } } GetItem(client, "knife"); GetItem(client, "glock"); } } stock void GetItem(int client, char[] item) { char buff[16]; Format(buff, sizeof(buff), "weapon_%s", item); int i = CreateEntityByName(buff); if(i < 1) return; float pos[3]; GetClientAbsOrigin(client, pos); DispatchKeyValueVector(i, "origin", pos); DispatchKeyValue(i, "spawnflags", "1"); DispatchSpawn(i); }
Потому что нужно в самом начале тулс библиотеку подключить:Ну если твой вариант,то ошибки при компиляции.
Версия 34 если что,сразу не указал.
AWP_DELET.sp
C:\Users\plugins\Desktop\AWP_DELET.sp(6) : error 100: function prototypes do not match
C:\Users\plugins\Desktop\AWP_DELET.sp(14) : error 017: undefined symbol "GetPlayerWeaponSlot"
C:\Users\plugins\Desktop\AWP_DELET.sp(34) : error 017: undefined symbol "CreateEntityByName"
C:\Users\plugins\Desktop\AWP_DELET.sp(39) : error 017: undefined symbol "DispatchKeyValueVector"
C:\Users\plugins\Desktop\AWP_DELET.sp(40) : error 017: undefined symbol "DispatchKeyValue"
C:\Users\plugins\Desktop\AWP_DELET.sp(41) : error 017: undefined symbol "DispatchSpawn"
А если допустим сделать так,взял пример из другова плагина,то все работает и компилится.
Как будет правильно конечно не знаю)
#include <sdktools>
Это я делал сразу,когда появились ошибки.Потому что нужно в самом начале тулс библиотеку подключить:
C-подобный:#include <sdktools>
Ты сразу сюды кидай ошибки, на месте решим. Толку говорить, что ошибки есть и не предоставлять их?Это я делал сразу,когда появились ошибки.
Ну с ним потом была одна ошибка,которая относится к
HookEvent("player_spawn", EventSpawn);
Если так делать с@-=|УЧЕНИК|=-, закомментируй строки 23 - 30, а строки 12 - 22 - раскомментируй (и закомментируй сообщение "удалять AWP" на строке 22).
Будет удалять авп.
Должно выйти вот примерно так:C-подобный:#include <cstrike> public void OnPluginStart() { HookEvent("player_spawn", EventSpawn); } public void EventSpawn(Event event, const char name, bool bdb) { int client = GetClientOfUserId(event.GetInt("userid")); if(client && IsClientInGame(client) && !IsFakeClient(client)) { int ent = GetPlayerWeaponSlot(client, CS_SLOT_PRIMARY); if(ent != -1) { char buff[12]; GetEntityClassname(ent, buff, sizeof(buff)); if(!strcmp(buff[7], "awp")) { CS_DropWeapon(client, ent, true, false); RemoveEntity(ent); } } GetItem(client, "knife"); GetItem(client, "glock"); } } stock void GetItem(int client, char[] item) { char buff[16]; Format(buff, sizeof(buff), "weapon_%s", item); int i = CreateEntityByName(buff); if(i < 1) return; float pos[3]; GetClientAbsOrigin(client, pos); DispatchKeyValueVector(i, "origin", pos); DispatchKeyValue(i, "spawnflags", "1"); DispatchSpawn(i); }
public void EventSpawn(Event event, const char[] name, bool bdb)Если так делать с
#include <sdktools>
То ошибка одна при компиляции
AWP_DELET.sp
C:\Users\plugins\Desktop\AWP_DELET.sp(7) : error 100: function prototypes do not match
Из за одних скобок шибка)public void EventSpawn(Event event, const char[] name, bool bdb)
После функции RemoveEntity можешьИз за одних скобок шибка)
Да все работает нормально.
Подскажи еще пожалуйста как добавить,точнее куда,чтоб писалось в чат что авп удалено.
PrintToChat(client, "AWP БЫЛО УДАЛЕНО,ТАК-КАК ОГРАНИЧЕНО");
исправил код в том комментеошибки при компиляции.
Тип тогонужен простой плагин, который будет повышать урон одной из команд
#include <sdkhooks>
#define DAMAGE 1000.0
#define TEAM 3 // 3-КТ | 2-Т
public void OnClientPostAdminCheck(int client)
{
SDKHook(client, SDKHook_OnTakeDamage, HOOKCB);
}
public Action HOOKCB(int victim, int& attacker, int& inflictor, float& damage, int& damagetype)
{
if(IsPlayerAlive(attacker) && GetClientTeam(attacker) == TEAM && attacker)
{
damage = DAMAGE;
return Plugin_Changed;
}
return Plugin_Continue;
}
#include <sdkhooks>
#define DAMAGE 1000.0
enum {
UNCONNECTED = 0,
SPEC,
T,
CT
}
public void OnClientPostAdminCheck(int client)
{
SDKHook(client, SDKHook_OnTakeDamage, HOOKCB);
}
public Action HOOKCB(int victim, int& attacker, int& inflictor, float& damage, int& damagetype)
{
if(IsPlayerAlive(attacker) && GetClientTeam(attacker) == CT && attacker)
{
damage = DAMAGE;
return Plugin_Changed;
}
return Plugin_Continue;
}
первый проверил - работаетТип тогоC++:#include <sdkhooks> #define DAMAGE 1000.0 #define TEAM 3 // 3-КТ | 2-Т public void OnClientPostAdminCheck(int client) { SDKHook(client, SDKHook_OnTakeDamage, HOOKCB); } public Action HOOKCB(int victim, int& attacker, int& inflictor, float& damage, int& damagetype) { if(IsPlayerAlive(attacker) && GetClientTeam(attacker) == TEAM && attacker) { damage = DAMAGE; return Plugin_Changed; } return Plugin_Continue; }
C-подобный:#include <sdkhooks> #define DAMAGE 1000.0 enum { UNCONNECTED = 0, SPEC, T, CT } public void OnClientPostAdminCheck(int client) { SDKHook(client, SDKHook_OnTakeDamage, HOOKCB); } public Action HOOKCB(int victim, int& attacker, int& inflictor, float& damage, int& damagetype) { if(IsPlayerAlive(attacker) && GetClientTeam(attacker) == CT && attacker) { damage = DAMAGE; return Plugin_Changed; } return Plugin_Continue; }
Забить на него(ошибку)Привет всем!
Как то давненько мне переделывали плагин,щас решил глянуть его.
Вроде работает все нормально.
Изначально крашило сервер,сервер даже не запускался.
Добавил: PrecacheModel("models/error.mdl",true);
В краш перестал уходить.
Ну проблема щас другая.
В консоль хостинга очень сильно спамит.
Подскажите что нужно добавить,чтоб не было этого спама в консоле?
Версия игры 34.
Заранее благодарю.
Setting CBaseEntity to non-brush model models/error.mdl
Setting CBaseEntity to non-brush model models/error.mdl
Setting CBaseEntity to non-brush model models/error.mdl
Setting CBaseEntity to non-brush model models/error.mdl
Setting CBaseEntity to non-brush model models/error.mdl
Setting CBaseEntity to non-brush model models/error.mdl
Setting CBaseEntity to non-brush model models/error.mdl
Setting CBaseEntity to non-brush model models/error.mdl
Setting CBaseEntity to non-brush model models/error.mdl
Setting CBaseEntity to non-brush model models/error.mdl
На плагин или ошибку)Забить на него
Забить можно,если бы она была редко)Забить на него(ошибку)
public void OnPluginStart()
{
HookEvent("bomb_dropped", Event_BombDropped, EventHookMode_Pre);
}
public Action Event_BombDropped(Event event, const char[] name, bool dontBroadcast)
{
return Plugin_Handled;
}