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