Jump to content
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
Kerel 303

Tworzenie obiektów na serwerze CS GO

Recommended Posts

Witam Ostatnio zastanawiam się jak działają plugny typu base builder. Zastanawiam się jak tworzyć obiekty przestrzenne.  Chciałem napisać plugin, który po rzuceniu weapon_tagrenade (Granat Taktyczny) będzie blokować efekt widzenia przez ściany i gdy wybuchnie powstanie działo maszynowe (Takie jak w trybie BR) i będzie atakować graczy tylko z przeciwnego teamu. Jestem również ciekawy jak tworzyć dla przykładu sześcian używając wybranej tekstury.

 

Za odpowiedzi z góry dziękuję 🙂 

Share this post


Link to post
Share on other sites

Obczaj ten plugin : https://forums.alliedmods.net/showthread.php?p=2499362
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Godzinę temu, Kerel 303 napisał:

będzie blokować efekt widzenia przez ściany

Czyli nie doprowadzasz do jego wybuchu, a w momencie gdy powinien wybuchnąć dorzucasz inną akcję

Share this post


Link to post
Share on other sites

@supertimor Bardzo dziękuję za pomoc 🙂 Szczerze Pozdrawiam 

 

Dla osób przeglądających ten post:

funkcja do wyłapania wybuchu i zablokowania go:

//najpierw dajemy includ'y potrzebne do pluginu
#include <sourcemod>
#include <skdhooks>
#include <sdktools>
//następnie nakładamy Hook na wybuch granatu
public void OnPluginStart() {
    HookEvent("hegrenade_detonate", HeDetonate, EventHookMode_Pre);
}
public Action HeDetonate(Event event, const char[] name, bool dontBroadcast) { // tutaj wybuch granatu jest blokowany
    int entity = event.GetInt("entityid");
	char HegranadeName[16];
	GetEntPropString(entity, Prop_Data, "m_iName", HegranadeName, sizeof(HegranadeName));
	if(!StrEqual(HegranadeName, "normal", false)) {
		AcceptEntityInput(entity, "Kill");
    }
    //tutaj dajemy kod który ma się wykonać zamiast wybuchu :-)
}

Mam nadzieję, że dobrze to zrozumiałem (jestem początkującym 😉)  na wypadek błędów proszę o napisanie pod postem. 

Edited by Kerel 303

Share this post


Link to post
Share on other sites

Pytanie brzmi: Czy działko z Danger Zone normalnie działa? Przykładowo tablet jest po prostu wyłączony, a na szybko przeszukując internet nie dowiedziałem się nic o sentry gunie (jak i również nigdy nie widziałem go na innych serwerach poza DZ). Jeśli okazałoby się, że po prostu się nie da - trzeba wszystko robić ręcznie

 

@EDIT

 

https://steamcommunity.com/sharedfiles/filedetails/?id=1585205430
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

 

ent_create dronegun

 

To polecenie stworzy drona. Teraz można się zastanowić jak ma on atakować tylko drużynę przeciwną...

Share this post


Link to post
Share on other sites

Trzeba znaleźć i zahookować moment, w którym ten dziad będzie wybierał target. Wiemy, że ten moment  odbywa się gdy coś znajdzie się w jego zasięgu.Tutaj datamaps droneguna :

Spoiler

 


