←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Pobieranie origin z respa ora...

Locked

  • +
  • -
Droso's Photo Droso 28.04.2012

Witam bawię się w teleporty, chciałem zrobić, opcję w menu If you have BUG
1.czyli teleportuje na respo, można oczywiście pobierać origin podczas spawnu i wtedy może być, lecz przy 32 osobach jest to trochę bez sensu, da się jakoś przenosić na resp bez potrzeby originu?

2.Oraz jak zrobić menu które usunie się dopiero po menu_destroy
menu mam zrobione poprzez menu_additem

Proszę o konkretne przykłady.

@edit Dobra co do spawnu to użyłem spawn(id), ale jest to chyba, nie najlepsze, ponieważ mam od razu 100HP (chyba, że to od CodModa)

Macie .sma i pokażcie jak zrobić, aby menu niszczyło się tylko poprzez EXIT
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "hubert"
new mTELEPORT
new pozycja[3] = 0
new origin[3] = 0
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)


mTELEPORT = menu_create("menu", "mh_TELEPORT")
menu_additem(mTELEPORT, "Zapisz pozycje (1)", "ma_TELEPORT")
menu_additem(mTELEPORT, "Zapisz pozycje (2)", "ma_TELEPORT")
menu_additem(mTELEPORT, "Idz do pozycji 1", "ma_TELEPORT")
menu_additem(mTELEPORT, "Idz do pozycji 2", "ma_TELEPORT")
menu_additem(mTELEPORT, "Idz do spawnu", "ma_TELEPORT")


register_clcmd("say /teleport", "TELEPORT");
}
public TELEPORT(id)
menu_display(id, mTELEPORT, 0)

public mh_TELEPORT(id, menu, item) {

if(!is_user_alive(id))
  return PLUGIN_CONTINUE;

if(item == MENU_EXIT)
  menu_destroy(menu)


switch(item){
 
  case 0:
  {
  
   get_user_origin(id, pozycja)
   client_print(id, print_chat, "Pozycja 1 zapisana")
   dodaj(id)
  }
  case 1:
  {
   get_user_origin(id, origin)
   client_print(id, print_chat, "Pozycja 2 zapisana")
   dodaj(id)
  }
  case 2:
  {
   if(pozycja[0] && pozycja[1] != 0)
    set_user_origin(id, pozycja)
   else
   client_print(id, print_chat, "Pierw Zapisz pozycje.")
  }
  case 3:
  {
   if(origin[0] && origin[1] != 0)
    set_user_origin(id, origin)
   else
   client_print(id, print_chat, "Pierw Zapisz pozycje. (2)")
  }
  case 4:
  {
    spawn(id)
  }
}
return PLUGIN_CONTINUE;
}
public dodaj(id){

origin[2] += 2
pozycja[2] += 2
}
Quote

  • +
  • -
Fili:P's Photo Fili:P 28.04.2012

Znajdujesz byt info_player_start czy tam info_player_deathmatch (nie pamietam nazwy), pobierasz jego origin i teleportujesz tam gracza
Quote

  • +
  • -
d0naciak's Photo d0naciak 28.04.2012

Do spawnowania uzyj :
ExecuteHamB(Ham_CS_RoundRespawn, id);

Co do menu to usun :


if(item == MENU_EXIT)
menu_destroy(menu)
Quote

  • +
  • -
Droso's Photo Droso 28.04.2012

Znajdujesz byt info_player_start czy tam info_player_deathmatch (nie pamietam nazwy), pobierasz jego origin i teleportujesz tam gracza

Mógłbyś podać funkcje którą znajdę te Byty startowe gracza?

Do spawnowania uzyj :

ExecuteHamB(Ham_CS_RoundRespawn, id);

Co do menu to usun :


if(item == MENU_EXIT)
menu_destroy(menu)

Czemu mam to usuwać? Menu i tak się zniszczy (?)

+ mam pytanie jak pobrac ID gracza na którego patrzymy (celownik gdy zyjemy)
Quote

  • +
  • -
speedkill's Photo speedkill 28.04.2012


//Globalna 

Float:g_fSpawnOrigin[3],Float:g_fSpawnOrigin1[3]



//plugin_init

//dla ct

new iEnt = fm_find_ent_by_class(-1, "info_player_start")

pev(iEnt, pev_origin, g_fSpawnOrigin)

//dla tt

new iEnt1 = fm_find_ent_by_class(-1, "info_player_deathmatch")

pev(iEnt1, pev_origin, g_fSpawnOrigin1)



/Wyslanie na resp 

//ct

set_pev(id, pev_origin, g_fSpawnOrigin)

//tt

set_pev(id, pev_origin, g_fSpawnOrigin1)
Quote

  • +
  • -
Droso's Photo Droso 28.04.2012

Bardzo dziękuję.
Teraz tylko zostało :
Pytanie 2. czyli jak zrobić, żeby menu niszczyło się tylko poprzez Exit.
oraz jak pobrac ID gracza na którego patrzymy (celownik gdy zyjemy)
Quote

  • +
  • -
speedkill's Photo speedkill 28.04.2012

Co do menu w case wywołuj jego pokazanie jeśli niechcesz żeby zniknęło po naciśnięciu 1,2 itp.
np. case 1:
{
//kod
menu(id)
}
Quote

  • +
  • -
radim's Photo radim 28.04.2012

dodaj:
menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER);

Edited by radim, 28.04.2012 20:12.
Quote

  • +
  • -
Fili:P's Photo Fili:P 28.04.2012

Bardzo dziękuję.
Teraz tylko zostało :
Pytanie 2. czyli jak zrobić, żeby menu niszczyło się tylko poprzez Exit.
oraz jak pobrac ID gracza na którego patrzymy (celownik gdy zyjemy)



new NaNiegoPatrze, CzescCiala;
get_user_aiming(id, NaNiegoPatrze, CzescCiala);


Mógłbyś podać funkcje którą znajdę te Byty startowe gracza?

find_ent_by_class z engine powinno się nadać
Quote

  • +
  • -
Droso's Photo Droso 28.04.2012

Bardzoo dziękuję. Przypomniało mi się plusy dla wszystkich.
Do zamknięcia.
Quote

  • +
  • -
Goliath's Photo Goliath 28.04.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Posted Image raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Quote
Locked