Dodano 21 wrzesień 2010 - 21:04:
Tylko to ja mam jako ITEM ale możecie sobie przerobić
Nad plugin_init:
new c4array[32][3], fakec4[32], bool:has_fakec4[33];Nad switch(klasa_gracza[id]) w public Odrodzenie(id):
if(c4array[id][0] != 0) RemoveFakeC4(id);W public Odrodzenie(id) za klasami (lub w klasie - usuncie ifa ):
if(informacje_przedmiotu_gracza[id][0] == 62) has_fakec4[id] = true;W public Death() pod new attacker = read_data(1); :
RemoveFakeC4(id);W client_connect(id) i client_disconnect(id) na końcu:
RemoveFakeC4(id);W public UzyjPrzedmiotu(id):
if(informacje_przedmiotu_gracza[id][0] == 62 && c4array[id][0] != 0) DetonateFakeC4(id) if(informacje_przedmiotu_gracza[id][0] == 62 && has_fakec4[id] && freezetime) ColorChat(id, GREEN, "[FakeC4]^x01 Poczekaj na^x04 poczatek^x01 rundy!"); else if(informacje_przedmiotu_gracza[id][0] == 62 && has_fakec4[id]) PlaceFakeC4(id);Na końcu:
// *** Inne opcjonalne *** public PlaceFakeC4(id) { if (c4array[id][0] != 0) { ColorChat(id, GREEN, "[FakeC4]^x01 Juz podlozyles^x04 falszywa bombe^x01!") return PLUGIN_HANDLED } else if(!(get_entity_flags(id) & FL_ONGROUND)) { ColorChat(id, GREEN, "[FakeC4]^x01 Musisz stac na^x04 podlozu^x01!") return PLUGIN_HANDLED } else { new location[3]; get_user_origin(id,location); c4array[id][0] = location[0]; c4array[id][1] = location[1]; c4array[id][2] = location[2]; fakec4[id] = create_entity("env_sprite"); if (!fakec4[id]) return PLUGIN_HANDLED; location[2] = location[2] - 30; new Float:LocVec[3]; IVecFVec(location, LocVec); entity_set_string(fakec4[id], EV_SZ_classname, "FakeC4"); entity_set_edict(fakec4[id], EV_ENT_owner, id); entity_set_int(fakec4[id], EV_INT_solid, 1); entity_set_int(fakec4[id], EV_INT_movetype, 0); entity_set_model(fakec4[id], "models/w_backpack.mdl"); entity_set_origin(fakec4[id], LocVec); DispatchSpawn(fakec4[id]); ColorChat(id, GREEN, "[FakeC4]^x01 Podlozyles^x04 falszywa bombe^x01!") return PLUGIN_HANDLED; } return PLUGIN_HANDLED; } public DetonateFakeC4(id) { if(c4array[id][0] == 0) { ColorChat(id, GREEN, "[FakeC4]^x01 Nie znaleziono zadnych ^x04podlozonych bomb"); return PLUGIN_HANDLED; } else { new location[3], players[32], playercount; location[0] = c4array[id][0]; location[1] = c4array[id][1]; location[2] = c4array[id][2]; explode(location, sprite_blast, 30, 10, 0); get_players(players,playercount,"a"); for (new i=0; i<playercount; i++) { new playerlocation[3], resultdistance; get_user_origin(players[i], playerlocation); resultdistance = get_distance(playerlocation,location); if(resultdistance < 200) { if(is_user_alive(players[i])) fakedamage(players[i],"FakeC4", float(informacje_przedmiotu_gracza[id][1]), DMG_BLAST); } } ColorChat(id, GREEN, "[FakeC4]^x01 Zdetonowales^x04 falszywa bombe^x01!") RemoveFakeC4(id); return PLUGIN_HANDLED; } return PLUGIN_HANDLED } public explode(startloc[3], spritename, scale, framerate, flags) { message_begin( MSG_BROADCAST, SVC_TEMPENTITY); write_byte(3); write_coord(startloc[0]); write_coord(startloc[1]); write_coord(startloc[2]); write_short(spritename); write_byte(scale); write_byte(framerate); write_byte(flags); message_end(); } public RemoveFakeC4(id) { remove_entity(fakec4[id]); c4array[id][0] = 0; c4array[id][1] = 0; c4array[id][2] = 0; if(has_fakec4[id]) has_fakec4[id] = false; return PLUGIN_CONTINUE; } // *** Koniec ***