Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Funkcja po rzucenie playera smokiem


  • Zamknięty Temat jest zamknięty
14 odpowiedzi w tym temacie

#1 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 04.08.2011 15:55

Cześć, mam taki kod ale nie działa proszę o pomoc:

Edit:
W plugin init:
register_think("weapon_smokegrenade", "dodaj")

W dodaj(id,ent)
new Float:fVeloc[3]
pev(ent, pev_velocity, fVeloc)
if(vector_length(ent)==0.0)
{
ch_add_user_stats(id, CSW_SMOKEE) //CSW_SMOKEE to celowa nazwa
}


Wskazówki od DarkGL, z których rozumiem 1/10
DarkGL: dajesz register_think
DarkGL: a w thinku
DarkGL: sprawdzasz
DarkGL: pobierasz velocity
DarkGL: bierzesz z tego
DarkGL: vector_length
DarkGL: jestl jest == 0
DarkGL: to granat lezy
DarkGL: wiec dajemy
DarkGL: find_ent_in_sphere
DarkGL: i sprawdzasz czy znaleziony ent to gracz
DarkGL: is_user_alive

Użytkownik Fili:P edytował ten post 04.08.2011 17:07

  • +
  • -
  • 0

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 04.08.2011 18:56

think dostaje tylko jeden parametr; id bytu

register_think("weapon_smokegrenade", "dodaj")

public dodaj(ent){

}

  • +
  • -
  • 0

#3 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 04.08.2011 19:18

I w tym wypadku pozostaje pobrać ownera bytu


new iOwner = pev(iEnt, pev_owner);

new iOwner = entity_get_edict(iEnt, EV_ENT_owner);


EDIT:

Oczywiście jeżeli chcesz potem operować na np. drużynach

Użytkownik diablix edytował ten post 04.08.2011 19:20

  • +
  • -
  • 0

#4 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 05.08.2011 06:32

Mam tak, ale nie wiem co dalej (kod się nie kompiluje)
public dodaj(id,ent)
{
new Float:fVeloc[3]
pev(ent, pev_velocity, fVeloc)
new iOwner = pev(ent, pev_owner);
if(vector_length(ent)==0.0)
{
ch_add_user_stats(id, CSW_SMOKEE)
}
}

  • +
  • -
  • 0

#5 Owner123

    Wszechpomocny

  • Użytkownik

Reputacja: 146
Zaawansowany

  • Postów:331
  • Lokalizacja:Barty ;]
Offline

Napisano 05.08.2011 07:28

if(vector_length(fVeloc)==0.0)

I chyba masz błąd w register_think. Powinno być grenade a nie weapon_smokegrenade.
  • +
  • -
  • 0

#6 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 05.08.2011 08:32

Ale mi chodzi o smokegrenade a nie grenade.
  • +
  • -
  • 0

#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 05.08.2011 09:21

w csx masz
forward grenade_throw( index,greindex,wId );
mają numer enta grantau można zrobić RegisterHamFromEntity (Ham_Think)
ale to już takie tam zabawy ;D
  • +
  • -
  • 1

#8 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 05.08.2011 11:30

A nie da rady samą fake, fake_util i eng ?
  • +
  • -
  • 0

#9 Hiroshima

    Godlike

  • Przyjaciel

Reputacja: 1 327
Godlike

  • Postów:4 984
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Málaga
Offline

Napisano 05.08.2011 11:38

public grenade_throw( id,greindex,wId )
{
if (wId == CSW_SMOKE)
{
//kod
}
}

  • +
  • -
  • 1

#10 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 05.08.2011 13:25

A da ktoś całe dodaj lub plugin_init ?
  • +
  • -
  • 0

#11 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 05.08.2011 13:45

a ktoś tu nie umie a chce się nauczyć pisać pluginy?
  • +
  • -
  • 0

#12 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 05.08.2011 16:07

Nie rozumiem.
  • +
  • -
  • 0

#13 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 05.08.2011 20:13

Hiroshima podał Ci funkcję z csx.

W FM raczej nie ma takiego forwardu

