Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Funkcja z teleportem


  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 29.11.2010 23:44

Witam. Szukam jakiejś gotowej funkcji z teleportem, najlepiej bardzo podobnym do tego z war3ft moda (chyba tak się zwie ten mod), czyli celuje gdzieś i po naciśnięciu klawisza (np. E) teleportuje mnie w miejsce, w które celowałem. Przejrzałem kod jakiegoś war3ft (chyba najnowszego), ale niestety nie zauważyłem tam nic takiego co by dawało ten teleport. Oczywiście z góry dziękuje za pomoc.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#2 Abes Mapper

    Repulsion Gel

  • Przyjaciel

Reputacja: 2 017
Godlike

  • Postów:7 356
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Sulejówek
Offline

Napisano 30.11.2010 05:36

//------------------------------------------------------
// Admin Blink
// Stolen mostly from code by scoutPractice and jtp10181
//------------------------------------------------------
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>

public plugin_init()
{
register_plugin("Admin Blink","1.0","scoutPractice")
register_clcmd("amx_blink", "admin_blink", ADMIN_LEVEL_C," - Blink to location")
}

new checkCount[33]
new blinkSpot[33][3]
new origBlinkSpot[33][3]
new g_lastPosition[33][3]

public admin_blink(id,level,cid)
{
if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED

get_user_origin(id,blinkSpot[id],3)
origBlinkSpot[id][0] = blinkSpot[id][0]
origBlinkSpot[id][1] = blinkSpot[id][1]
origBlinkSpot[id][2] = blinkSpot[id][2]

blinkSpot[id][2] += 45
set_user_origin(id,blinkSpot[id])
checkCount[id] = 1
positionChangeTimer(id)
return PLUGIN_CONTINUE
}

public positionChangeTimer(id)
{
if (!is_user_alive(id)) return

new Float:velocity[3]
get_user_origin(id, g_lastPosition[id])

entity_get_vector(id, EV_VEC_velocity, velocity)
if ( velocity[0] == 0.0 && velocity[1] == 0.0 && velocity[2] ) {
velocity[0] = 50.0
velocity[1] = 50.0
entity_set_vector(id, EV_VEC_velocity, velocity)
}

set_task(0.1,"positionChangeCheck",id)
}
//----------------------------------------------------------------------------------------------
public positionChangeCheck(id)
{
if (!is_user_alive(id)) return

new origin[3]
get_user_origin(id, origin)

if ( g_lastPosition[id][0] == origin[0] && g_lastPosition[id][1] == origin[1] && g_lastPosition[id][2] == origin[2]) {
switch(checkCount[id]) {
case 0 : blink_movecheck(id, 0, 0, 0) // Original
case 1 : blink_movecheck(id, 0, 0, 80) // Up
case 2 : blink_movecheck(id, 0, 0, -110) // Down
case 3 : blink_movecheck(id, 0, 30, 0) // Forward
case 4 : blink_movecheck(id, 0, -30, 0) // Back
case 5 : blink_movecheck(id, -30, 0, 0) // Left
case 6 : blink_movecheck(id, 30, 0, 0) // Right
case 7 : blink_movecheck(id, -30, 30, 0) // Forward-Left
case 8 : blink_movecheck(id, 30, 30, 0) // Forward-Right
case 9 : blink_movecheck(id, -30, -30, 0) // Back-Left
case 10: blink_movecheck(id, 30, -30, 0) // Back-Right
case 11: blink_movecheck(id, 0, 30, 60) // Up-Forward
case 12: blink_movecheck(id, 0, 30, -110) // Down-Forward
case 13: blink_movecheck(id, 0, -30, 60) // Up-Back
case 14: blink_movecheck(id, 0, -30, -110) // Down-Back
case 15: blink_movecheck(id, -30, 0, 60) // Up-Left
case 16: blink_movecheck(id, 30, 0, 60) // Up-Right
case 17: blink_movecheck(id, -30, 0, -110) // Down-Left
case 18: blink_movecheck(id, 30, 0, -110) // Down-Right
default: user_kill(id)
}
return
}
}
//----------------------------------------------------------------------------------------------
public blink_movecheck(id, mX, mY, mZ)
{
blinkSpot[id][0] = origBlinkSpot[id][0] + mX
blinkSpot[id][1] = origBlinkSpot[id][1] + mY
blinkSpot[id][2] = origBlinkSpot[id][2] + mZ
set_user_origin(id,blinkSpot[id])
checkCount[id]++
positionChangeTimer(id)
}
//----------------------------------------------------------------------------------------------

  • +
  • -
  • 2

#3 sebul

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 30.11.2010 18:58

No niby teleport jest, ale z tego co "przeczytałem", wynika, że ten plugin/kod teleportuje kogoś w konkretne miejsce (nie wiem dokładnie od czego ono zależy) gdy admin tego chce. Jak to zrobić, aby teleportowało tam gdzie ktoś celuje? Czyli ogólnie jak użyć "get_user_aiming" do tego?

Dobra, plugin z tym teleportem znalazłem (na 99% to właśnie ten), ale jest tam tyle kodu, że ja tego nie ogarniam... Sama funkcja z teleportem jest w 6561 linii, ale jest tam dużo odnośników do innych miejsc w kodzie.
Sma w załączniku.

Załączone pliki


Użytkownik sebul edytował ten post 30.11.2010 19:29

  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#4 Abes Mapper

    Repulsion Gel

  • Przyjaciel

Reputacja: 2 017
Godlike

  • Postów:7 356
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Sulejówek
Offline

Napisano 30.11.2010 22:21

No w konkretne, tam gdzie celujesz ;)
  • +
  • -
  • 0

#5 GoldeN

    Wszechmogący

  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 30.11.2010 22:29

@sebul

Sprawdziłem, działa tam gdzie nacelujesz, ale możesz się teleportować na każdą odległość, w ściany itp. Więc musiałbyś ograniczenie dodać.

#6 sebul

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 30.11.2010 23:21

No w konkretne, tam gdzie celujesz ;)

A to jednak źle "przeczytałem", skoro tak, to sprawdzę jak najszybciej czy będzie mi działać.

Dodano 01 grudzień 2010 - 00:00:
No niby działa, ale tak jak kolega wyżej napisał, jak celuje się w ścianę, to teleportuje się w nią, a potem tak jakby z niech mnie nie zawsze wypycha (czasami zabija). Można także teleportować się "w niebo". Ktoś może ma jakiś pomysł, aby zlikwidować te bugi?

Dodano 01 grudzień 2010 - 01:56:
Dobra, można zamknąć, użyłem funkcji z tego -> [ZP] Teleport - Nieoficjalny polski support AMX Mod X tematu ;]
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych