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.
|
Guest Message by DevFuse

Prosze o poprawienie klasy
Temat rozp. bialy223, 24.08.2012 14:17
3 odpowiedzi w tym temacie
#1
Napisano 24.08.2012 14:17
Poprawi mi ktoś tą klase żeby miała mignięcia co 3 sekundy?
#2
Napisano 25.08.2012 20:06
@Refresh
#3
Napisano 29.08.2012 20:23
@ Refresh
#4
Napisano 29.08.2012 22:42
Masz jak nie będzie działać napisz co ile cię teleportuje.
#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <fakemeta> #define BASE_TASK 5123 new const nazwa[] = "Jumper"; new const opis[] = "Ma możliwosc robienia mignięcia (Klawisz E)"; new const bronie = (1<<CSW_UMP45); new const zdrowie = 30; new const kondycja = 10; new const inteligencja = 0; new const wytrzymalosc = 0; new const frakcja[] = "Premium"; new bool:Teleportacja[33]; public plugin_init() { register_plugin(nazwa, "1.0", "amxx.pl"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, frakcja); } public cod_class_enabled(id) { Teleportacja[id] = true; if(!(get_user_flags(id) & ADMIN_LEVEL_G)) { client_print(id, print_chat, "[Jumper] Nie masz uprawnien, aby uzywac tej klasy.") return COD_STOP; } return COD_CONTINUE; } public cod_class_disabled(id) Teleportacja[id] = false; public cod_class_skill_used(id) { if(!Teleportacja[id]) return PLUGIN_CONTINUE; Teleportacja[id] = true; UTIL_Teleport(id, 300+15*cod_get_user_intelligence(id)) set_task(3.0, "ponownieTeleportuj", BASE_TASK+id); return PLUGIN_HANDLED; } public ponownieTeleportuj(id2) { new id = id2 - BASE_TASK; if(is_user_connected(id) && !Teleportacja[id]) return PLUGIN_HANDLED; Teleportacja[id] = true; return PLUGIN_HANDLED; } public UTIL_Teleport(id,distance) // with DB MOD { Set_Origin_Forward(id,distance) new origin[3] get_user_origin(id,origin) //Particle burst ie. teleport effect message_begin(MSG_BROADCAST ,SVC_TEMPENTITY) //message begin write_byte(TE_PARTICLEBURST ) write_coord(origin[0]) // origin write_coord(origin[1]) // origin write_coord(origin[2]) // origin write_short(20) // radius write_byte(1) // particle color write_byte(4) // duration * 10 will be randomized a bit message_end() } stock Set_Origin_Forward(id, distance) // WITH DB OMD { new Float:origin[3] new Float:angles[3] new Float:teleport[3] new Float:heightplus = 10.0 new Float:playerheight = 64.0 new bool:recalculate = false new bool:foundheight = false pev(id,pev_origin,origin) pev(id,pev_angles,angles) teleport[0] = origin[0] + distance * floatcos(angles[1],degrees) * floatabs(floatcos(angles[0],degrees)); teleport[1] = origin[1] + distance * floatsin(angles[1],degrees) * floatabs(floatcos(angles[0],degrees)); teleport[2] = origin[2]+heightplus while (!Can_Trace_Line_Origin(origin,teleport) || Is_Point_Stuck(teleport,48.0)) { if (distance < 10) break; //First see if we can raise the height to MAX playerheight, if we can, it's a hill and we can teleport there for (new i=1; i < playerheight+20.0; i++) { teleport[2]+=i if (Can_Trace_Line_Origin(origin,teleport) && !Is_Point_Stuck(teleport,48.0)) { foundheight = true heightplus += i break } teleport[2]-=i } if (foundheight) break recalculate = true distance-=10 teleport[0] = origin[0] + (distance+32) * floatcos(angles[1],degrees) * floatabs(floatcos(angles[0],degrees)); teleport[1] = origin[1] + (distance+32) * floatsin(angles[1],degrees) * floatabs(floatcos(angles[0],degrees)); teleport[2] = origin[2]+heightplus } if (!recalculate) { set_pev(id,pev_origin,teleport) return PLUGIN_CONTINUE } teleport[0] = origin[0] + distance * floatcos(angles[1],degrees) * floatabs(floatcos(angles[0],degrees)); teleport[1] = origin[1] + distance * floatsin(angles[1],degrees) * floatabs(floatcos(angles[0],degrees)); teleport[2] = origin[2]+heightplus set_pev(id,pev_origin,teleport) return PLUGIN_CONTINUE } stock bool:Can_Trace_Line_Origin(Float:origin1[3], Float:origin2[3]) // WITH DB MOD { new Float:Origin_Return[3] new Float:temp1[3] new Float:temp2[3] temp1[0] = origin1[0] temp1[1] = origin1[1] temp1[2] = origin1[2]-30 temp2[0] = origin2[0] temp2[1] = origin2[1] temp2[2] = origin2[2]-30 trace_line(-1, temp1, temp2, Origin_Return) if (get_distance_f(Origin_Return,temp2) < 1.0) return true return false } stock bool:Is_Point_Stuck(Float:Origin[3], Float:hullsize) // WITH DB MOD { new Float:temp[3] new Float:iterator = hullsize/3 temp[2] = Origin[2] for (new Float:i=Origin[0]-hullsize; i < Origin[0]+hullsize; i+=iterator) { for (new Float:j=Origin[1]-hullsize; j < Origin[1]+hullsize; j+=iterator) { //72 mod 6 = 0 for (new Float:k=Origin[2]-72.0; k < Origin[2]+72.0; k+=6) { temp[0] = i temp[1] = j temp[2] = k if (point_contents(temp) != -1) return true } } } return false } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych