Jump to content
assignment_ind Existing user? Sign In

Sign In



person_add Sign Up
Go-Code.pl - Support SourceMod i Pluginy CS:GO

RevDev

Użytkownik
  • Content Count

    10
  • Joined

  • Last visited

Community Reputation

0 Nowy

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. #pragma semicolon 1 #include <sourcemod> #include <cstrike> #include <sdktools> #include <sdkhooks> #include <multicolors> #pragma newdecls required public Plugin myinfo = { name = "Bonus za nick", author = "XXX", description = "Dodaje graczą dodatkowy hajs za dodanie w nicku", version = "1.0.1" }; ConVar g_CvarRewardNick, gg_OdGodziny, gg_DoGodziny, gg_VipActive, g_CvarMatchCase; int DarmowyVip = 0; public void OnPluginStart() { HookEvent("round_start", Event_RoundStart); g_CvarRewardNick = CreateConVar("sm_reward", "Google.pl", "Fraza za ktora dostaje sie nagrody"); g_CvarMatchCase = CreateConVar("sm_reward_match", "0", ""); gg_VipActive = CreateConVar("sm_reward_vip_active", "1", "Czy Vip w nocy ma być aktywny?"); gg_OdGodziny = CreateConVar("sm_reward_vip_odgodziny", "24", "Od ktorej godziny ma dawac vipa?"); gg_DoGodziny = CreateConVar("sm_reward_vip_dogodziny", "6", "Do ktorej godziny ma dawac vipa?"); } public void OnClientAuthorized(int client) { if(IsValidClient(client)) { char name[MAX_NAME_LENGTH], advert[MAX_NAME_LENGTH]; GetClientName(client, name, sizeof(name)); g_CvarRewardNick.GetString(advert, MAX_NAME_LENGTH); if (StrContains(name, advert, GetConVarBool(g_CvarMatchCase)) == -1) { return; } if(DarmowyVip) { AddUserFlags(client, Admin_Reservation); } else { RemoveUserFlags(client, Admin_Reservation); } } } bool IsValidClient(int client) { return 0 < client <= MaxClients && IsClientInGame(client); } public Action Event_RoundStart(Event hEvent, const char[] chName, bool bDontBroadcast) { int client = GetClientOfUserId(hEvent.GetInt("userid")); char name[MAX_NAME_LENGTH], advert[MAX_NAME_LENGTH]; GetClientName(client, name, sizeof(name)); g_CvarRewardNick.GetString(advert, MAX_NAME_LENGTH); if (StrContains(name, advert, GetConVarBool(g_CvarMatchCase)) == -1) { return; } if (GetConVarBool(gg_VipActive)) { int gg_od_godziny = GetConVarInt(gg_OdGodziny); int gg_do_godziny = GetConVarInt(gg_DoGodziny); if(gg_od_godziny || gg_do_godziny) { char godzina_str[8]; FormatTime(godzina_str, sizeof(godzina_str), "%H", GetTime()); int godzina = StringToInt(godzina_str); if(gg_od_godziny > gg_do_godziny) DarmowyVip = (godzina >= gg_od_godziny || godzina < gg_do_godziny)? 1: 0; else DarmowyVip = (godzina >= gg_od_godziny && godzina < gg_do_godziny)? 1: 0; } else DarmowyVip = 0; } }
  2. Usunąłem INC od deathrunu i dodałem tylko 1 nativa do pluginu, a grawitacja dalej nie działa #include <cstrike> #include <clientprefs> #include <sdkhooks> #include <sdktools> #include <shavit> #pragma semicolon 1 #pragma newdecls required #define MOD_TAG "\x01\x0B★ \x07[ADEPT -> DR VIP]\x04 " bool Used[MAXPLAYERS + 1]; ConVar g_cvVipFlag; ConVar g_hpstart, g_gravity; public Plugin myinfo = { name = "ADEPT --> Deathrun VIP", description = "Autorski Plugin StudioADEPT.net", author = "Brum Brum", version = "1.0", url = "http://www.StudioADEPT.net/forum", }; native bool dr_IsPlayerTerrorist(int client); stock bool IsPlayerVIP(int client) { char flag[10]; g_cvVipFlag.GetString(flag, sizeof(flag)); if (GetUserFlagBits(client) & ReadFlagString(flag) || GetAdminFlag(GetUserAdmin(client), Admin_Root)) return true; return false; } public void OnPluginStart() { RegConsoleCmd("sm_respawn", CMD_Respawn); HookEvent("round_start", Event_RoundStart); HookEvent("player_spawn", Event_PlayerSpawn); g_cvVipFlag = CreateConVar("vipdr_flag", "a", "Flaga dla gracza VIP, pozostaw puste by każdy miał Vipa."); g_hpstart = CreateConVar("vipdr_hpstart", "20", "Ile VIP ma dostawac hp na start"); g_gravity = CreateConVar("vipdr_gravity", "0.9", "Ile ma miec mniejsza grawitacje? 1.0 NORMAL 0.5 POLOWA"); AutoExecConfig(true, "vip_deathrun"); } public void Shavit_OnLeaveZone(int client, int type, int track, int id, int entity) { SetEntityGravity(client, g_gravity.FloatValue); } public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast) { for (int i = 1; i < MaxClients; i++) { if (IsValidClient(i)) { Used[i] = false; } } } public Action Event_PlayerSpawn(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); int HP = GetEntProp(client, Prop_Send, "m_iHealth"); if (IsPlayerVIP(client) && !dr_IsPlayerTerrorist(client)) { SetEntityHealth(client, HP+g_hpstart.IntValue); // SetEntityGravity(client, g_gravity.FloatValue); } } public Action CMD_Respawn(int client, int args) { if (IsPlayerVIP(client)) { if (!IsPlayerAlive(client)) { if (!Used[client]) { CS_RespawnPlayer(client); Used[client] = true; } else PrintToChat(client, "%s Użyłeś już jednego respawnu na rudnę!", MOD_TAG); } else PrintToChat(client, "%s Musisz być martwy aby się zrespić!", MOD_TAG); } else PrintToChat(client, "%s Musisz mieć VIP`a aby się zrespić", MOD_TAG); } public void OnClientPostAdminCheck(int client) { if (IsPlayerVIP(client)) { SetHudTextParams(-1.0, 0.125, 5.0, 0, 255, 0, 255, 0, 0.25, 1.5, 0.5); for (int i = 1; i <= MaxClients; i++) { if (IsValidClient(i)) { ShowHudText(i, -1, "Właśnie na serwer wchodzi\nVIP %N", client); } } } }
  3. Tylko nie mam w pluginie funkcji IsValidClient, wysłałem cały kod na samej górze
  4. Nie chce się skompilować, a pobrałem shativ.inc z tego githuba co mi dałeś
  5. Nie wiem, nie potrafię kompletnie tego rozwiązać. #include "include/shavit.inc" GlobalForward g_gravityForward; g_gravityForward = new GlobalForward("Shavit_OnLeaveZone", ET_Event, Param_Cell, Param_Cell, Param_String, Param_Cell); public Action OnPlayerExitZone(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); Call_StartForward(g_gravityForward); return SetEntityGravity(client, g_gravity.FloatValue); }
  6. Gdzie szukać tego forwarda? native bool dr_GetPlayerBuySomething(int client); To będzie to ?
  7. Z tych 3 problemów rozwiązany został 1 hp na start. Grawitacja i doublejump dalej nie działa #include <deathrun> #include <sourcemod> #include <cstrike> #include <clientprefs> #include <sdkhooks> #include <sdktools> #pragma semicolon 1 #pragma newdecls required #define MOD_TAG "\x01\x0B★ \x07[ADEPT -> DR VIP]\x04 " bool Used[MAXPLAYERS + 1]; ConVar g_cvVipFlag; ConVar g_hpstart, g_djump, g_gravity; int g_fLastButtons[MAXPLAYERS+1]; int g_fLastFlags[MAXPLAYERS+1]; int g_iJumps[MAXPLAYERS+1]; public Plugin myinfo = { name = "ADEPT --> Deathrun VIP", description = "Autorski Plugin StudioADEPT.net", author = "Brum Brum", version = "1.0", url = "http://www.StudioADEPT.net/forum", }; stock bool IsPlayerVIP(int client) { char flag[10]; g_cvVipFlag.GetString(flag, sizeof(flag)); if (GetUserFlagBits(client) & ReadFlagString(flag) || GetAdminFlag(GetUserAdmin(client), Admin_Root)) return true; return false; } public void OnPluginStart() { RegConsoleCmd("sm_respawn", CMD_Respawn); HookEvent("round_start", Event_RoundStart); HookEvent("player_spawn", Event_PlayerSpawn); g_cvVipFlag = CreateConVar("vipdr_flag", "a", "Flaga dla gracza VIP, pozostaw puste by każdy miał Vipa."); g_hpstart = CreateConVar("vipdr_hpstart", "20", "Ile VIP ma dostawac hp na start"); g_djump = CreateConVar("vipdr_jump", "1", "Czy włączyć vipowi DoubleJump?"); g_gravity = CreateConVar("vipdr_gravity", "0.9", "Ile ma miec mniejsza grawitacje? 1.0 NORMAL 0.5 POLOWA"); AutoExecConfig(true, "vip_deathrun"); } public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast) { for (int i = 1; i < MaxClients; i++) { if (IsValidClient(i)) { Used[i] = false; } } } public Action Event_PlayerSpawn(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); int HP = GetEntProp(client, Prop_Send, "m_iHealth"); if (IsPlayerVIP(client) && !dr_IsPlayerTerrorist(client)) { SetEntityHealth(client, HP+g_hpstart.IntValue); SetEntityGravity(client, g_gravity.FloatValue); } } public Action CMD_Respawn(int client, int args) { if (IsPlayerVIP(client)) { if (!IsPlayerAlive(client)) { if (!Used[client]) { CS_RespawnPlayer(client); Used[client] = true; } else PrintToChat(client, "%s Użyłeś już jednego respawnu na rudnę!", MOD_TAG); } else PrintToChat(client, "%s Musisz być martwy aby się zrespić!", MOD_TAG); } else PrintToChat(client, "%s Musisz mieć VIP`a aby się zrespić", MOD_TAG); } public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon) { if(IsPlayerVIP(client) && g_djump.BoolValue) { int fCurFlags = GetEntityFlags(client); int fCurButtons = GetClientButtons(client); if (g_fLastFlags[client] & FL_ONGROUND) { if (!(fCurFlags & FL_ONGROUND) &&!(g_fLastButtons[client] & IN_JUMP) && fCurButtons & IN_JUMP) { g_iJumps[client]++; } } else if (fCurFlags & FL_ONGROUND) { g_iJumps[client] = 0; } else if (!(g_fLastButtons[client] & IN_JUMP) && fCurButtons & IN_JUMP) { if ( 1 <= g_iJumps[client] <= 2) { g_iJumps[client]++; float vVel[3]; GetEntPropVector(client, Prop_Data, "m_vecVelocity", vVel); vVel[2] = 250.0; TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, vVel); } } g_fLastFlags[client] = fCurFlags; g_fLastButtons[client] = fCurButtons; } } public void OnClientPostAdminCheck(int client) { if (IsPlayerVIP(client)) { SetHudTextParams(-1.0, 0.125, 5.0, 0, 255, 0, 255, 0, 0.25, 1.5, 0.5); for (int i = 1; i <= MaxClients; i++) { if (IsValidClient(i)) { ShowHudText(i, -1, "Właśnie na serwer wchodzi\nVIP %N", client); } } } }
  8. Tak jak w temacie nic nie działa w tym vipie, kompiluje się normalnie #include <deathrun> #include <sourcemod> #include <cstrike> #include <clientprefs> #include <sdkhooks> #include <sdktools> #pragma semicolon 1 #pragma newdecls required #define MOD_TAG "\x01\x0B★ \x07[ADEPT -> DR VIP]\x04 " bool Used[MAXPLAYERS + 1]; ConVar g_cvVipFlag; ConVar g_hpstart, g_djump, g_gravity; int g_fLastButtons[MAXPLAYERS+1]; int g_fLastFlags[MAXPLAYERS+1]; int g_iJumps[MAXPLAYERS+1]; public Plugin myinfo = { name = "ADEPT --> Deathrun VIP", description = "Autorski Plugin StudioADEPT.net", author = "Brum Brum", version = "1.0", url = "http://www.StudioADEPT.net/forum", }; stock bool IsPlayerVIP(int client) { char flag[10]; g_cvVipFlag.GetString(flag, sizeof(flag)); if (GetUserFlagBits(client) & ReadFlagString(flag) || GetAdminFlag(GetUserAdmin(client), Admin_Root)) return true; return false; } public void OnPluginStart() { RegConsoleCmd("sm_respawn", CMD_Respawn); HookEvent("round_start", Event_RoundStart); HookEvent("player_spawn", Event_PlayerSpawn); g_cvVipFlag = CreateConVar("vipdr_flag", "a", "Flaga dla gracza VIP, pozostaw puste by każdy miał Vipa."); g_hpstart = CreateConVar("vipdr_hpstart", "20", "Ile VIP ma dostawac hp na start"); g_djump = CreateConVar("vipdr_jump", "1", "Czy włączyć vipowi DoubleJump?"); g_gravity = CreateConVar("vipdr_gravity", "0.9", "Ile ma miec mniejsza grawitacje? 1.0 NORMAL 0.5 POLOWA"); AutoExecConfig(true, "vip_deathrun"); } public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast) { for (int i = 1; i < MaxClients; i++) { if (IsValidClient(i)) { Used[i] = false; } } } public Action Event_PlayerSpawn(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); int HP = GetEntProp(client, Prop_Send, "m_iHealth"); if (IsPlayerVIP(client) && !dr_IsPlayerTerrorist(client)) { if (HP == 100) SetEntityHealth(client, HP+g_hpstart); SetEntityGravity(client, g_gravity); } } public Action CMD_Respawn(int client, int args) { if (IsPlayerVIP(client)) { if (!IsPlayerAlive(client)) { if (!Used[client]) { CS_RespawnPlayer(client); Used[client] = true; } else PrintToChat(client, "%s Użyłeś już jednego respawnu na rudnę!", MOD_TAG); } else PrintToChat(client, "%s Musisz być martwy aby się zrespić!", MOD_TAG); } else PrintToChat(client, "%s Musisz mieć VIP`a aby się zrespić", MOD_TAG); } public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon) { if(IsPlayerVIP(client) && g_djump == 1) { int fCurFlags = GetEntityFlags(client); int fCurButtons = GetClientButtons(client); if (g_fLastFlags[client] & FL_ONGROUND) { if (!(fCurFlags & FL_ONGROUND) &&!(g_fLastButtons[client] & IN_JUMP) && fCurButtons & IN_JUMP) { g_iJumps[client]++; } } else if (fCurFlags & FL_ONGROUND) { g_iJumps[client] = 0; } else if (!(g_fLastButtons[client] & IN_JUMP) && fCurButtons & IN_JUMP) { if ( 1 <= g_iJumps[client] <= 2) { g_iJumps[client]++; float vVel[3]; GetEntPropVector(client, Prop_Data, "m_vecVelocity", vVel); vVel[2] = 250.0; TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, vVel); } } g_fLastFlags[client] = fCurFlags; g_fLastButtons[client] = fCurButtons; } } public void OnClientPostAdminCheck(int client) { if (IsPlayerVIP(client)) { SetHudTextParams(-1.0, 0.125, 5.0, 0, 255, 0, 255, 0, 0.25, 1.5, 0.5); for (int i = 1; i <= MaxClients; i++) { if (IsValidClient(i)) { ShowHudText(i, -1, "Właśnie na serwer wchodzi\nVIP %N", client); } } } }

O NAS Jesteśmy społecznością łączącą ludzi, którzy dzielą pasję poznawania CS:GO od strony programistycznej. Posiadamy duże zaplecze merytoryczne i zawsze cieszymy się, gdy dołączają do nas osoby gotowe do nauki. Gwarantujemy, że z odrobiną wytrwałości i otwartym umysłem bardzo szybko napiszesz swój pierwszy plugin. Zapraszamy! 🙂
Szablon wykonany z dużą ilością przez cyberpixelz / Mesharsky / Sitefuture
Forum dumnie napędzane przez: Invision Power Services, Inc.
×
×
  • Create New...