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

problem z nową rundąznowu potrzebna pomoc ;d


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 wheypro

    Pomocny

  • Zbanowany

Reputacja: -25
Masakra

  • Postów:74
  • Lokalizacja:Zakaz podawania adresów stron w polu "Lokalizacja" itp.
Offline

Napisano 01.01.2013 21:41

Napisałem plugin co po wpisaniu an sayu /ho, ustawia nas niewidzialnymi. Udalo mi się w końcu ogarnać boole i udalo mi się sprawić ze plugin włącza bool "niewidze" a tenz kolei ustawia nas niewidzialnymi. Niestety powstał problem. Skopiowałem żywcem z ruletki tego manika, event nowej rundy gdy wszytskie boole daje na wartosć false. Niestety nadal jestem nie widzialny ;/. Myslę ze coś pominołem na początku,a co pózniej jest uzywane w w pętli(w ogóle do nich jeszcze nie doszedłem):
#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#include <fun>
#include <cstrike>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "tomek"

new bool:niewidze[33];

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /ho", "hehe")
register_logevent("PoczatekRundy", 2, "1=Round_Start");
}
public hehe(id)
{
niewidze[id] = true

if(niewidze[id] == true){
fm_set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha)
}
}
public PoczatekRundy()
{
new iNum = get_playersnum();
for(new i; i<=iNum; i++)
{
if(is_user_connected(i))
{
niewidze[i] = false
set_user_health(0, 20102)
}
}
}

(01.01.2013 23:03):
Kod w postach (np. źródło pluginu) umieszczaj w odpowiednich tagach (code/php/spoiler itp), a powyżej 200 linijek tylko w załączniku lub na wklejce.

Użytkownik benio101 edytował ten post 01.01.2013 23:06
Indentację rodem OLO poprawiłem, znacznik SMA dodałem.


#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 01.01.2013 23:16

Zmienna zmienną, niewidzialność niewidzialnością.
Proponuję po prostu zdjąć niewidzialność w momencie spawnu gracza.
Jeśli ma to się odbywać koniecznie na początku rundy, to albo
new iNum = get_playersnum();
for(new i; i<iNum; ++i)
{
if(is_user_connected(i))
{
set_user_rendering(vid, kRenderFxNone, 255, 255, 255, kRenderNormal, 16);
}
}
albo
for(new i=1; i<=maxPlayers; ++i)
{
if(is_user_connected(i))
{
set_user_rendering(vid, kRenderFxNone, 255, 255, 255, kRenderNormal, 16);
}
}
gdzie maxPlayers to maksymalna liczba graczy na serwerze.

Zmienną myślę, że możesz usunąć, o ile usuwasz niewidzialność wszystkim.
W przeciwnymwypadku zostaw ją i dodaje jedynie ten warunek.

Sprawdzanie
if(niewidze[id] == true){
jest zbędne tuż po
niewidze[id] = true
gdyż zawsze zwróci prawdę.
Ponadto porównywanie liczby bądź wartości logicznej do prawdy w IFie jest bezcelowe.

#3 wheypro

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -25
Masakra

  • Postów:74
  • Lokalizacja:Zakaz podawania adresów stron w polu "Lokalizacja" itp.
Offline

Napisano 02.01.2013 12:28

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

Warning: Loose indentation on line 34
Error: Undefined symbol "maxPlayers" on line 59
Error: Undefined symbol "vid" on line 63
Warning: Expression has no effect on line 63
Warning: Expression has no effect on line 63
Warning: Expression has no effect on line 63
Warning: Expression has no effect on line 63
Warning: Expression has no effect on line 63
Warning: Expression has no effect on line 63
Error: Expected token: ";", but found ")" on line 63
Error: Invalid expression, assumed zero on line 63
Error: Too many error messages on one line on line 63

Compilation aborted.
5 Errors.
Could not locate output file D:\amxx studi!\kl2.amx (compile failed).




public Nowa_Runda()
{
for(new i=1; i<=maxPlayers; ++i)
{
if(is_user_connected(i))
{
set_user_rendering(vid, kRenderFxNone, 255, 255, 255, kRenderNormal, 16);
}
}
}


#4 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 02.01.2013 20:51




public Nowa_Runda()

{

new maxPlayers = get_maxplayers();

for(new i=1; i<=maxPlayers; ++i)

{

if(is_user_connected(i))

{

set_user_rendering(vid, kRenderFxNone, 255, 255, 255, kRenderNormal, 16);

}

}

}

  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#5 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 02.01.2013 21:00

maxPlayers w plugin_cfg prosiłem, żeby dopisać.
w set_user_rendering pierwszy argument zmień na
i
z pośpiechu zły podałem, choć tyle miałem nadzieję, że po logu
Error: Undefined symbol "vid" on line 63
da się dostrzec.

Gotowiec:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#include <fun>
#include <cstrike>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "tomek"

new maxPlayers;

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /ho", "hehe");
register_logevent("PoczatekRundy", 2, "1=Round_Start");
}

public plugin_cfg(){
maxPlayers=get_maxplayers();
}

public hehe(id)
{
fm_set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha);
}
public PoczatekRundy()
{
for(new i=1; i<=maxPlayers; ++i)
{
if(is_user_connected(i))
{
set_user_rendering(i, kRenderFxNone, 255, 255, 255, kRenderNormal, 16);
}
}
}

speedkill (02.01.2013 21:04):
if(is_user_connected(i)) -> if(is_user_alive(i)) ;)





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

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