Jump to content
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
Sign in to follow this  
whnl

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

 

Premie sprawdzasz przy próbie wybrania przez gracza klasy 

 

 

Share this post


Link to post
Share on other sites

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

 

 

  • Dobry pomysł! 2
By Vasto_Lorde,

Dodaję tag spoiler

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

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