CDronegun - dronegun
- m_flGroundSpeed (Offset 940) (Save)(4 Bytes)
- m_flLastEventCheck (Offset 944) (Save)(4 Bytes)
- m_bSequenceFinished (Offset 1028) (Save)(1 Bytes)
- m_bSequenceLoops (Offset 1029) (Save)(1 Bytes)
- m_nSkin (Offset 964) (Save|Key)(4 Bytes) - ModelSkin
- m_nSkin (Offset 964) (Save|Key|Input)(4 Bytes) - skin
- m_nBody (Offset 968) (Save|Key)(4 Bytes) - body
- m_nBody (Offset 968) (Save|Key|Input)(4 Bytes) - SetBodyGroup
- m_nHitboxSet (Offset 972) (Save|Key)(4 Bytes) - hitboxset
- m_nSequence (Offset 1040) (Save|Key)(4 Bytes) - sequence
- m_flPoseParameter (Offset 1044) (Save)(96 Bytes)
- m_flEncodedController (Offset 1140) (Save)(16 Bytes)
- m_flPlaybackRate (Offset 980) (Save|Key)(4 Bytes) - playbackrate
- m_flCycle (Offset 1036) (Save|Key)(4 Bytes) - cycle
- m_pIk (Offset 1020) (Save)(0 Bytes)
- m_iIKCounter (Offset 1024) (Save)(4 Bytes)
- m_bClientSideAnimation (Offset 1156) (Save)(1 Bytes)
- m_bClientSideFrameReset (Offset 1157) (Save)(1 Bytes)
- m_nNewSequenceParity (Offset 1160) (Save)(4 Bytes)
- m_nResetEventsParity (Offset 1164) (Save)(4 Bytes)
- m_nMuzzleFlashParity (Offset 1169) (Save)(1 Bytes)
- m_iszLightingOriginRelative (Offset 1180) (Save|Key)(4 Bytes) - LightingOriginHack
- m_iszLightingOrigin (Offset 1184) (Save|Key)(4 Bytes) - LightingOrigin
- m_hLightingOrigin (Offset 1172) (Save)(4 Bytes)
- m_hLightingOriginRelative (Offset 1176) (Save)(4 Bytes)
- m_flModelScale (Offset 976) (Save|Key)(4 Bytes) - ModelScale
- m_flDissolveStartTime (Offset 1032) (Save)(4 Bytes)
- InputIgnite (Offset 0) (Input)(0 Bytes) - Ignite
- InputIgniteLifetime (Offset 0) (Input)(0 Bytes) - IgniteLifetime
- InputIgnite (Offset 0) (Input)(0 Bytes) - IgniteNumHitboxFires
- InputIgnite (Offset 0) (Input)(0 Bytes) - IgniteHitboxFireScale
- InputBecomeRagdoll (Offset 0) (Input)(0 Bytes) - BecomeRagdoll
- InputSetLightingOriginRelative (Offset 0) (Input)(0 Bytes) - SetLightingOriginHack
- InputSetLightingOrigin (Offset 0) (Input)(0 Bytes) - SetLightingOrigin
- m_OnIgnite (Offset 1216) (Save|Key|Output)(0 Bytes) - OnIgnite
- m_flFrozen (Offset 1196) (Save)(4 Bytes)
- m_flFrozenThawRate (Offset 1208) (Save)(4 Bytes)
- m_flFrozenMax (Offset 1212) (Save)(4 Bytes)
- m_fBoneCacheFlags (Offset 1192) (Save)(2 Bytes)
- m_bSuppressAnimSounds (Offset 1168) (Save|Key)(1 Bytes) - SuppressAnimSounds
- m_iClassname (Offset 104) (Save|Key)(4 Bytes) - classname
- m_iGlobalname (Offset 548) (Global|Save|Key)(4 Bytes) - globalname
- m_iParent (Offset 552) (Save|Key)(4 Bytes) - parentname
- m_nMinCPULevel (Offset 528) (Save|Key)(1 Bytes) - mincpulevel
- m_nMaxCPULevel (Offset 529) (Save|Key)(1 Bytes) - maxcpulevel
- m_nMinGPULevel (Offset 530) (Save|Key)(1 Bytes) - mingpulevel
- m_nMaxGPULevel (Offset 531) (Save|Key)(1 Bytes) - maxgpulevel
- m_iHammerID (Offset 556) (Save|Key)(4 Bytes) - hammerid
- m_flSpeed (Offset 560) (Save|Key)(4 Bytes) - speed
- m_nRenderFX (Offset 204) (Save|Key)(1 Bytes) - renderfx
- m_nRenderMode (Offset 205) (Save|Key)(1 Bytes) - rendermode
- m_flPrevAnimTime (Offset 108) (Save)(4 Bytes)
- m_flAnimTime (Offset 112) (Save)(4 Bytes)
- m_flSimulationTime (Offset 116) (Save)(4 Bytes)
- m_nLastThinkTick (Offset 120) (Save)(4 Bytes)
- m_iszScriptId (Offset 908) (Save)(4 Bytes)
- m_iszVScripts (Offset 872) (Save|Key)(4 Bytes) - vscripts
- m_iszScriptThinkFunction (Offset 876) (Save|Key)(4 Bytes) - thinkfunction
- m_nNextThinkTick (Offset 172) (Save|Key)(4 Bytes) - nextthink
- m_fEffects (Offset 176) (Save|Key)(4 Bytes) - effects
- m_clrRender (Offset 208) (Save|Key)(4 Bytes) - rendercolor
- m_nModelIndex (Offset 206) (Global|Save|Key)(2 Bytes) - modelindex
- touchStamp (Offset 124) (Save)(4 Bytes)
- m_aThinkFunctions (Offset 128) (Save)(0 Bytes)
- m_ResponseContexts (Offset 148) (Save)(0 Bytes)
- m_iszResponseContext (Offset 168) (Save|Key)(4 Bytes) - ResponseContext
- m_pfnThink (Offset 16) (Save)(8 Bytes)
- m_pfnTouch (Offset 580) (Save)(8 Bytes)
- m_pfnUse (Offset 588) (Save)(8 Bytes)
- m_pfnBlocked (Offset 596) (Save)(8 Bytes)
- m_pfnMoveDone (Offset 8) (Save)(8 Bytes)
- m_lifeState (Offset 605) (Save)(1 Bytes)
- m_takedamage (Offset 606) (Save)(1 Bytes)
- m_iMaxHealth (Offset 564) (Save|Key)(4 Bytes) - max_health
- m_iHealth (Offset 568) (Save|Key)(4 Bytes) - health
- m_bIsAutoaimTarget (Offset 184) (Save|Key)(1 Bytes) - is_autoaim_target
- m_target (Offset 192) (Save|Key)(4 Bytes) - target
- m_iszDamageFilterName (Offset 572) (Save|Key)(4 Bytes) - damagefilter
- m_hDamageFilter (Offset 576) (Save)(4 Bytes)
- m_debugOverlays (Offset 864) (Save)(4 Bytes)
- m_pParent (Offset 232) (Global|Save)(4 Bytes)
- m_iParentAttachment (Offset 237) (Save)(1 Bytes)
- m_hMoveParent (Offset 240) (Global|Save)(4 Bytes)
- m_hMoveChild (Offset 244) (Global|Save)(4 Bytes)
- m_hMovePeer (Offset 248) (Global|Save)(4 Bytes)
- m_iEFlags (Offset 220) (Save)(4 Bytes)
- m_iName (Offset 228) (Save)(4 Bytes)
 Sub-Class Table (1 Deep): m_Collision - CCollisionProperty
 - m_vecMins (Offset 8) (Global|Save)(12 Bytes)
 - m_vecMaxs (Offset 20) (Global|Save)(12 Bytes)
 - m_nSolidType (Offset 34) (Save|Key)(1 Bytes) - solid
 - m_usSolidFlags (Offset 32) (Save)(2 Bytes)
 - m_nSurroundType (Offset 42) (Save)(1 Bytes)
 - m_flRadius (Offset 36) (Save)(4 Bytes)
 - m_triggerBloat (Offset 35) (Save)(1 Bytes)
 - m_vecSpecifiedSurroundingMins (Offset 44) (Save)(12 Bytes)
 - m_vecSpecifiedSurroundingMaxs (Offset 56) (Save)(12 Bytes)
 - m_vecSurroundingMins (Offset 68) (Save)(12 Bytes)
 - m_vecSurroundingMaxs (Offset 80) (Save)(12 Bytes)
 Sub-Class Table (1 Deep): m_Network - CServerNetworkProperty
 - m_hParent (Offset 52) (Global|Save)(4 Bytes)
