Skocz do zawartości
whnl

[Rozwiązane] Model gracza zależny od klasy

Rekomendowane odpowiedzi

Witam chcę dodać customowe modele pod klasy ale nie mam bladego pojęcia jak się za to zabrać, kolejna sprawa klasy premium tez nie wiem jak napisac warunek do tego bo znam sie tylko na php

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jak masz funkcję która daje np broń albo staty klasie ustawiasz wtedy też model

 

Premie sprawdzasz przy próbie wybrania przez gracza klasy 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tutaj masz przykład

Spoiler

#include <sourcemod>
#include <cstrike>
#include <sdkhooks>
#include <codmod>
#include <sdktools>
 
new const String:nazwa[] = "Snajper";
new const String:opis[] = "Zadaje 120 procent obrazen z awp (+inteligencja)";
new const String:bronie[] = "#weapon_awp#weapon_deagle";
new const inteligencja = 5;
new const zdrowie = 0;
new const obrazenia = 0;
new const wytrzymalosc = 20;
new const kondycja = 30;
 
char sModelKlasyCT[] = "models/player/custom_player/kuristaja/tf2/sniper/sniper_bluv2.mdl"; // plik .mdl
char sModelKlasyT[] = "models/player/custom_player/kuristaja/tf2/sniper/sniper_redv2.mdl";
 
char sPlikiModelu[][] = {
 "materials/models/player/kuristaja/tf2/sniper/eyes.vmt",
 "materials/models/player/kuristaja/tf2/sniper/sniper_blue.vmt",
 "materials/models/player/kuristaja/tf2/sniper/sniper_blue_bullets.vmt",
 "materials/models/player/kuristaja/tf2/sniper/sniper_hand_blue.vmt",
 "materials/models/player/kuristaja/tf2/sniper/sniper_hand_red.vmt",
 "materials/models/player/kuristaja/tf2/sniper/sniper_head_blue.vmt",
 "materials/models/player/kuristaja/tf2/sniper/sniper_head_red.vmt",
 "materials/models/player/kuristaja/tf2/sniper/sniper_lens.vmt",
 "materials/models/player/kuristaja/tf2/sniper/sniper_red.vmt",
 "materials/models/player/kuristaja/tf2/sniper/sniper_red_bullets.vmt",
 "materials/models/player/kuristaja/tf2/sniper/eye-iris-blue.vtf",
 "materials/models/player/kuristaja/tf2/sniper/pyro_lightwarp.vtf",
 "materials/models/player/kuristaja/tf2/sniper/shared_normal.vtf",
 "materials/models/player/kuristaja/tf2/sniper/sniper_blue.vtf",
 "materials/models/player/kuristaja/tf2/sniper/sniper_hand.vtf",
 "materials/models/player/kuristaja/tf2/sniper/sniper_hand_normal.vtf",
 "materials/models/player/kuristaja/tf2/sniper/sniper_head.vtf",
 "materials/models/player/kuristaja/tf2/sniper/sniper_lens.vtf",
 "materials/models/player/kuristaja/tf2/sniper/sniper_normal.vtf",
 "materials/models/player/kuristaja/tf2/sniper/sniper_red.vtf",
 "materials/models/player/kuristaja/tf2/sniper/soldier_normal.vtf",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_redv2.dx90.vtx",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_redv2.mdl",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_redv2.phy",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_redv2.vvd",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_bluv2.dx90.vtx",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_bluv2.mdl",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_bluv2.phy",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_bluv2.vvd",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_red_arms.dx90.vtx",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_red_arms.mdl",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_red_arms.vvd",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_blu_arms.dx90.vtx",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_blu_arms.mdl",
 "models/player/custom_player/kuristaja/tf2/sniper/sniper_blu_arms.vvd"
}
 
new bool:ma_klase[65];
public Plugin:myinfo =
{
    name = nazwa,
    author = "Linux`",
    description = "Cod Klasa",
    version = "1.0",
    url = "http://steamcommunity.com/id/linux2006"
};
public OnPluginStart()
{
    cod_register_class(nazwa, opis, bronie, inteligencja, zdrowie, obrazenia, wytrzymalosc, kondycja);
    HookEvent("player_spawn", player_spawn);
}
public Action player_spawn(Handle event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(GetEventInt(event, "userid"));
    if(ma_klase[client]) // ustawianie modelu klasy
    {
        if(GetClientTeam(client) == CS_TEAM_CT)
            SetEntityModel(client, sModelKlasyCT);
        else if (GetClientTeam(client) == CS_TEAM_T)
            SetEntityModel(client, sModelKlasyT);
    }
}
public OnMapStart()
{
    for(int i; i < sizeof(sPlikiModelu); i++) // pobieranie modeli (plikow modelu)
        AddFileToDownloadsTable(sPlikiModelu[i]);
 
    PrecacheModel(sModelKlasyT); // precache modelu
    AddFileToDownloadsTable(sModelKlasyT); // pobieranie modelu
 
    PrecacheModel(sModelKlasyCT); // precache modelu
    AddFileToDownloadsTable(sModelKlasyCT); // pobieranie modelu
}
public OnClientPutInServer(client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}
public OnClientDisconnect(client)
{
    SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}
public cod_class_enabled(client)
{
    ma_klase[client] = true;
}
public cod_class_disabled(client)
{
    ma_klase[client] = false;
}
public Action:OnTakeDamage(client, &attacker, &inflictor, &Float:damage, &damagetype)
{
	if(!IsValidClient(attacker) || !ma_klase[attacker])
		return Plugin_Continue;

	if(!IsValidClient(client) || GetClientTeam(client) == GetClientTeam(attacker))
		return Plugin_Continue;

	new String:weapon[32];
	GetClientWeapon(attacker, weapon, sizeof(weapon));
	if(StrEqual(weapon, "weapon_awp") && damagetype & DMG_BULLET)
		cod_inflict_damage(client, attacker, RoundFloat(damage*0.2)+RoundFloat(cod_get_user_maks_intelligence(attacker)*0.5));

	return Plugin_Continue;
}

 

 

Przez Vasto_Lorde,

Dodaję tag spoiler

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Pomoc udzielona

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ę...