Jak ustawić speeda dla danego teamu ?
NoTa
25.08.2012
Ale mi pomogłeś , wiem jak wybrać dany team tylko nie wiem jak dodać do niego speed'a!
Jak ktoś bym mógł pokazać jak to zrobić na jakimś przykładzie będę wdzięczny
Edited by NoTa, 25.08.2012 15:54.
Jak ktoś bym mógł pokazać jak to zrobić na jakimś przykładzie będę wdzięczny

Edited by NoTa, 25.08.2012 15:54.
Gość_21977_* 25.08.2012
Automatyczna wiadomość
Ten temat został przeniesiony z forum
AMX Mod X → Pytania
do
Scripting AMXX → Pytania
Ten temat został przeniesiony z forum
AMX Mod X → Pytania
do
Scripting AMXX → Pytania
Gość_21977_* 25.08.2012
Przykładowy plugin, który dodaje 200 punktów szybkości dla terrorystów
#include <amxmodx>Pamiętaj, że zmiana broni / przybliżenia resetuje prędkość gracza.
#include <fun>
#include <hamsandwich>
public plugin_init(){
register_plugin("speed", "0.1", "benio101");
RegisterHam(Ham_Spawn, "player", "SetSpeedPre", 1);
register_event("CurWeapon","SetSpeedPre","be","1=1");
}
public SetSpeedPre(id){
if(is_user_alive(id) && get_user_team(id)==1)//0-unassigned,1-TT,2-CT,3-spectator
SetSpeed(id);
}
public SetSpeed(id){
set_user_maxspeed(id, get_user_maxspeed(id)+200);
return PLUGIN_CONTINUE;
}
NoTa
25.08.2012
Coś mi nie działa , wkleiłem to do pluginu i dodałem do tego linijke
Coś jest nie tak ?
Edited by NoTa, 25.08.2012 17:11.
case DAY_KNIFE: { new players[32], num, player; get_players( players, num, "a" ); for( new i = 0; i < num; i++ ) { player = players[i]; StripPlayerWeapons( player ); SetSpeedPre(id); if( !is_user_alive( player ) ) continue; switch( cs_get_user_team( player ) ) { case CS_TEAM_CT: { set_user_maxspeed(player, get_user_maxspeed(id)+200); give_item( player, "weapon_m3" ); set_user_health( player, 150 ); cs_set_user_bpammo( player, CSW_M3, 90 ); } case CS_TEAM_T: { give_item( player, "weapon_shield" ); give_item( player, "weapon_knife" ); set_user_health( player, 35 ); }
Coś jest nie tak ?
Edited by NoTa, 25.08.2012 17:11.
Gość_21977_* 25.08.2012
Jeśli jako identyfikator gracza używasz player zamiast id, to konsekwentnie zamiast
set_user_maxspeed(player, get_user_maxspeed(id)+200);użyj
set_user_maxspeed(player, get_user_maxspeed(player)+200);Najlepiej pokaż cały kod, bo tak będzie to dłużej trwało.
SetSpeedPre(id);to był tylko przykład pod prosty plugin. W każdym razie, w Twoim przypadku fragment
SetSpeedPre(id);nie będzie potrzebny. Pamiętaj natomiast, aby na nowo zmienić prędkość w momencie zmiany broni / przybliżenia.
NoTa
25.08.2012
A i wiedz jak zrobić , jak zostanie ostatni tt to dana funkcja się wyłącza, a i że nie może podnieść inny broni tylko tą co mam .
Edited by NoTa, 25.08.2012 18:01.
Attached Files
Edited by NoTa, 25.08.2012 18:01.
glut
25.08.2012
Tu masz sprawdzenie czy jest ostatni w TT
i wtedy jakaś funkcja. a z tym drugim napisz jeszcze raz bo nie zrozumiałem 


#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Jezeli ostatni gracz funkcja"
#define VERSION "1.0"
#define AUTHOR "glut"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg","death","a");
}
public death()
{
new i,liczba,maxplayer = get_maxplayers();
for(i=1 ; i<=maxplayer; i++)
{
if(is_user_alive(i) && get_user_team(i) == 1)
++liczba;
}
if(liczba == 1)
{
// tutaj twój kod jaki chcesz
}
}
NoTa
25.08.2012
Tak jak jest na cod mod ze dana klas nie może podnieść broni innej niż które ma
a i nie kapuje z tym
a i nie kapuje z tym
// tutaj twój kod jaki chcesz :)
glut
25.08.2012
Tu dodajesz coś jeżeli np został jeden TT to ma wykonać jakąś funkcję np zmniejszyć prędkość albo zwiększyć itd.

NoTa
26.08.2012
To wie ktoś jak dodać tego speeda+ blokowanie podnoszenia broni do poszczególnych zabaw ?
Czaso Umilacz
27.08.2012
Gdzieś w kod:
Jest to zrobione na szybciaka, więc dałem standardową prędkość 250 ( Float:Speed = 250.0; chyba z nożem );
Szło by to zrobić że zależne od broni, ale nie mam tabelki z prędkościami z danią bronią a by poszukać mam lenia w d*pie
Edited by Czaso Umilacz, 27.08.2012 09:07.
public PlayerPreThink(id) { if(!is_user_alive(id)) return; new Float:Speed = 250.0; Speed += get_user_team(id) == 1 ? 100.0 : 0.0; Speed += get_user_team(id) == 2 ? 200.0 : 0.0; entity_set_float(id, EV_FL_maxspeed, Speed); }I do plugin init:
RegisterHam(Ham_Player_PreThink, "player", "PlayerPreThink");I zoom czy nie, zamiana broni czy nie wartość rośnie, tylko podmieniasz 100 i 200 w linijce Speed +=, oraz wybierasz drużynę ( 1 to chyba TT 2 to chyba CT ).
Jest to zrobione na szybciaka, więc dałem standardową prędkość 250 ( Float:Speed = 250.0; chyba z nożem );
Szło by to zrobić że zależne od broni, ale nie mam tabelki z prędkościami z danią bronią a by poszukać mam lenia w d*pie

Edited by Czaso Umilacz, 27.08.2012 09:07.
NoTa
28.08.2012
Dzięki ale już sam poradziłem sobie ze speed'em zostało tylko jeszcze blokada podnoszenia borni ,brania z dystrybutorów
ps + dla ciebie za chęci
ps + dla ciebie za chęci

K!113r
28.08.2012
A może w evencie cur weapon, sprawdzaj trzymaną broń, jeżeli != CSW_KNIVE to usuwaj wszystkie bronie i daj mu nóż.
Gość_21977_* 28.08.2012
Ogólnie blokada podnoszenia broni z użyciem HamSandwich:
RegisterHam(Ham_Touch, "weaponbox", "HamTouchPre", 0);Warto też dodać wyjątek, np. dla C4
RegisterHam(Ham_Touch, "armoury_entity", "HamTouchPre", 0);
public HamTouchPre(weapon,id){
if(!pev_valid(weapon))// profilaktycznie sprawdza, czy bron jest nia naprawdę
return HAM_IGNORED;
if(!id || id>32 || !is_user_alive(id))// sprawdza, czy podnoszacym jest zyjacy gracz
return HAM_IGNORED;
if(warunek){// tutaj podaj jakis warunek na te "zabawy"
return HAM_SUPERCEDE;// zabroni podnoszenia broni
}
return HAM_IGNORED; // powoduje zignorowanie komendy, czyli pozwala na podniesienie broni
// mozna tez zabronic podnoszenia okreslonej broni, np. AWP:
new name[20];// pojemnik na model
pev(weapon, pev_model, name, 19);//pobranie modelu
if(containi(name, "w_awp")!=-1){// jesli model to AWP, to
return HAM_SUPERCEDE;// nie pozwol podniesc broni
}
return HAM_IGNORED;
//i inny przyklad: niepozwala terrorystom podnosic AWP
new name[20];
pev(weapon, pev_model, name, 19);
if(get_user_team(id)==1 && containi(name, "w_awp")!=-1){
return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}
new name[20];aby można było wykonać cele mapy
pev(weapon, pev_model, name, 19);
if(containi(name, "w_backpack") != -1){
return HAM_IGNORED;
}