- m_MoveType (Offset 238) (Save|Key)(1 Bytes) - MoveType
- m_MoveCollide (Offset 239) (Save)(1 Bytes)
- m_hOwnerEntity (Offset 344) (Save)(4 Bytes)
- m_CollisionGroup (Offset 348) (Save|Key)(4 Bytes) - CollisionGroup
- m_pPhysicsObject (Offset 352) (Save)(0 Bytes)
- m_flElasticity (Offset 464) (Save)(4 Bytes)
- m_flShadowCastDistance (Offset 848) (Save|Key)(4 Bytes) - shadowcastdist
- m_flDesiredShadowCastDistance (Offset 852) (Save)(4 Bytes)
- m_iInitialTeamNum (Offset 804) (Save|Key|Input)(4 Bytes) - TeamNum
- m_iTeamNum (Offset 808) (Save|Key)(4 Bytes) - teamnumber
- m_iPendingTeamNum (Offset 812) (Save|Key)(4 Bytes) - pendingteamnumber
- m_hGroundEntity (Offset 368) (Save)(4 Bytes)
- m_flGroundChangeTime (Offset 372) (Save)(4 Bytes)
- m_ModelName (Offset 180) (Global|Save|Key)(4 Bytes) - model
- m_AIAddOn (Offset 820) (Save|Key)(4 Bytes) - addon
- m_vecBaseVelocity (Offset 376) (Save|Key)(12 Bytes) - basevelocity
- m_vecAbsVelocity (Offset 388) (Save)(12 Bytes)
- m_vecAngVelocity (Offset 400) (Save|Key)(12 Bytes) - avelocity
- m_rgflCoordinateFrame (Offset 412) (Save)(48 Bytes)
- m_nWaterLevel (Offset 363) (Save|Key)(1 Bytes) - waterlevel
- m_nWaterType (Offset 362) (Save)(1 Bytes)
- m_pBlocker (Offset 520) (Save)(4 Bytes)
- m_flGravity (Offset 824) (Save|Key)(4 Bytes) - gravity
- m_flFriction (Offset 460) (Save|Key)(4 Bytes) - friction
- m_flLocalTime (Offset 468) (Save|Key)(4 Bytes) - ltime
- m_flVPhysicsUpdateLocalTime (Offset 472) (Save)(4 Bytes)
- m_flMoveDoneTime (Offset 476) (Save)(4 Bytes)
- m_vecAbsOrigin (Offset 484) (Save)(12 Bytes)
- m_vecVelocity (Offset 508) (Save|Key)(12 Bytes) - velocity
- m_iTextureFrameIndex (Offset 524) (Save|Key)(1 Bytes) - texframeindex
- m_bSimulatedEveryTick (Offset 525) (Save)(1 Bytes)
- m_bAnimatedEveryTick (Offset 526) (Save)(1 Bytes)
- m_bAlternateSorting (Offset 527) (Save)(1 Bytes)
- m_spawnflags (Offset 816) (Save|Key)(4 Bytes) - spawnflags
- m_nTransmitStateOwnedCounter (Offset 236) (Save)(1 Bytes)
- m_angAbsRotation (Offset 496) (Save)(12 Bytes)
- m_vecOrigin (Offset 752) (Save)(12 Bytes)
- m_angRotation (Offset 764) (Save)(12 Bytes)
- m_bClientSideRagdoll (Offset 604) (Save)(1 Bytes)
- m_vecViewOffset (Offset 780) (Save|Key)(12 Bytes) - view_ofs
- m_fFlags (Offset 224) (Save)(4 Bytes)
- m_nSimulationTick (Offset 212) (Save)(4 Bytes)
- m_flNavIgnoreUntilTime (Offset 364) (Save)(4 Bytes)
- InputSetTeam (Offset 0) (Input)(0 Bytes) - SetTeam
- m_fadeMinDist (Offset 836) (Save|Key|Input)(4 Bytes) - fademindist
- m_fadeMaxDist (Offset 840) (Save|Key|Input)(4 Bytes) - fademaxdist
- m_flFadeScale (Offset 844) (Save|Key)(4 Bytes) - fadescale
- InputKill (Offset 0) (Input)(0 Bytes) - Kill
- InputKillHierarchy (Offset 0) (Input)(0 Bytes) - KillHierarchy
- InputUse (Offset 0) (Input)(0 Bytes) - Use
- InputAlpha (Offset 0) (Input)(0 Bytes) - Alpha
- InputAlternativeSorting (Offset 0) (Input)(0 Bytes) - AlternativeSorting
- InputColor (Offset 0) (Input)(0 Bytes) - Color
- InputSetParent (Offset 0) (Input)(0 Bytes) - SetParent
- InputSetParentAttachment (Offset 0) (Input)(0 Bytes) - SetParentAttachment
- InputSetParentAttachmentMaintainOffset (Offset 0) (Input)(0 Bytes) - SetParentAttachmentMaintainOffset
- InputClearParent (Offset 0) (Input)(0 Bytes) - ClearParent
- InputSetLocalOrigin (Offset 0) (Input)(0 Bytes) - SetLocalOrigin
- InputSetLocalAngles (Offset 0) (Input)(0 Bytes) - SetLocalAngles
- InputSetDamageFilter (Offset 0) (Input)(0 Bytes) - SetDamageFilter
- InputEnableDamageForces (Offset 0) (Input)(0 Bytes) - EnableDamageForces
- InputDisableDamageForces (Offset 0) (Input)(0 Bytes) - DisableDamageForces
- InputDispatchResponse (Offset 0) (Input)(0 Bytes) - DispatchResponse
- InputAddContext (Offset 0) (Input)(0 Bytes) - AddContext
- InputRemoveContext (Offset 0) (Input)(0 Bytes) - RemoveContext
- InputClearContext (Offset 0) (Input)(0 Bytes) - ClearContext
- InputDisableShadow (Offset 0) (Input)(0 Bytes) - DisableShadow
- InputEnableShadow (Offset 0) (Input)(0 Bytes) - EnableShadow
- InputDisableDraw (Offset 0) (Input)(0 Bytes) - DisableDraw
- InputEnableDraw (Offset 0) (Input)(0 Bytes) - EnableDraw
- InputDisableReceivingFlashlight (Offset 0) (Input)(0 Bytes) - DisableReceivingFlashlight
- InputEnableReceivingFlashlight (Offset 0) (Input)(0 Bytes) - EnableReceivingFlashlight
- InputDisableDrawInFastReflection (Offset 0) (Input)(0 Bytes) - DisableDrawInFastReflection
- InputEnableDrawInFastReflection (Offset 0) (Input)(0 Bytes) - EnableDrawInFastReflection
- InputAddOutput (Offset 0) (Input)(0 Bytes) - AddOutput
- InputFireUser1 (Offset 0) (Input)(0 Bytes) - FireUser1
- InputFireUser2 (Offset 0) (Input)(0 Bytes) - FireUser2
- InputFireUser3 (Offset 0) (Input)(0 Bytes) - FireUser3
- InputFireUser4 (Offset 0) (Input)(0 Bytes) - FireUser4
- InputRunScriptFile (Offset 0) (Input)(0 Bytes) - RunScriptFile
- InputRunScript (Offset 0) (Input)(0 Bytes) - RunScriptCode
- InputCallScriptFunction (Offset 0) (Input)(0 Bytes) - CallScriptFunction
- m_OnUser1 (Offset 612) (Save|Key|Output)(0 Bytes) - OnUser1
- m_OnUser2 (Offset 636) (Save|Key|Output)(0 Bytes) - OnUser2
- m_OnUser3 (Offset 660) (Save|Key|Output)(0 Bytes) - OnUser3
- m_OnUser4 (Offset 684) (Save|Key|Output)(0 Bytes) - OnUser4
- CBaseEntitySUB_Remove (Offset 0) (FunctionTable)(0 Bytes)
- CBaseEntitySUB_DoNothing (Offset 0) (FunctionTable)(0 Bytes)
- CBaseEntitySUB_StartFadeOut (Offset 0) (FunctionTable)(0 Bytes)
- CBaseEntitySUB_StartFadeOutInstant (Offset 0) (FunctionTable)(0 Bytes)
- CBaseEntitySUB_FadeOut (Offset 0) (FunctionTable)(0 Bytes)
- CBaseEntitySUB_Vanish (Offset 0) (FunctionTable)(0 Bytes)
- CBaseEntitySUB_CallUseToggle (Offset 0) (FunctionTable)(0 Bytes)
- CBaseEntityShadowCastDistThink (Offset 0) (FunctionTable)(0 Bytes)
- CBaseEntityScriptThink (Offset 0) (FunctionTable)(0 Bytes)
- m_hEffectEntity (Offset 832) (Save)(4 Bytes)
- m_bLagCompensate (Offset 857) (Save|Key)(1 Bytes) - LagCompensate
- m_bForcePurgeFixedupStrings (Offset 858) (Save)(1 Bytes)
- m_flUseLookAtAngle (Offset 4) (Save)(4 Bytes)
- m_flMaxFallVelocity (Offset 828) (Save)(4 Bytes)
- m_bEligibleForScreenHighlight (Offset 532) (Save)(1 Bytes)

 

 

 

 

