Syncope.T-*
728x90

/*

오랫만에 강좌글이군요. 바로 들어가도록 합시다.

이번에는 유저에게 스킨을 씌우는건데요

이해에 맞게 Define을 사용하지않고 모델경로로 바로 사용하겠습니다.

mdl 모델파일을 #define 변수 "경로" 로하여 쉽게 변수호출 가능합니다.

*/


#include <sourcemod>
#include <sdktools> // 꼭 해주셔야 해요. SetEntityModel 함수가 안에 있기 때문이에요!!!

public OnMapStart()
{
HookEvent("player_spawn", Event_PlayerSpawn, EventHookMode_Pre);
InitPrecache(); // 그저 함수 호출.
}

InitPrecache()
{

/*

왜 프리캐싱을 하고 다운로드를 하느냐? 프리캐싱은 꼭 필요한 작업입니다.

정의를 하자면, 미리 모델을 캐쉬 메모리에 저장하여 베드 버퍼링 혹은 오버 플로우가 발생하지 않기위한 방지막입죠, 다운로드파일은 이 모델을 다운을 해야지 사용자에게 모델이 정확히 보이겠지요. 꼭 일일이 하지 않고요 , Sm_Downloader 를 사용하셔도 됩니다. 밑에는 다운로드 예제를 보여드린겁니다.

*/
PrecacheModel("models/player/natalya/umbrella_sas/umbrella_sas.mdl");

AddFileToDownloadsTable("models/player/natalya/umbrella_sas/umbrella_sas.mdl");
AddFileToDownloadsTable("models/player/natalya/umbrella_sas/umbrella_sas.dx90.vtx");
AddFileToDownloadsTable("models/player/natalya/umbrella_sas/umbrella_sas.dx80.vtx");
AddFileToDownloadsTable("models/player/natalya/umbrella_sas/umbrella_sas.phy");
AddFileToDownloadsTable("models/player/natalya/umbrella_sas/umbrella_sas.sw.vtx");
AddFileToDownloadsTable("models/player/natalya/umbrella_sas/umbrella_sas.vvd");
AddFileToDownloadsTable("materials/models/player/natalya/umbrella_sas/ct_sas.vtf");
AddFileToDownloadsTable("materials/models/player/natalya/umbrella_sas/ct_sas_normal.vtf");
AddFileToDownloadsTable("materials/models/player/natalya/umbrella_sas/ct_sas.vmt");
AddFileToDownloadsTable("materials/models/player/natalya/umbrella_sas/ct_sas_glass.vmt");
}

public Action:Event_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{

/*

유저아이디를 user로 잡았습니다.

EntityModel 에 들어가는 모델파일은 mdl 파일. 꼭 저렇게 해 주셔야합니다.

*/
new user = GetClientOfUserId(GetEventInt(event, "userid"));
SetEntityModel(user,"models/player/natalya/umbrella_sas/umbrella_sas.mdl");
}

profile

Syncope.T-*

@Syncope

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...