FM_PrecacheModel = 1,	// done
	FM_PrecacheSound,	// done
	FM_SetModel,		// done
	FM_ModelIndex,		// done
	FM_ModelFrames,	// done
	FM_SetSize,		// done
	FM_ChangeLevel,			// done
	FM_VecToYaw,			// done
	FM_VecToAngles,			// done
	FM_MoveToOrigin,		// done
	FM_ChangeYaw,			// done
	FM_ChangePitch,			// done
	FM_FindEntityByString,	// done
	FM_GetEntityIllum,		// done
	FM_FindEntityInSphere,	// done
	FM_FindClientInPVS,		// done
	FM_EntitiesInPVS,		// done
	FM_MakeVectors,			// done
	FM_AngleVectors,		// done
	FM_CreateEntity,		// done
	FM_RemoveEntity,		// done
	FM_CreateNamedEntity,	// done
	FM_MakeStatic,			// done
	FM_EntIsOnFloor,		// done
	FM_DropToFloor,			// done
	FM_WalkMove,			// int  )				(edict_t *ent, float yaw, float dist, int iMode); -- does't work as of 0.20 RC2
	FM_SetOrigin,			// done
	FM_EmitSound,			// done
	FM_EmitAmbientSound,	// done
	FM_TraceLine,			// void )				(const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr); -- does't work as of 0.20 RC2
	FM_TraceToss,			// void )				(edict_t* pent, edict_t* pentToIgnore, TraceResult *ptr); -- does't work as of 0.20 RC2
	FM_TraceMonsterHull,	// int  )		(edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr); -- does't work as of 0.20 RC2
	FM_TraceHull,			// void )				(const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr);  -- does't work as of 0.20 RC2
	FM_TraceModel,			// void )			(const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr);  -- does't work as of 0.20 RC2
	FM_TraceTexture,		// const char *)			(edict_t *pTextureEntity, const float *v1, const float *v2 ); -- does't work as of 0.20 RC2
	FM_TraceSphere,			// void )			(const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr);  -- does't work as of 0.20 RC2
	FM_GetAimVector,		// done
	FM_ParticleEffect,		// done
	FM_LightStyle,			// done
	FM_DecalIndex,			// done
	FM_PointContents,		// done
	FM_MessageBegin,		// done
	FM_MessageEnd,			// done
	FM_WriteByte,			// done
	FM_WriteChar,			// done
	FM_WriteShort,			// done
	FM_WriteLong,			// done
	FM_WriteAngle,			// done
	FM_WriteCoord,			// done
	FM_WriteString,			// done
	FM_WriteEntity,			// done
	FM_CVarGetFloat,		// done
	FM_CVarGetString,		// done
	FM_CVarSetFloat,		// done
	FM_CVarSetString,		// done
	FM_FreeEntPrivateData,	// done
	FM_SzFromIndex,			// done
	FM_AllocString,			// done
	FM_RegUserMsg,			// done
	FM_AnimationAutomove,	// done
	FM_GetBonePosition,		// void )		(const edict_t* pEdict, int iBone, float *rgflOrigin, float *rgflAngles );  -- does't work as of 0.20 RC2
	FM_GetAttachment,		// void	)			(const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles );  -- does't work as of 0.20 RC2
	FM_SetView,				// done
	FM_Time,				// done
	FM_CrosshairAngle,		// done
	FM_FadeClientVolume,	// done
	FM_SetClientMaxspeed,	// done
	FM_CreateFakeClient,	// done
	FM_RunPlayerMove,		// void )			(edict_t *fakeclient, const float *viewangles, float forwardmove, float sidemove, float upmove, unsigned short buttons, byte impulse, byte msec ); -- does't work as of 0.20 RC2
	FM_NumberOfEntities,	// done
	FM_StaticDecal,			// done
	FM_PrecacheGeneric,		// done
	FM_BuildSoundMsg,		// void )			(edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed);  -- does't work as of 0.20 RC2
	FM_GetPhysicsKeyValue,	// done
	FM_SetPhysicsKeyValue,	// done
	FM_GetPhysicsInfoString,// done
	FM_PrecacheEvent,		// done
	FM_PlaybackEvent,		// done
	FM_CheckVisibility,			//)		(
	FM_GetCurrentPlayer,			// done
	FM_CanSkipPlayer,			// done
	FM_SetGroupMask,				//done
	FM_Voice_GetClientListening,	// done
	FM_Voice_SetClientListening,	// done
	FM_InfoKeyValue,	// done
	FM_SetKeyValue,	// done
	FM_SetClientKeyValue,	 // done
	FM_GetPlayerAuthId,	// done
	FM_GetPlayerWONId,	// done
	FM_IsMapValid,	// done


	FM_Spawn,	// done
	FM_Think,	// done
	FM_Use,	// done
	FM_Touch,	// done
	FM_Blocked,	// done
	FM_KeyValue,	// void )			( edict_t *pentKeyvalue, KeyValueData *pkvd ); -- does't work as of 0.20 RC2
	FM_SetAbsBox,			// done
	FM_ClientConnect,		// done
	
	FM_ClientDisconnect,	// done
	FM_ClientKill,		// done
	FM_ClientPutInServer,	// done
	FM_ClientCommand,		// done

	FM_ServerDeactivate,	// done

	FM_PlayerPreThink,		// done
	FM_PlayerPostThink,		// done

	FM_StartFrame,		// done
	FM_ParmsNewLevel,		// done
	FM_ParmsChangeLevel,	// done

	 // Returns string describing current .dll.  E.g., TeamFotrress 2, Half-Life
	FM_GetGameDescription,	 // done

	// Spectator funcs
	FM_SpectatorConnect,	// done
	FM_SpectatorDisconnect,	// done
	FM_SpectatorThink,		// done

	// Notify game .dll that engine is going to shut down.  Allows mod authors to set a breakpoint.
	FM_Sys_Error,		// done

	FM_PM_FindTextureType,	// done
	FM_RegisterEncoders,	// done

	// Enumerates player hulls.  Returns 0 if the hull number doesn't exist, 1 otherwise

	// Create baselines for certain "unplaced" items.
	FM_CreateInstancedBaseline,	// done 
	FM_AllowLagCompensation,	// done
	FM_AlertMessage, //done (at_type, message[])
};

  • +
  • -
  • 1

#14 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 06.08.2011 10:16

Śmiga, lecą 3 plusy. DarkGL za wskazówki, hiroshima za odpowiedź, diablix za wytłumaczenie, proszę o zamknięcie tematu.
  • +
  • -
  • 0

#15 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7 490
  • Lokalizacja:AMXX.PL
Offline

Napisano 06.08.2011 10:21

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: wyjaśnione

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych