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.
|
[ROZWIĄZANE] Operacja przy przeładowaniuPytanie
#1
Napisano 30.11.2011 00:42
Myślę, ściągam i sprawdzam różne pluginy i nie mogę dojść końca jak zrobić taką prostą funkcję, żeby przykładowo podczas przeładowania dowolnej broni przez gracza wykonana została jakaś komenda. Dla przykładu, podczas przeładowania wyświetlenie tekstu "Przeladowujesz", a po zakończeniu przeładowania "Przeladowanie ukonczone".
Poradziłby mi ktoś i ewentualnie podał jakiś taki przykład ?
#2
Napisano 01.12.2011 08:54
#include <amxmodx>
#include <engine>
#define START "...::: Przeladowujesz :::..."
#define STOP "...::: Przeladowanie ukonczone :::..."
new bool:przeladowanie[33] = false;
public plugin_init()
{
register_plugin("Przeladowywanie", "1.0", "lelek");
register_event("CurWeapon", "curweapon", "be");
}
public curweapon(id)
przeladowanie[id] = false;
public client_PreThink(id)
{
if(get_user_button(id) & IN_RELOAD && przeladowanie[id] == false)
{
start(id);
przeladowanie[id] = true;
}
return PLUGIN_CONTINUE;
}
public start(id)
{
new ammo, clip;
new weapon = get_user_weapon(id, clip, ammo);
if(ammo != 0)
{
switch(weapon)
{
case 1:
{
if(clip != 13)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 3:
{
if(clip != 10)
{
set_task(2.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 7:
{
if(clip != 30)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 8:
{
if(clip != 30)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 10:
{
if(clip != 30)
{
set_task(5.0,"NapisKoniec",id)
NapisPoczatek(id);
return PLUGIN_HANDLED
}
}
case 11:
{
if(clip != 20)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 12:
{
if(clip != 25)
{
set_task(4.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 13:
{
if(clip != 30)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 14:
{
if(clip != 35)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 15:
{
if(clip != 25)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 16:
{
if(clip != 12)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 17:
{
if(clip != 20)
{
set_task(2.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 18:
{
if(clip != 10)
{
set_task(2.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 19:
{
if(clip != 30)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 20:
{
if(clip != 100)
{
set_task(5.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 22:
{
if(clip != 30)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 23:
{
if(clip != 30)
{
set_task(2.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 24:
{
if(clip != 20)
{
set_task(4.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 26:
{
if(clip != 7)
{
set_task(2.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 27:
{
if(clip != 30)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 28:
{
if(clip != 30)
{
set_task(2.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
case 30:
{
if(clip != 50)
{
set_task(3.0,"NapisKoniec",id);
NapisPoczatek(id);
return PLUGIN_HANDLED;
}
}
}
}
przeladowanie[id] = false;
return PLUGIN_CONTINUE;
}
public NapisPoczatek(id)
client_print(id, print_chat, "%s", START);
public NapisKoniec(id)
{
przeladowanie[id] = false;
client_print(id, print_chat, "%s", STOP);
}
Użytkownik Lelek919 edytował ten post 01.12.2011 08:58
#3
Napisano 01.12.2011 14:57
#4
Napisano 01.12.2011 16:10
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "DarkGL"
const NOCLIP_WPN_BS = ((1<<2)|(1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
const SHOTGUNS_BS = ((1<<CSW_M3)|(1<<CSW_XM1014))
// weapons offsets
const m_pPlayer = 41
const m_iId = 43
const m_fInReload = 54
const m_flNextAttack = 83
stock const Float:g_fDelay[CSW_P90+1] = {
0.00, 2.70, 0.00, 2.00, 0.00, 0.55, 0.00, 3.15, 3.30, 0.00, 4.50,
2.70, 3.50, 3.35, 2.45, 3.30, 2.70, 2.20, 2.50, 2.63, 4.70,
0.55, 3.05, 2.12, 3.50, 0.00, 2.20, 3.00, 2.45, 0.00, 3.40
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
new szWeapon[17]
for(new i = 1; i <= CSW_P90; i++)
{
if( get_weaponname(i, szWeapon, charsmax(szWeapon)) && RegisterHam(Ham_Item_Deploy,szWeapon,"weaponItemDeployPost",1) && !(NOCLIP_WPN_BS & (1<<i)))
{
if( !(SHOTGUNS_BS & (1<<i)) )
{
RegisterHam(Ham_Weapon_Reload, szWeapon, "weaponReloadPost", 1)
}
}
}
}
public weaponReloadPost(iEnt)
{
if( get_pdata_int(iEnt, m_fInReload, 4) )
{
new id = get_pdata_cbase(iEnt, m_pPlayer, 4)
new Float:fDelay = g_fDelay[get_pdata_int(iEnt, m_iId, 4)]
remove_task(id);
set_task(fDelay,"reloadEnd",id);
}
}
public reloadEnd(id){
if(!is_user_alive(id)) return PLUGIN_CONTINUE;
//reload skonczony
return PLUGIN_CONTINUE;
}
public weaponItemDeployPost(iEnt){
remove_task(get_pdata_cbase(iEnt, m_pPlayer, 4));
}
💸 SellYourSkins.com - Łatwo sprzedaj swoje skiny do CS:GO
💸⇄🃏 Automatyczny Bot Levelowania Steam - LVLUPSteam.com
🛒Coinsy CSGOPolygon Za SMS, PSC, Przelew - CoinSell.pro
Twój Sklep CS2 - CSGOPAKA
Coinsy do CSGOPolygon, CSGO500, CSGOEmpire - CSGOLombard.com
💸 Graj w CS2 / CS 1.6 i zarabiaj - BoostProject.pro
CS2 Gambling Sites and Free Betting Codes - DreamCodes.gg
Otwieraj skrzynki i wygrywaj najlepsze skiny CS2 na SkinsProject.gg
🤑 Accept CS2 skins for online payments and donations - SkinsMoney
Płatności SMS Premium Rate oraz Direct Biling - SimPay.pl
Szukasz noclegu? Kwatery, noclegi, tanie noclegi, wakacje oferty, wczasy nad jeziorem - RuszajWPolske.pl
StreamPay.pl - Legalna platforma do dotacji dla streamerów i twórców
#5
Napisano 05.12.2011 20:21
if( get_pdata_int(iEnt, m_fInReload, 4) )
{
new id = get_pdata_cbase(iEnt, m_pPlayer, 4)
new Float:fDelay = g_fDelay[get_pdata_int(iEnt, m_iId, 4)]
remove_task(id);
set_task(fDelay,"reloadEnd",id);
}
Rozumiem, że w tej pętli przed set_taskiem mogę sobie dodać coś w stylu ShowSyncHudMsg i to będzie działało. Mam rację?
#6
Napisano 05.12.2011 23:57
#7
Napisano 06.12.2011 14:36
"Czy w tej instrukcji warunkowej przed komendą set_task wstawiając sobie np. ShowSyncHudMsg będzie wyświetlało komunikat gdy będzie przeładowanie?"
Liczyłem że się domyślisz o czym pisze. A więc będzie to działać czy nie będzie?
Nie mogę już edytować powyższego postu, ale zmiana planów.
Dałem sobie spokój z tym ShoSyncHudMsg, wziąłem kod lelka. Cóż nie działa jak należy bo komunikat pokazuje się gdy przeładowuję ręcznie broń ale można temat zamknąć.
Użytkownik kfrds edytował ten post 06.12.2011 13:50
#8
Napisano 06.12.2011 15:13
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,
raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.Z pozdrowieniami,
Zespół AMXX.PL

#9
Napisano 06.12.2011 16:19
takw tej instrukcji warunkowej przed komendą set_task wstawiając sobie np. ShowSyncHudMsg będzie wyświetlało komunikat gdy będzie przeładowanie?
💸 SellYourSkins.com - Łatwo sprzedaj swoje skiny do CS:GO
💸⇄🃏 Automatyczny Bot Levelowania Steam - LVLUPSteam.com
🛒Coinsy CSGOPolygon Za SMS, PSC, Przelew - CoinSell.pro
Twój Sklep CS2 - CSGOPAKA
Coinsy do CSGOPolygon, CSGO500, CSGOEmpire - CSGOLombard.com
💸 Graj w CS2 / CS 1.6 i zarabiaj - BoostProject.pro
CS2 Gambling Sites and Free Betting Codes - DreamCodes.gg
Otwieraj skrzynki i wygrywaj najlepsze skiny CS2 na SkinsProject.gg
🤑 Accept CS2 skins for online payments and donations - SkinsMoney
Płatności SMS Premium Rate oraz Direct Biling - SimPay.pl
Szukasz noclegu? Kwatery, noclegi, tanie noclegi, wakacje oferty, wczasy nad jeziorem - RuszajWPolske.pl
StreamPay.pl - Legalna platforma do dotacji dla streamerów i twórców
Użytkownicy przeglądający ten temat: 3
0 użytkowników, 3 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty









