Witam,
Próbuję zrobić plugin który liczy odległość granata od gracza gdy granat dotknie ziemi pierwszy raz.
Problem leży w tym że w funkcji do Ham_Touch nie działa poprawnie id gracza...
#include <amxmodx> #include <fakemeta_util> #include <hamsandwich> #define PLUGIN "Grenade Distance" #define VERSION "1.0" #define AUTHOR "oeN." new Float:player_origin[33][3], bool:grenade_touched; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); RegisterHam(Ham_Touch, "grenade", "Touch") } public grenade_throw(id, greindex, grenade) { if(grenade == CSW_SMOKEGRENADE) { new origin[3]; get_user_origin(id, origin); for(new i=0;i<3;i++) player_origin[id][i] = float(origin[i]); client_print(id, print_chat, "Rzuciles granat"); grenade_touched = false; } } public Touch(ent, id) { if(!grenade_touched) { new Float:grenade_origin[3], Float:final_dist[3]; grenade_touched = true; fm_get_brush_entity_origin(ent, grenade_origin); xs_vec_cross(grenade_origin, player_origin[id], final_dist); client_print(0, print_chat, "Granat wyladowal %.1f unitow od gracza", final_dist); } }
Jakieś sugestie co tu jest nie tak? Gdy używam player_origin[33][3] to w Touch gdy sprawdzam player_origin[id][0] wychodzi 0.0. Gdy jednak użyję player_origin[3] to już normalnie pokazuje...
@Edit
Ale Ja jestem głupi... Niby w jaki sposób miało by to być id gracza?... Ehh.
Delete to coś pls
Użytkownik oeN. edytował ten post 16.11.2015 22:02