Skocz do zawartości
Shadow

[Rozwiązane] nie działają komendy

Rekomendowane odpowiedzi

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

Edytowane przez Shadow

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
26 minut temu, Shadow napisał:

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

 

Nas się o to pytasz? 🤔

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wrzuć klasy i itemy na serwer oraz podłącz moda pod bazę danych.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

 

EDIT: skompiluje dodam i dam znać

 

Edytowane przez Shadow

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
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ę

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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;
}

 

Edytowane przez BulgaR

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
32 minuty temu, BulgaR napisał:

dalsza czesc kodu w tym miejscu

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
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);
	}
}

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

teraz juz normalnie skompilowało może coś mi się wpisało czy cuś

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Problem został rozwiązany

Jeżeli się z tym nie zgadzasz, raportuj ten post

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...