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

kod wyciagniety z CoD do Diablo


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

#1 master245

    Profesjonalista

  • Zbanowany

Reputacja: 8
Nowy

  • Postów:205
  • Lokalizacja:Witów
Offline

Napisano 24.03.2011 06:42

Na samym dole wkleilem takie cos:
Skompilowało się bez błedów.
Ale nie wiem czy zadziała.
zrobilem:
new ilosc_dynamitow_gracza[33];

sprite tez mam
ale nie wiem czy dobrze wstawiłemto:
{
if(ilosc_dynamitow_gracza[id]>0)
PolozDynamit(id);


na pewno zle bo mi nie pasuje tutaj.

public PolozDynamit(id)
{
if(ilosc_dynamitow_gracza[id]>0)
PolozDynamit(id);

if(!ilosc_dynamitow_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz caly dynamit!");
return PLUGIN_CONTINUE;
}

if(player_intelligence[id] < 1)
client_print(id, print_center, "Aby wzmocnic dynamit, zwieksz inteligencje!");

ilosc_dynamitow_gracza[id]--;
new Float:fOrigin[3], iOrigin[3];
entity_get_vector( id, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
write_byte(TE_EXPLOSION);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(sprite_blast);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();

message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
write_byte( TE_BEAMCYLINDER );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] );
write_coord( iOrigin[2] );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] + 300 );
write_coord( iOrigin[2] + 300 );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 100 );// r, g, b
write_byte( 100 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 8 ); // speed
message_end();

new entlist[33];
new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid))
continue;
ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(player_intelligence[id]) , 1);
}
return PLUGIN_CONTINUE;
}


Za pomoc wynagrodze ++

#2 góruś

    Profesjonalista

  • Użytkownik

Reputacja: 136
Zaawansowany

  • Postów:164
  • GG:
  • Imię:Damian
  • Lokalizacja:Grójec
Offline

Napisano 24.03.2011 16:08

Oczywiście, że źle, wywołując tą funkcje
if(ilosc_dynamitow_gracza[id]>0)
PolozDynamit(id);

powracasz znowu do początku kodu i tak cały czas...
w public client_PreThink ( id ) dodaj

if( get_user_button(id) & IN_USE && (player_class[id]==xxx || player_item_id[id] == xxx ) && is_user_alive(id))
{
PolozDynamit(id)
}

zaś PolozDynamit(id) zamień na

public PolozDynamit(id)
{
if(!ilosc_dynamitow_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz caly dynamit!");
return PLUGIN_CONTINUE;
}
else if(ilosc_dynamitow_gracza[id]>0)
{

if(player_intelligence[id] < 1)
{
client_print(id, print_center, "Aby wzmocnic dynamit, zwieksz inteligencje!")
return PLUGIN_COUNTIUE
}
ilosc_dynamitow_gracza[id]--;
new Float:fOrigin[3], iOrigin[3];
entity_get_vector( id, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
write_byte(TE_EXPLOSION);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(sprite_blast);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();

message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
write_byte( TE_BEAMCYLINDER );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] );
write_coord( iOrigin[2] );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] + 300 );
write_coord( iOrigin[2] + 300 );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 100 );// r, g, b
write_byte( 100 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 8 ); // speed
message_end();

new entlist[33];
new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid))
continue;
ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(player_intelligence[id]) , 1);
}
return PLUGIN_CONTINUE;
}

Nie mam pojęcia czy to zadziała, w każdym bądź razie wydaje mi się, że powinno być poprawnie.

Użytkownik gorusio edytował ten post 24.03.2011 16:09

  • +
  • -
  • 0

Piszesz na gg w sprawie pomocy? Z góry ignore, pozdrawiam.

CS 1.6 Download
Serwery CS
Cs nonsteam download


#3 master245

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: 8
Nowy

  • Postów:205
  • Lokalizacja:Witów
Offline

Napisano 24.03.2011 17:11

