Jump to content
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek

Recommended Posts

Posted (edited)

Cześć pierwszy raz w życiu zajmuje się cod modem i nie wiem o co za bardzo chodzi :/ nie działają komendy !klasa !klasy itp !item działa tylko w sumie nie dodałem klas? czy co?

 

//EDIT: w sumie ogolnie nie dziala wybieranie klas ani nic :/ itemow tez sie nie dostaje ani nic xpa tez choc pewnie tak ma byc ze bez klasy sie nie dostaje

Edited by Shadow

Share this post


Link to post
Share on other sites
26 minut temu, Shadow napisał:

tylko w sumie nie dodałem klas? czy co?

 

Nas się o to pytasz? 🤔

Share this post


Link to post
Share on other sites

skompilowałem po prostu codmod_nowy i nie wiem co jest tyle mogę powiedzieć, nic nie zmieniałem w .sp

image.thumb.png.10277ec37be55039f7a969c97bb1b80a.png

Share this post


Link to post
Share on other sites
Posted (edited)

czyli klasy wszystkie tez mam kompilować tak? moda mam cały czas podłączonego

 

EDIT: skompiluje dodam i dam znać

 

Edited by Shadow
  • Haha! 1

Share this post


Link to post
Share on other sites

wszystko działa dzięki, a żeby np dla vipa dać klasy jakieś to co trzeba zrobić? i dodając nowe klasy po prostu kompilować i dodawać tak?

Share this post


Link to post
Share on other sites

1. Jeżeli na forum nie ma nigdzie dodawania dostępu do klasy jezeli posiada się klasę to podrzucę kod po pracy.

2. Tak wystarczy skomplikować i wrzucić klasę/item na serwer.

Share this post


Link to post
Share on other sites
1 minutę temu, Yamakashi napisał:

1. Jeżeli na forum nie ma nigdzie dodawania dostępu do klasy jezeli posiada się klasę to podrzucę kod po pracy.

byłbym naprawdę wdzięczny 

 

1 minutę temu, Yamakashi napisał:

2. Tak wystarczy skomplikować i wrzucić klasę/item na serwer.

dzięki za informację

Share this post


Link to post
Share on other sites
Posted (edited)

Jak chcesz dodać aby klasa była tylko dla vip to:

 

Pod:

public cod_class_enabled(client)

Musi być coś takiego:

public cod_class_enabled(client)
{
	if(GetUserFlagBits(client) & ADMFLAG_CUSTOM1) // Zmień sobie flage na jaka masz vipa
	{
		// dalsza czesc kodu w tym miejscu
		return COD_CONTINUE;
	}

	PrintToChat(client, "[COD:MW] Nie masz dostepu do tej klasy");
	return COD_STOP;
}

 

Edited by BulgaR
  • Lubię to! 1

Share this post


Link to post
Share on other sites
32 minuty temu, BulgaR napisał:

dalsza czesc kodu w tym miejscu

całą resztę która była pod public cod_class_enabled mam wrzucić?

Share this post


Link to post
Share on other sites

coś tak mi się zdaje, że nawet czegoś tak prostego nie umiem zrobić, bo nie kompiluje nawet...

  • Haha! 1

Share this post


Link to post
Share on other sites
Spoiler

#include <sourcemod>
#include <sdkhooks>
#include <sdktools>
#include <codmod>
#include <emitsoundany>

new const String:nazwa[] = "Sławek";
new const String:opis[] = "Stawia wybuchowa gasnice-teleport, moc +int";
new const String:bronie[] = "#weapon_aug#weapon_glock#weapon_hegrenade#weapon_flashbang#weapon_flashbang#weapon_smokegrenade";
new const inteligencja = 0;
new const zdrowie = 10;
new const obrazenia = 10;
new const wytrzymalosc = 20;
new const kondycja = 0;

int g_iPlayerTime[MAXPLAYERS];
new bool:ma_klase[65],
	ilosc_ladunkow_gracza[65],
	podlozony_ladunek_gracza[65];