Myślę, że  "m_target (Offset 192) (Save|Key)(4 Bytes) - target" będzie nas interesowało. Trzeba by sprawdzić, czy przypadkiem tutaj nie jest zapisywany ID klienta, w którego działko będzie strzelało. Jeśli tak, to trzeba je zmienić. Jednak to nie jest droga, którą proponowałem, bo tu zmieniamy ID pobranego już klienta a zamysł był taki, żeby pobierać tylko klientów z przeciwnego teamu. W ogóle team droneguna, istnieje coś takiego? 😉 Próbowałem ręcznie nadać team przez :

- m_iTeamNum (Offset 808) (Save|Key)(4 Bytes) - teamnumber

Nie próbowałem przez

 

- m_iPendingTeamNum (Offset 812) (Save|Key)(4 Bytes) - pendingteamnumber

- m_iInitialTeamNum (Offset 804) (Save|Key|Input)(4 Bytes) - TeamNum

Może warto spróbować?

Edited by supertimor
  • Lubię to! 2

Share this post


Link to post
Share on other sites

@supertimor

Cytat

W ogóle team droneguna, istnieje coś takiego?

Można zebrać team clienta z eventu tego kto wyrzucił granat (następny Hook) i zapisać to jako DataPack lub zmienna globalną. Ale nie wiem co trzeba byłoby zrobić by ten maszyniak strzelał do 2 teamu. 🙂

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

Nasza historia

Na początku byliśmy małą grupą internetowych znajomych, którzy stwierdzili, że potrzebne jest solidne forum, na którym znajdą się ludzie z dużą wiedzą programistyczną ukierunkowaną na CS:GO. Pomysł powstał na początku 2018 roku, a parę miesięcy później, 19 kwietnia, powstała ta strona internetowa. Jako alternatywna odpowiedź na inne tego typu miejsca, poważnie podeszliśmy do tematu, najpierw tłumacząc angielską dokumentację SourceMod'a na język polski, a potem pisząc rozległe poradniki i wypełniając forum najpotrzebniejszymi rzeczami dla właścicieli serwerów i programistów. Cała nasza Ekipa jest dumna z pracy jaką w to włożyliśmy i cieszymy się że zbierają się wokół nas zarówno ludzie znający tematy sourcepawn'a i konfiguracji, jak i również nowe twarze w tym "biznesie", którym z chęcią niesiemy wiedzę oraz pomoc w rozwiązywaniu problemów.

Największe modyfikacje serwerowe

×
×
  • Create New...