//// dbmod5.sma
// C:\Documents and Settings\User\Pulpit\inne-rozne\pluginy\compiler\dbmod5.sma(1700) : warning 217: loose indentation
// C:\Documents and Settings\User\Pulpit\inne-rozne\pluginy\compiler\dbmod5.sma(1705) : warning 217: loose indentation
// C:\Documents and Settings\User\Pulpit\inne-rozne\pluginy\compiler\dbmod5.sma(10862) : error 017: undefined symbol "PLUGIN_COUNTIUE"
// C:\Documents and Settings\User\Pulpit\inne-rozne\pluginy\compiler\dbmod5.sma(10916) : error 001: expected token: "}", but found "-end of file-"
//
// 2 Errors.


To ta linijka. WYwala bledy w kazdej linijce gdzie jest to:
        return PLUGIN_CONTINUE;

Użytkownik master245 edytował ten post 24.03.2011 17:13


#4 góruś

    Profesjonalista

  • Użytkownik

Reputacja: 136
Zaawansowany

  • Postów:164
  • GG:
  • Imię:Damian
  • Lokalizacja:Grójec
Offline

Napisano 24.03.2011 22:58

edit.

tak jak napisał sebul, popraw literówkę, powinno zadziałać

Użytkownik gorusio edytował ten post 25.03.2011 00:54

  • +
  • -
  • 0

Piszesz na gg w sprawie pomocy? Z góry ignore, pozdrawiam.

CS 1.6 Download
Serwery CS
Cs nonsteam download


#5 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 24.03.2011 23:03

usuń zza return PLUGIN_CONTINUE; to ";" czyli będzie return PLUGIN_CONTINUE

Przestań głupoty wypisywać...
W kodzie masz na początku "return PLUGIN_COUNTIUE", a musi być "return PLUGIN_CONTINUE".

edit.

chociaż jeżeli to nie zadziała, to możesz usunąć te 2 pierwsze, nie są one potrzebne
czyli

stąd
if(!ilosc_dynamitow_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz caly dynamit!");
//return PLUGIN_CONTINUE; <<<< to
}
i stąd
if(player_intelligence[id] < 1)
{
client_print(id, print_center, "Aby wzmocnic dynamit, zwieksz inteligencje!")
//return PLUGIN_COUNTIUE <<<< to
}

Jeszcze większe głupoty...

Użytkownik sebul edytował ten post 24.03.2011 23:04

  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#6 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Postów:716
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wwa
Offline

Napisano 24.03.2011 23:11

tak też widać na jakim poziomie niektórzy pomagają ;)

żeby komentować wartość zwrotną... :P

literówka masakryczna, ktoś tu angielskiego nie zna :mur:

#7 góruś

    Profesjonalista

  • Użytkownik

Reputacja: 136
Zaawansowany

  • Postów:164
  • GG:
  • Imię:Damian
  • Lokalizacja:Grójec
Offline

Napisano 24.03.2011 23:30

up, jeżeli masz pisać takie posty, to lepiej nic w ogóle nie pisz. Zdarzyła mi się literówka, ze skryptowania najlepszy nie jestem ale przynajmniej próbuję komuś pomóc... Po za tym, gdybyś przeczytał chociaż tekst ze zrozumieniem zauważył byś, że nie chcę aby to komentował tylko usunął, ale to tak na marginesie.

Użytkownik gorusio edytował ten post 24.03.2011 23:45

  • +
  • -
  • 0

Piszesz na gg w sprawie pomocy? Z góry ignore, pozdrawiam.

CS 1.6 Download
Serwery CS
Cs nonsteam download


#8 master245

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: 8
Nowy

  • Postów:205
  • Lokalizacja:Witów
Offline

Napisano 25.03.2011 06:10

To teraz taki warning

// C:\Documents and Settings\User\Pulpit\inne-rozne\pluginy\compiler\dbmod5.sma(10916) : warning 209: function "PolozDynamit" should return a value

a to ostatnie linijki
        }
//10913
return PLUGIN_HANDLED; //10914
} //10915
} //10916


#9 KariiO

    Super Hero

  • Power User

Reputacja: 396
Wszechpomocny

  • Postów:1 133
  • GG:
  • Imię:Korneliusz
  • Lokalizacja:Cieszyn
Offline

Napisano 25.03.2011 11:23

Przed ostatnią klamrą zamykającą dodaj:
return PLUGIN_CONTINUE
A to do check_magic(jeżeli chcesz na E):
if (ilosc_dynamitow_gracza[id] > 0) PolozDynamit(id)

  • +
  • -
  • 1




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

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