←  Problemy z pluginami

AMXX.pl: Support AMX Mod X i SourceMod

»

[Problem] Dodanie tarczy dla TT podczas za...

  • +
  • -
Obelix's Photo Obelix 23.03.2020

Witam, 
Mam problem aby dodać tarczę dla TT gdy się włączy zabawa, 

KOD: 

for(new i = 1; i <= MaxClients; ++i) {
if(!isAlive(i) || isTeam(i) != 1) continue;
 
if(isTeam(i) == 1) UsunBronie(i);
if(isTeam(i) == 1) set_user_health(i, 200);
if(isTeam(i) == 1) GiveItem(i, "weapon_deagle", 9999);
if(isTeam(i) == 1) GiveItem(i, "weapon_shield");
}
BŁĄD podczas kompilacji: 
error 088: number of arguments does not match definition

Błąd dotyczy tylko tarczy, gdy usunę tarczę wszystko działa, jeżeli ktoś pomoże daję +++ !! :)
 

 


Edited by Obelix, 23.03.2020 12:00.
Quote

  • +
  • -
Rivit's Photo Rivit 23.03.2020

wklej tutaj funkcje GiveItem, przypuszczam, żę po prostu musisz tam podać argument (nie wiem jak jest w tym jb, ale moze to byc pewnie ile ammo ma dodac)

możesz skorzystac tez z give_item

Quote

  • +
  • -
Obelix's Photo Obelix 23.03.2020

wklej tutaj funkcje GiveItem, przypuszczam, żę po prostu musisz tam podać argument (nie wiem jak jest w tym jb, ale moze to byc pewnie ile ammo ma dodac)

możesz skorzystac tez z give_item

Funkcja GiveItem 

stock GiveItem(id, item[], ammo) {
giveItem(id, item);
cs_set_user_bpammo(id, get_weaponid(item), ammo);
}
////
Zrobiłem tak: 
if(isTeam(i) == 1) GiveItem(i, "weapon_shield", 1);

Wszystko się kompiluje ładnie, lecz na serwerze 1 więzień dostaje tarcze, reszta ginie i się cała zabawa crashuje

///// 

Gdy zrobiłęm tak: 

give_item(id, "weapon_shield");
 
Błędy podczas kompilacji: 
 error 017: undefined symbol "id"
 warning 215: expression has no effect
 error 001: expected token: ";", but found ")"
 error 029: invalid expression, assumed zero
 fatal error 107: too many error messages on one line
 
 

 

 


Edited by Obelix, 23.03.2020 13:52.
Quote

  • +
  • -
Rivit's Photo Rivit 23.03.2020

ehhh, poczytaj na spokojnie moze i sie poucz zamiast bezmyslnie kopiowac.

 

 

GiveItem nie zadziała bo tam ustawia sie tez ammo dla broni - wiec wywali gdy dasz tarcze, logiczne.

 

give_item wymaga w pierwszym argumencie identyfikatora gracza, czyli numerku od 1 do 32 włącznie.

 

jak myslisz co robi ta pętla;

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

ona leci po graczach (czyli po identyfikatorach) od 1 do maxclients

Czyli twoim identyfikatorem w tym momencie nie jest id, lecz i

Quote