Edytowałem sobie funkcję od min i zrobiły mi się errory w logach.
Może ktoś w to zerknąć i powiedzieć co źle zrobiłem?
public DotykMiny(ent, id) { new attacker = entity_get_edict(ent, EV_ENT_owner); if (get_user_team(attacker) != get_user_team(id)) { new Float:fOrigin[3], iOrigin[3]; entity_get_vector( ent, 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); // scale write_byte(20); // framerate write_byte(0);// flags message_end(); new entlist[33]; new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32); for (new i=0; i < numfound; i++) { new pid = entlist[i]; if (is_user_alive(pid) && get_user_team(attacker) != get_user_team(pid) && klasa_gracza[pid] != Obronca && klasa_gracza[pid] != General && player_b_antymina[pid] == 0 && (quest_pol[pid] == true && quest_gracza[pid] != 12) && (quest_alkaida[pid] == true && quest_gracza[pid] != 25)) { new Float:dam = 70.0 - (70.0*redukcja_obrazen_gracza[pid]) + float(inteligencja_gracza[id]) ExecuteHam(Ham_TakeDamage, pid, ent, attacker, dam , 1); } remove_entity(ent); if(ilosc_graczy >= 1 && is_user_connected(pid)){ if(quest_gracza[pid] != -1 && quest_pol[pid] == true) { switch(quest_gracza[pid]){ case 12:{ ile_juz[pid]++; zapisz_aktualny_quest(pid) ColorChat(pid, GREEN, "[Misje]^x03 Rozbroiles mine. Pozostala liczba min do zneutralizowania:^x04 %i", questy_pol[quest_gracza[pid]][1]-ile_juz[pid]); } } } } if(ile_juz[pid] >= questy_pol[quest_gracza[pid]][1] && quest_pol[pid] == true) questy_nagrody(pid) if(ilosc_graczy >= 1 && is_user_connected(pid)){ if(quest_gracza[pid] != -1 && quest_alkaida[pid] == true) { switch(quest_gracza[pid]){ case 25:{ ile_juz[pid]++; zapisz_aktualny_quest(pid) ColorChat(pid, GREEN, "[Misje]^x03 Rozbroiles mine. Pozostala liczba min do zneutralizowania:^x04 %i", questy_pol[quest_gracza[pid]][1]-ile_juz[pid]); } } } } if(ile_juz[pid] >= questy_alkaida[quest_gracza[pid]][1] && quest_alkaida[pid] == true) questy_nagrody(pid) } } }
Dokładnie ten if zawadza:
if(ile_juz[pid] >= questy_pol[quest_gracza[pid]][1] && quest_pol[pid] == true) questy_nagrody(pid)
A error wygląda tak:
L 07/13/2012 - 17:40:53: [AMXX] [0] QTMCodMod.sma::DotykMiny (line 7809) L 07/13/2012 - 17:40:53: [AMXX] Displaying debug trace (plugin "QTMCodMod.amxx") L 07/13/2012 - 17:40:53: [AMXX] Run time error 4: index out of bounds
Dzięki za pomoc.