cocojamboPL
-
Postów
5 -
Dołączył
-
Ostatnia wizyta
Odpowiedzi opublikowane przez cocojamboPL
-
-
Daj cfg pluginu i plik z path'em do folderu z muzyką.
-
Witam.
Około 2 tygodnie temu kupiłem serwer na hostingu i postanowiłem stworzyć serwer deathrun.
Niektóre pluginy wzorując się na poradnikach i innych pluginach przerabiałem i spolszczałem.
I nadszedł czas na VIP'a. Jako iż nie mogłem znależć żadnego skryptera, postanowiłem użyć swojego (marnego) doświadczenia.
Chciałem do pluginu VIP by Hanys dodać jeszcze zmniejszenie grawitacji o 40%, ale nie chce tego łyknąć serwer
Podczas kompilacji pluginu dostałem ostrzeżenie:
Vip.sp<90> : warning 213: tag mismatch
Ale tak czy tak plugin skompilował się, ale grawitacja wciąż nie działała.
Kod pliku .sp:
#pragma semicolon 1 #include <sourcemod> #include <sdktools> #include <cstrike> #include <clientprefs> #include <colors> #include <loghelper> public Plugin:myinfo = { name = "VIP Plugin", author = "Hanys", description = "vip plugin", version = "1.2.2", url = "http://hanys.net.pl" }; new Handle:HP; new Handle:Smokegrenade; new Handle:Flashbang; new Handle:Hegrenade; new Handle:Armorvalue; new Handle:Bhashelmet; new Handle:Defuser; new Handle:Moneystart; new Handle:Bombplanted; new Handle:Bombdefused; new Handle:Headshot_money; new Handle:Headshot_hp; new Handle:Kill_money; new Handle:Kill_hp; new Handle:Tagtable; new Handle:Tagsay; new Handle:Double_jump; new Handle:Gravity; public OnPluginStart() { CreateConVar("sm_vip_version", "1.2.2", "VIP Plugin", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD); HP = CreateConVar("sm_hp_start", "110", "Ilosc HP na start rundy", FCVAR_NOTIFY); Smokegrenade = CreateConVar("sm_smokegrenade", "1", "Smoke na start rundy", FCVAR_NONE, true, 0.0, true, 1.0); Flashbang = CreateConVar("sm_flashbang", "1", "Flash na start rundy", FCVAR_NONE, true, 0.0, true, 1.0); Hegrenade = CreateConVar("sm_hegrenade", "1", "Granat na start rundy", FCVAR_NONE, true, 0.0, true, 1.0); Armorvalue = CreateConVar("sm_armorvalue", "1", "Kamizelka na start rundy", FCVAR_NONE, true, 0.0, true, 1.0); Bhashelmet = CreateConVar("sm_bhashelmet", "1", "Kask na start rundy", FCVAR_NONE, true, 0.0, true, 1.0); Defuser = CreateConVar("sm_defuser", "1", "Zestaw do rozbrajania dla CT na start rundy", FCVAR_NONE, true, 0.0, true, 1.0); Moneystart = CreateConVar("sm_money_start", "200", "Ilosc $ na start rundy", FCVAR_NOTIFY); Bombplanted = CreateConVar("sm_bomb_planted", "200", "Ilosc $ za podlozenie bomby", FCVAR_NOTIFY); Bombdefused = CreateConVar("sm_bomb_defused", "200", "Ilosc $ za rozbrojenie bomby", FCVAR_NOTIFY); Headshot_money = CreateConVar("sm_headshot_money", "150", "Ilosc $ za Headshot", FCVAR_NOTIFY); Headshot_hp = CreateConVar("sm_headshot_hp", "0", "Ilosc HP za Headshot", FCVAR_NOTIFY); Kill_money = CreateConVar("sm_kill_money", "100", "Ilosc $ za fraga", FCVAR_NOTIFY); Kill_hp = CreateConVar("sm_kill_hp", "0", "Ilosc HP za fraga", FCVAR_NOTIFY); Tagtable = CreateConVar("sm_tag_table", "1", "Tag VIP w tabeli wynikow", FCVAR_NONE, true, 0.0, true, 1.0); Tagsay = CreateConVar("sm_tag_say", "1", "Tag VIP + kolorowy nick w say", FCVAR_NONE, true, 0.0, true, 1.0); Double_jump = CreateConVar("sm_double_jump", "1", "Podwojny skok", FCVAR_NONE, true, 0.0, true, 1.0); Gravity = CreateConVar("sm_gravity", "0.6", "Grawitacja", FCVAR_NOTIFY); AutoExecConfig(true, "sm_vip"); RegConsoleCmd("say", Command_SendToAll); RegConsoleCmd("say_team", Command_SendToTeam); HookEvent("player_spawn", Event_OnPlayerSpawn); HookEvent("bomb_planted", Event_BombPlanted); HookEvent("bomb_defused", Event_BombDefused); HookEvent("player_death", Event_PlayerDeath); HookEvent("player_team", Event_TagTable); HookEvent("player_spawn", Event_TagTable); } public Event_OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); new money = GetEntProp(client, Prop_Send, "m_iAccount"); new team = GetClientTeam(client); new g_HP = GetConVarInt(HP); new g_moneystart = GetConVarInt(Moneystart); new g_gravity = GetConVarInt(Gravity); if (client > 0 && IsPlayerAlive(client)) { if (IsPlayerGenericAdmin(client)) { SetEntityHealth(client, g_HP); //hp SetEntityGravity(client, g_gravity); if (GetConVarBool(Smokegrenade)) GivePlayerItem(client, "weapon_smokegrenade"); //smoke if (GetConVarBool(Flashbang)) GivePlayerItem(client, "weapon_flashbang"); //flash if (GetConVarBool(Hegrenade)) GivePlayerItem(client, "weapon_hegrenade"); //grenade SetEntProp(client, Prop_Send, "m_iAccount", money + g_moneystart); // plus $ na start if (GetConVarBool(Armorvalue)) SetEntProp(client, Prop_Send, "m_ArmorValue", 100); //kamizelka if (GetConVarBool(Bhashelmet)) SetEntProp(client, Prop_Send, "m_bHasHelmet", 1); //helm if(team == CS_TEAM_CT) { if (GetConVarBool(Defuser)) GivePlayerItem(client, "item_defuser"); //kombinerki } } } } public Event_BombPlanted(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); new money = GetEntProp(client, Prop_Send, "m_iAccount"); new g_bombplanted = GetConVarInt(Bombplanted); if (IsPlayerGenericAdmin(client)) { SetEntProp(client, Prop_Send, "m_iAccount", money + g_bombplanted);//plus $ for Bomb Planted } } public Event_BombDefused(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); new money = GetEntProp(client, Prop_Send, "m_iAccount"); new g_bombdefused = GetConVarInt(Bombdefused); if (IsPlayerGenericAdmin(client)) { SetEntProp(client, Prop_Send, "m_iAccount", money + g_bombdefused); //plus $ for Bomb Defused } } public Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast) { new attacker = GetClientOfUserId(GetEventInt(event, "attacker")); new money = GetEntProp(attacker, Prop_Send, "m_iAccount"); new health = GetEntProp(attacker, Prop_Send, "m_iHealth"); new g_headshot_money = GetConVarInt(Headshot_money); new g_headshot_hp = GetConVarInt(Headshot_hp); new g_kill_money = GetConVarInt(Kill_money); new g_kill_hp = GetConVarInt(Kill_hp); new bool:headshot = GetEventBool(event, "headshot"); if (IsPlayerGenericAdmin(attacker)) { if(headshot){ SetEntProp(attacker, Prop_Send, "m_iAccount", money + g_headshot_money); //plus for hs SetEntProp(attacker, Prop_Send, "m_iHealth", health + g_headshot_hp); //plus hp for hs }else{ SetEntProp(attacker, Prop_Send, "m_iAccount", money + g_kill_money); //plus for kill SetEntProp(attacker, Prop_Send, "m_iHealth", health + g_kill_hp); //plus hp for kill } } } public Action:Event_TagTable(Handle:event, String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); if (IsPlayerGenericAdmin(client)) { if (GetConVarBool(Tagtable)) CS_SetClientClanTag(client, "[VIP]"); } } public Action:Command_SendToAll(client, args) { if ((IsPlayerGenericAdmin(client)) && GetConVarBool(Tagsay)) { decl String:sTextToAll[1024]; GetCmdArgString(sTextToAll, sizeof(sTextToAll)); StripQuotes(sTextToAll); LogPlayerEvent(client, "say=", sTextToAll); new team = GetClientTeam(client); if(sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!' && sTextToAll[0] > 0) { if(IsPlayerAlive(client) && team == 2 || team == 3) { PrintToChatAll("\x01[\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll); } /* Player isn't alive and have team (no spec) */ else if(!IsPlayerAlive(client) && team == 2 || team == 3) { PrintToChatAll("\x01*NIE ŻYJE* [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll); } /* Player is in spectate */ else if(!IsPlayerAlive(client) && team != 2 && team != 3) { PrintToChatAll("\x01*OBSERWATOR* [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll); } } return Plugin_Handled; } return Plugin_Continue; } public Action:Command_SendToTeam(client, args) { if ((IsPlayerGenericAdmin(client)) && GetConVarBool(Tagsay)) { decl String:sTextToAll[1024]; GetCmdArgString(sTextToAll, sizeof(sTextToAll)); StripQuotes(sTextToAll); LogPlayerEvent(client, "say=", sTextToAll); new team = GetClientTeam(client); if(IsPlayerAlive(client) && team == 2 || team == 3) { for(new i = 1; i <= MaxClients; i++) { if(IsClientInGame(i) && sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!') { new PlayersTeam = GetClientTeam(i); if(PlayersTeam & team && sTextToAll[0] > 0) { if(team == 2) PrintToChat(i, "\x01(Terrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll); else PrintToChat(i, "\x01(Antyterrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll); } } } } /* Player isn't alive and have team (no spec) */ else if(!IsPlayerAlive(client) && team == 2 || team == 3 && sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!') { for(new i = 1; i <= MaxClients; i++) { if(IsClientInGame(i) && !IsPlayerAlive(i)) { new PlayersTeam = GetClientTeam(i); if(PlayersTeam & team && sTextToAll[0] > 0) { if(team == 2) PrintToChat(i, "\x01*NIE ŻYJE*(Terrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll); else PrintToChat(i, "\x01*NIE ŻYJE*(Antyterrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll); } } } } /* Player is in spectate */ else if(!IsPlayerAlive(client) && team != 2 && team != 3 && sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!') { for(new i = 1; i <= MaxClients; i++) { if(IsClientInGame(i) && !IsPlayerAlive(i)) { new PlayersTeam = GetClientTeam(i); if(PlayersTeam & team && sTextToAll[0] > 0) { if(team == 2) PrintToChat(i, "\x01*OBSERWATOR*(Terrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll); else PrintToChat(i, "\x01*OBSERWATOR*(Antyterrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll); } } } } return Plugin_Handled; } return Plugin_Continue; } public Action:OnPlayerRunCmd(iClient, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) { if ((IsPlayerGenericAdmin(iClient)) && IsPlayerAlive(iClient) && GetConVarBool(Double_jump)) { static g_fLastButtons[MAXPLAYERS+1], g_fLastFlags[MAXPLAYERS+1], g_iJumps[MAXPLAYERS+1], fCurFlags, fCurButtons; fCurFlags = GetEntityFlags(iClient); fCurButtons = GetClientButtons(iClient); if (g_fLastFlags[iClient] & FL_ONGROUND && !(fCurFlags & FL_ONGROUND) && !(g_fLastButtons[iClient] & IN_JUMP) && fCurButtons & IN_JUMP) g_iJumps[iClient]++; else if(fCurFlags & FL_ONGROUND) g_iJumps[iClient] = 0; else if(!(g_fLastButtons[iClient] & IN_JUMP) && fCurButtons & IN_JUMP && g_iJumps[iClient] == 1) { g_iJumps[iClient]++; decl Float:vVel[3]; GetEntPropVector(iClient, Prop_Data, "m_vecVelocity", vVel); vVel[2] = 250.0; TeleportEntity(iClient, NULL_VECTOR, NULL_VECTOR, vVel); } g_fLastFlags[iClient] = fCurFlags; g_fLastButtons[iClient] = fCurButtons; } return Plugin_Continue; } /* @param client id return bool */ bool:IsPlayerGenericAdmin(client) { if (!CheckCommandAccess(client, "sm_vip", 0, true)) return false; { return true; } }
Prosiłbym o odpowiedź. Pozdrawiam
-
VIP nie działa. Nie dodaje ani HP ani grawitacji.
Wersja SourceMod: SourceMod 1.7.3-git5301
Wersja MetaMod: Metamod:Source 1.10.6
Plik .sp [SUPER VIP]:
#include <sourcemod> #include <sdktools> #include <cstrike> #include <sdkhooks> public Plugin:myinfo = { name = "VIP Generator", author = "mastah7991", description = "Automatycznie wygenerowany VIP", version = "1.0", url = "www.MyGo.pl" } public OnPluginStart() { HookEvent("player_spawn", Event_PlayerSpawn); } public Action:Event_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast) { int client = GetClientOfUserId(GetEventInt(event, "attacker")); if(IsValidPlayer(client)&&GetUserFlagBits(client)&(1<<ADMFLAG_CUSTOM1)) { SetEntityHealth(client, GetEntProp(client, Prop_Send, "m_iHealth")+150); SetEntityGravity(client, 0.6); } } stock bool IsValidPlayer(client) { if(client >= 1 && client <= MaxClients && IsClientConnected(client) && !IsFakeClient(client) && IsClientInGame(client) ) return true; return false; }
[ULTRA VIP]:
#include <sourcemod> #include <sdktools> #include <cstrike> #include <sdkhooks> public Plugin:myinfo = { name = "VIP Generator", author = "mastah7991", description = "Automatycznie wygenerowany VIP", version = "1.0", url = "www.MyGo.pl" } public OnPluginStart() { HookEvent("player_spawn", Event_PlayerSpawn); } public Action:Event_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast) { int client = GetClientOfUserId(GetEventInt(event, "attacker")); if(IsValidPlayer(client)&&GetUserFlagBits(client)&(1<<ADMFLAG_CUSTOM2)) { SetEntityHealth(client, GetEntProp(client, Prop_Send, "m_iHealth")+175); SetEntityGravity(client, 0.6); GivePlayerItem(client,"weapon_flashbang"); GivePlayerItem(client,"weapon_smokegrenade"); } } stock bool IsValidPlayer(client) { if(client >= 1 && client <= MaxClients && IsClientConnected(client) && !IsFakeClient(client) && IsClientInGame(client) ) return true; return false; }
Tagów nie potrzebuje, bo używam pluginu.
Oba pluginy kompilowałem kompilatorem załączonym do SourceModa.
-
Nie moge skompilować pluginu dostaje taki błąd:
error 010: invalid function or declaration
Czy ktoś może to naprawić i odesłać w tym temacie?
SkinChooser
w Pytania ogólne
Opublikowano
Miałem podobny problem z skinchooser'em kombinowałem całkiem długo ale nic sie nie udało zrobić, więc napisałem prosty plugin, dzięki któremu po wpisaniu !modele wyświetla się proste menu w którym można wybrać model. Napisz na priv to przerobie pod użyte przez ciebie modele i wyślę :)