Syncope.T-*
728x90

Get rand player 가 뭘까요? rand라 랜덤을 말하는건가? 맞습니다. 랜덤 플레이어를 집어 온다는거죠. 안타깝게도 여러분들이 생각하는 판타지의 인간중 하나를 골라 내 올수는 없습니다.

우선 이걸 쓰기전에 corelib를 써 주시구요!!! [로드하란 말입니다 ^^ ]

공식은 이렇습니다 getrandplayer <variable> <identifier>

역 ) es getrandplayer <랜덤플레이어 저장할 변수> <파라미터>

파라미터 :

  • #all - 모든 플레이어 중
  • #ct - CT
  • #t - T
  • #spec - 관전자
  • #un - 서버 접속후 게임에 참가하지 않고 관전자도 아닌 사람
  • #dead - 죽은 유저
  • #alive - 살아있는 유저
  • #human - 봇이아닌 진짜 사람들
  • #bot -
  • 파라미터가 의미하는 바는 그 중에서 골라 오겠다는 겁니다.

    es_set storeplayer 0

    es_set theplayername 0

    es getrandplayer storeplayer #alive#human

    es_getplayername theplayername server_var(storeplayer)

    es_tell server_var(storeplayer) RanDomPlayer : server_Var(theplayername) . Congretulation!!!.

    ' 자 . stroreplayer 이란 유저아이디를 저장할 변수와 theplayername 이라고 그 유저아이디를 가지고 구할 이름을 저장할 변수를 생성 해 냈습니다. 그리고 getrandplayer로 #alive#human -> #살아있으면서#봇이아닌레알인간들 로 랜덤유저를 하나 정했구요

    es_getplayername theplayername storeplayer유저아이디

    es_tell 로 메시지 출력.

    간단히 이해가 가셨으리라 봅니다. 질문이 있을겁니다 ' #alive#human 이거 2개 겹쳐서 써도 되나요? ' 네 됩니다. 저 위에 의미를 적어 놨씁니다.

    자 이제. playervar를 배워 보도록 하겠습니다. playervar는 개인변수라는건데 설명은 소스모드 3번 강좌에 잘 되어 있습니다. 뭐 나름이지만요.

    공식은 3가지가 있는데요. set/get/exists 입니다.

    playervar <get/set/exists> [var] <userid> [varname] [value]

    es playervar <get/set/exists> [개인변수] <유저아이디> [공통변수] [값]

    개인변수니 공통변수니 값이니 뭐이리 복잡해! 라고 생각 할 시간은 없습니다.

    자 제대로 정리된 식을 제가 적어드릴게요 ~!

    es playervar get 개인변수 유저아이디 공통변수

    es playervar set 유저아이디 공통변수 값

    es playervar exists 체크할변수 유저아이디 공통변수

    ->

    es_set A 0

    es_set B 0

    es_set C 0

    es playervar set event_var(userid) A 0

    es playervar get B event_var(userid) A

    es playervar exists C event_var(userid) A

    라고 볼 수가 있죠. exists 는 A의 값을 존재여부 체크해버리는거기 때문에 자주 쓰진 않습니다.

    활용으로 바로 넘어가서 이해를 꽉 잡아버리도록 합시다 !! 익숙해지면 뭐든게 다 됩니다 !! ^^

    event player_spawn

    {

    es playervar set event_var(userid) A 1

    }

    event player_death

    {

    es playervar get B event_var(userid) A

    if (server_Var(B) == 1) do

    {

    es_tell event_var(userid) B 의 생존횟수가 0번 남았습니다 하지만 스폰이 다시되면 1번으로 교체되니 계속 무한 반복입니다 ㅋ

    es_math B - 1

    es playerset event_var(userid) A server_var(B)

    }

    }

    <<< 추가 >>>

    위키에 좋은 예제가 있습니다

    // Said 와 said 는 대소문자가 달라 서로 다른 변수인걸 확인합시다 !!

    event player_spawn
    {
    es playervar set event_var(userid) SaidSomething 0
    }

    event player_say
    {
    es_xset saidsomething 0
    es_xset check_var 0
    es playervar exists check_var event_var(userid) SaidSomething
    if (server_var(check_var) == 1) do
    {
    es playervar get saidsomething event_var(userid) SaidSomething
    if (server_var(saidsomething) = 0) do
    {
    es_msg #green 스폰 한 뒤로 처음으로 말을 했씁니다 !
    }
    es playervar set event_var(userid) SaidSomething 1
    }
    }

    profile

    Syncope.T-*

    @Syncope

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

    profile on loading

    Loading...