new Float: SAVELOC[MAXPLAYERS + 1][3];
	Float: ResetVector[3] = {0.0, 0.0, 0.0};
new sprite_explosion;
ConVar cododepchniecie;
#define PREFIX "\x01"
#define KURWAMAC "cod/teleport1.mp3"

public Plugin:myinfo =
{
	name = nazwa,
	author = "Timor",
	description = "Cod Klasa",
	version = "1.0",
	url = "http://steamcommunity.com/id/bonkwszlaufrocku"
};
public OnPluginStart()
{
	cod_register_class(nazwa, opis, bronie, inteligencja, zdrowie, obrazenia, wytrzymalosc, kondycja);
	HookEvent("player_spawn", OdrodzenieGracza);
	HookEvent("player_death", SmiercGracza);
	cododepchniecie = CreateConVar("cododepchniecie", "30", "Szybkosc lotu odepchnietego");
}
public void OnClientPutInServer(int client)
{
	g_iPlayerTime[client]=0;
}
public void OnMapStart()
{
	PrecacheModel("models/props/cs_office/fire_extinguisher.mdl");
	sprite_explosion = PrecacheModel("materials/sprites/blueflare1.vmt");
	AddFileToDownloadsTable("sound/cod/teleport1.mp3");
	PrecacheSoundAny(KURWAMAC, true);
}
public cod_class_enabled(client)
{
	ma_klase[client] = true;
	ilosc_ladunkow_gracza[client] = 3;
}
public cod_class_disabled(client)
{
	ma_klase[client] = false;
	ilosc_ladunkow_gracza[client] = 0;
	StopLadunek(client);
}
public cod_class_skill_used(client)
{
    if(podlozony_ladunek_gracza[client] && IsValidEntity(podlozony_ladunek_gracza[client]) && g_iPlayerTime[client]<=GetTime())
    {
        EmitSoundToAllAny(KURWAMAC, client);
        CreateTimer(1.8, KURWAMACC, client);
        g_iPlayerTime[client]=GetTime()+5;
    }
    else if(!ilosc_ladunkow_gracza[client])
        PrintToChat(client, "%s Wykorzystales juz moc swojej klasy w tym zyciu!", PREFIX);
    else
    {
        podlozony_ladunek_gracza[client] = CreateEntityByName("hegrenade_projectile");
        if(podlozony_ladunek_gracza[client] != -1)
        {
            GetClientAbsOrigin(client, SAVELOC[client]);
            new Float:forigin[3];
            GetClientEyePosition(client, forigin);

            new Float:fangles[3];
            GetClientEyeAngles(client, fangles);
 
            new Float:iangles[3] = {0.0, 0.0, 0.0};
            iangles[1] = fangles[1];
 
            DispatchSpawn(podlozony_ladunek_gracza[client]);
            ActivateEntity(podlozony_ladunek_gracza[client]);
            SetEntityModel(podlozony_ladunek_gracza[client], "models/props/cs_office/fire_extinguisher.mdl");
            SetEntityMoveType(podlozony_ladunek_gracza[client], MOVETYPE_STEP);
            TeleportEntity(podlozony_ladunek_gracza[client], forigin, iangles, NULL_VECTOR);
            SetEntProp(podlozony_ladunek_gracza[client], Prop_Send, "m_usSolidFlags", 12);
            SetEntProp(podlozony_ladunek_gracza[client], Prop_Data, "m_nSolidType", 6);
            SetEntProp(podlozony_ladunek_gracza[client], Prop_Send, "m_CollisionGroup", 1);
 
            ReplyToCommand(client, "Podłożyłeś gaśnicę! Użyj ponownie, aby się do niej przenieść!", PREFIX);

            ilosc_ladunkow_gracza[client] = 0;
        }
    }
}
public Action:StopLadunek(client)
{
	if(podlozony_ladunek_gracza[client])
	{
		if(IsValidEntity(podlozony_ladunek_gracza[client]))
		AcceptEntityInput(podlozony_ladunek_gracza[client], "Kill");

		podlozony_ladunek_gracza[client] = 0;
	}
	return Plugin_Continue;
}
public Action:OdrodzenieGracza(Handle:event, String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	if(!IsValidClient(client) || !ma_klase[client])
		return Plugin_Continue;
	StopLadunek(client);
	ilosc_ladunkow_gracza[client] = 1;
	return Plugin_Continue;
}
public Action:SmiercGracza(Handle:event, String:name[], bool:dontbroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	if(!IsValidClient(client) || !ma_klase[client])
		return Plugin_Continue;
	StopLadunek(client);
	return Plugin_Continue;
}
public Action:KURWAMACC(Handle:timer, client)
{
        if(!IsValidClient(client) || !ma_klase[client])
            return Plugin_Continue; 
            
        new Float: pos[3];
        new Float:forigin[3], Float:iorigin[3];
        GetEntPropVector(podlozony_ladunek_gracza[client], Prop_Send, "m_vecOrigin", forigin);
        pos = SAVELOC[client];
        TeleportEntity(client, pos, NULL_VECTOR, ResetVector);
        new damage = 20+(cod_get_user_maks_intelligence(client));
        for(new i = 1; i <= MaxClients; i++)
        {
            if(!IsClientInGame(i) || !IsPlayerAlive(i))
                continue;
            if(GetClientTeam(client) == GetClientTeam(i))
                continue;
            GetClientEyePosition(i, iorigin);
            if(GetVectorDistance(forigin, iorigin) <= 450.0)
            {
                cod_inflict_damage(i, client, damage);
            }
        }      
        TE_SetupExplosion(forigin, sprite_explosion, 20.0, 1, 0, 100, 1000);
        TE_SendToAll();
        ForcePush(client);
        StopLadunek(client);
        return Plugin_Continue;    
}
public void ForcePush(int client)
{
	float clientPos[3], enemyPos[3], pushVel[3];
	GetClientAbsOrigin(client, clientPos);
	for (int i = 1; i <= MaxClients; i++)
	{
		if(!IsValidClient(i) || !IsPlayerAlive(i))
			continue;
		if(GetClientTeam(i) == GetClientTeam(client))
			continue;
		GetClientAbsOrigin(i, enemyPos);
		float distance = GetVectorDistance(enemyPos, clientPos);
		//Avoid dividing by 0
		distance = (distance > 0.0) ? distance : 1.0;
		
		if(distance > 450)
			continue;
			
		SubtractVectors(clientPos, enemyPos, pushVel);
		pushVel[0] = -pushVel[0];
		pushVel[1] = -pushVel[1];
		pushVel[2] = cododepchniecie.FloatValue;
		ScaleVector(pushVel, cod_get_user_maks_intelligence(client)*0.5);
		TeleportEntity(i, NULL_VECTOR, NULL_VECTOR, pushVel);
	}
}

 

 

Share this post


Link to post
Share on other sites

U mnie przechodzi normalnie przez kompilator ta klasa po edycji na vip. Jaki masz więc błąd w kompilatorze?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

Nasza historia

Na początku byliśmy małą grupą internetowych znajomych, którzy stwierdzili, że potrzebne jest solidne forum, na którym znajdą się ludzie z dużą wiedzą programistyczną ukierunkowaną na CS:GO. Pomysł powstał na początku 2018 roku, a parę miesięcy później, 19 kwietnia, powstała ta strona internetowa. Jako alternatywna odpowiedź na inne tego typu miejsca, poważnie podeszliśmy do tematu, najpierw tłumacząc angielską dokumentację SourceMod'a na język polski, a potem pisząc rozległe poradniki i wypełniając forum najpotrzebniejszymi rzeczami dla właścicieli serwerów i programistów. Cała nasza Ekipa jest dumna z pracy jaką w to włożyliśmy i cieszymy się że zbierają się wokół nas zarówno ludzie znający tematy sourcepawn'a i konfiguracji, jak i również nowe twarze w tym "biznesie", którym z chęcią niesiemy wiedzę oraz pomoc w rozwiązywaniu problemów.

Największe modyfikacje serwerowe

×
×
  • Create New...