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

[ROZWIĄZANE] Problem z tarczą


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

#1 Czaso Umilacz

    Profesjonalista

  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 02.12.2012 06:39

Witam,
mam problem z dawaniem tarczy, i podkreślam że nie używam COD MODa QTM peyota, poniżej daje kod funkcji i plugin_init, w razie co podam funkcję która będzie potrzeba :)

plugin_init:

register_plugin(PLUGIN, VERSION, AUTHOR);

zapis_osiogniec_gracza = nvault_open("MW3_PlayerAchievements");

sync_hud_1 = CreateHudSyncObj();
sync_hud_2 = CreateHudSyncObj();
sync_hud_3 = CreateHudSyncObj();

register_cvar("respawn_time", "3.0");

spawn_time = get_cvar_float("respawn_time");

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
RegisterHam(Ham_TakeDamage, "func_breakable", "TakeDamageEnt");
RegisterHam(Ham_Killed, "player", "Death");
RegisterHam(Ham_Player_PreThink, "player", "PlayerPreThink");
RegisterHam(Ham_Player_PostThink, "player", "PlayerPostThink");
RegisterHam(Ham_Spawn, "player", "Spawn", 1);
RegisterHam(Ham_TraceAttack, "player", "TraceAttack", 1)

for(new i = CSW_P228; i <= CSW_P90; i++){
if(NO_RELOAD & (1<<i))
continue;

new WeaponName[24];
get_weaponname(i, WeaponName, 23);

RegisterHam(Ham_Weapon_Reload, WeaponName, "ReloadPost", 1);
}

register_forward(FM_Touch, "EntityTouch");
register_forward(FM_Think, "EntityTchink");
register_forward(FM_GetGameDescription, "GameDescription");
register_forward(FM_SetModel, "WeaponDrop", 1);

unregister_forward(FM_Spawn, entity_spawn);

register_think(CLASNAME_CLAYMORE, "ClaymoreThink");
register_think(CLASNAME_SENTRYGUN ,"SentryThink");

register_event("CurWeapon","CurWeapon","be", "1=1");
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
register_event("Damage", "Damage", "b", "2!=0");
register_event("TeamInfo","TeamAssign","a");

register_logevent("PoczatekRundy", 2, "1=Round_Start");

register_message(get_user_msgid("SayText"),"HandleSayText");
register_message(get_user_msgid("ScoreAttrib"), "MessageScoreAttrib");

register_clcmd("say /killstrike", "KillstrikeMenu");
register_clcmd("say /ks", "KillstrikeMenu");

register_clcmd("say /osiogniecia", "Osiogniecia");
register_clcmd("say /o", "Osiogniecia");
register_clcmd("say /wyzwania", "Osiogniecia");
register_clcmd("say /w", "Osiogniecia");
register_clcmd("say /zadania", "Osiogniecia");
register_clcmd("say /z", "Osiogniecia");
register_clcmd("say /misje", "Osiogniecia");
register_clcmd("say /m", "Osiogniecia");

register_clcmd("say /jg", "Jg");

register_clcmd("radio3", "UzyjWyposarzenie");


Funkcja od tarczy:

public Jg(id){
strip_user_weapons(id);
give_item(id, "weapon_usp");
give_item(id, "weapon_shield");

new weapons[32];
new weaponsnum;
get_user_weapons(id, weapons, weaponsnum);
for(new i=0; i<weaponsnum; i++)
if(is_user_alive(id))
if(max_ammo[weapons[i]] > 0)
cs_set_user_bpammo(id, weapons[i], max_ammo[weapons[i]]);
}

Użytkownik Czaso Umilacz edytował ten post 02.12.2012 06:41

  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 02.12.2012 09:17

Masz jakieś error logi ? Dodatkowo w tej funkcji sprawdzaj czy gracz żyję ;)
  • +
  • -
  • 0

If you can dream it, you can do it.


#3 Czaso Umilacz

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 02.12.2012 10:36

Sprawdzanie dodane, nie ma errorlogów, i dodam że funkcja ta nie jest wykonywana przy spawnie :)
  • +
  • -
  • 0

#4 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 02.12.2012 13:19

Z czego pamiętam, jak chciałem dodać komuś tarczę musiałem usunąć w którejś funkcji od dotyku kawałek kodu, który właśnie usuwał tarcze, lecz twój kod sma nie pokrywa się z moim, jakbyś zapodał całe sma byłoby łatwiej.
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#5 Czaso Umilacz

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 02.12.2012 18:39

To jest grubszy projekt, dlatego mogę podać tylko plugin_init na dotyk masz:

register_forward(FM_Touch, "EntityTouch");

Nie uwierzycie jak to rozwiązałem... Kod:

strip_user_weapons(id);
give_item(id, "weapon_usp");
give_item(id, "weapon_shield");

Zamieniłem na:


strip_user_weapons(id);
give_item(id, "weapon_shield");
give_item(id, "weapon_usp");

I dzioło 0.o. Nie wiem o co chodzi ale zadaję sobie pytanie: Dlaczego mój kod działa, tak jak wcześniej dlaczego mój kod nie działa... Może kolejność dawania tarczy ma jakiś wpływ, albo jakiś głupi przypadek.

Użytkownik Czaso Umilacz edytował ten post 02.12.2012 18:41

  • +
  • -
  • 0

#6 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 02.12.2012 20:08

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

If you can dream it, you can do it.





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

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