Page 1 of 2

trigger_changelevel ir info_landmark

Posted: 2012 Nov 18 15:41
by TETYYS
Pastebėjau, kad per CS 1.6 neveikia trigger_changelevel ir info_landmark triggeriai, ir galima būtų su kokio nors plugino pagalba, kai atsistoji tuose triggeriuose executint chengelevel ir išimt iš tų triggerių prametrų map'o pavadinimą?

Re: trigger_changelevel ir info_landmark

Posted: 2012 Nov 18 21:36
by beast
1. Tikrink atstumą tarp žaidėjo ir entity. Jei atstumas "labai mažas", žaidėjas stovi ant jo...

Code: Select all

Float:entity_range(player, g_EntId1)
2:

Code: Select all

public pfn_keyvalue(ent){    new classname[32], key[32], value[32]    copy_keyvalue(classname, charsmax(classname), key, charsmax(key), value, charsmax(value))     if(equal(classname, "trigger_changelevel"))    {        g_EntId1 = ent         if(equal(key, "parametras"))        {                DispatchKeyValue(ent, key, "reikšmė")                DispatchSpawn(ent)        }    }}
Na kažkas tokio, bandyk...

p.s. pirmą kartą matau tokius entity.

p.s.2 jeigu tu tuos entity susikuri pats, tai tiesiog naudok:

Code: Select all

DispatchKeyValue(ent, "parametras", "reikšmė")DispatchSpawn(ent)

Re: trigger_changelevel ir info_landmark

Posted: 2012 Nov 18 22:16
by TETYYS
Tai pala, pala, kur, kada ir kaip šita pfn_keyvalue reikia dėt? Ir kaip gaut to trigger_changelevel map paramerto value? Man reikia, kad kai žaidėjo atstumas tarp to entity "labai mažas", tai i serverį siuncia "changelevel "%s"", %s - map parametras

Re: trigger_changelevel ir info_landmark

Posted: 2012 Nov 19 12:18
by beast
TETYYS wrote:Tai pala, pala, kur, kada ir kaip šita pfn_keyvalue reikia dėt? Ir kaip gaut to trigger_changelevel map paramerto value? Man reikia, kad kai žaidėjo atstumas tarp to entity "labai mažas", tai i serverį siuncia "changelevel "%s"", %s - map parametras
:8:

Code: Select all

#include <amxmodx>#include <engine> new g_Value[32], g_EntId1, bool:g_InChange public pfn_keyvalue(ent){    new classname[32], key[32], value[32]    copy_keyvalue(classname, charsmax(classname), key, charsmax(key), value, charsmax(value))        if(equal(classname, "trigger_changelevel"))    {        g_EntId1 = ent                if(equal(key, "key pavadinimas..."))            copy(g_Value, charsmax(g_Value), value) // reikšmė (mapname)...    }        if(!g_EntId1)        set_fail_state("Nerastas trigger_changelevel")} public client_PreThink(id){    if(!is_user_alive(id))        return PLUGIN_CONTINUE        // atstumas tarp 0.0 ir 20.0, žaidėjas stovi ant trigger_changelevel    if(entity_range(id, g_EntId1) <= 20.0 && !g_InChange)    {        g_InChange = true        server_cmd("changelevel %s", g_Value)    }        return PLUGIN_CONTINUE}

Re: trigger_changelevel ir info_landmark

Posted: 2012 Nov 19 14:46
by TETYYS
Ačiū, pabandysiu.

Re: trigger_changelevel ir info_landmark

Posted: 2012 Nov 20 23:29
by hleV

Code: Select all

#include <engine> public plugin_init(){    register_touch("trigger_changelevel", "player", "OnPlayerTouchChangelevel");} public OnPlayerTouchChangelevel(ent, client){    if (is_user_alive(client))    {        // Stuff...    }}

Re: trigger_changelevel ir info_landmark

Posted: 2012 Nov 24 16:09
by beast
Lyg ir neveiks taip, nes trigger entity negalima paliest, nebent jis susietas su kažkokiu bloku.

Re: trigger_changelevel ir info_landmark

Posted: 2012 Nov 25 02:56
by hleV
beast wrote:Lyg ir neveiks taip, nes trigger entity negalima paliest, nebent jis susietas su kažkokiu bloku.
Trigger ir skirtas paliest.

Re: trigger_changelevel ir info_landmark

Posted: 2012 Nov 25 13:08
by TETYYS
Beast'o kodas neveikė, bet man rods servas auto išima šitą triggerį.

Re: trigger_changelevel ir info_landmark

Posted: 2012 Nov 25 20:36
by beast
hleV wrote:
beast wrote:Lyg ir neveiks taip, nes trigger entity negalima paliest, nebent jis susietas su kažkokiu bloku.
Trigger ir skirtas paliest.
Išskyrus trigger_auto, trigger_camera, trigger_changetarget, trigger_relay. Ir galimai kiti, kurie nesusiejami su blockais.