Página 1 de 2

[SA] Dealers dropando droga ao morrer

Enviado: 28 Jun 2018, 11:17
por HybridTheory
Com este mod, os dealers irão soltar pílulas de adrenalina ao morrer.

Imagem

O efeito das pílulas é deixar o jogo mais devagar. No GTA Vice City estas pílulas estão espalhadas pelo mapa do jogo, uma função que foi removida do GTA San Andreas.


SourceAbrir

Código: Selecionar tudo

SCRIPT_START
{

    LVAR_INT scplayer hPickUp hChar p i hPedType 
    LVAR_FLOAT x y z

    GET_PLAYER_CHAR 0 (scplayer) 

    IF IS_AUSTRALIAN_GAME
        CREATE_RANDOM_CHAR 0.0 0.0 0.0 (hChar)
    ENDIF

    WHILE TRUE
        WAIT 0
        READ_MEMORY 0x00B74490 4 0 (p)
        p += 0x04
        READ_MEMORY p 4 0 (p)
        i = 0
        WHILE i <= 0x8B00
            READ_MEMORY p 1 0 (hChar)
            p++
            IF hChar >= 0x00
            AND hChar < 0x80
                hChar += i       
                IF IS_CHAR_DEAD hChar
                    GET_PED_TYPE hChar (hPedType)
                    IF hPedType = PEDTYPE_DEALER
                        GET_DEAD_CHAR_COORDINATES hChar x y z
                        CREATE_PICKUP 1241 15 x y z (hPickUp)
                        WHILE DOES_CHAR_EXIST hChar
                            WAIT 0
                        ENDWHILE
                        GET_PICKUP_COORDINATES hPickUp (x y z)
                        WHILE LOCATE_CHAR_ANY_MEANS_3D scplayer x y z 20.0 20.0 0.0 FALSE
                            WAIT 0
                        ENDWHILE
                        REMOVE_PICKUP hPickUp                        
                    ENDIF
                ENDIF
            ENDIF
            i += 0x100
        ENDWHILE
    ENDWHILE

}
SCRIPT_END


DOWNLOAD
Dealers dropando droga ao morrer.7z
(411 Bytes) Baixado 185 vezes

[SA] Dealers dropando droga ao morrer

Enviado: 28 Jun 2018, 11:25
por Junior_Djjr
Caramba como ninguém nunca pensou nisso antes...

[SA] Dealers dropando droga ao morrer

Enviado: 28 Jun 2018, 13:20
por Um_Geek
No seu jogo funciona com os traficantes mesmo? Porque ali no código esta PEDTYPE_CRIMINAL = 20 e os vendedores de drogas é PEDTYPE_DEALER = 17, eu compilei para testar, mas fiz outras mudanças, já que os pickups só são validos para um raio tamanho 20.0 não tinha porque pegar todos os peds do jogo. Mas esta ideia é melhor que espalhar pickups pelo mapa.

SpoilerAbrir

Código: Selecionar tudo

SCRIPT_START
{
    NOP 

    LVAR_INT scplayer ped pickup type
    LVAR_FLOAT x y z
    CONST_FLOAT Radius 20.0 

    GET_PLAYER_CHAR 0 scplayer

    MAIN_LOOP:
        IF IS_PLAYER_PLAYING 0 
            GET_CHAR_COORDINATES scplayer x y z
            IF GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE x y z ( Radius ) FALSE FALSE ped
                GOSUB APPLY
                WHILE GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE x y z ( Radius ) TRUE FALSE ped
                    GOSUB APPLY
                ENDWHILE
            ENDIF
        ENDIF
        WAIT 0
    GOTO MAIN_LOOP

    APPLY:
        IF IS_CHAR_DEAD ped 
            GET_PED_TYPE ped type
            IF (type = 17)
                GET_DEAD_CHAR_COORDINATES ped x y z 
                CREATE_PICKUP 1241 15 x y z pickup
                WHILE DOES_CHAR_EXIST ped
                    WAIT 0
                ENDWHILE
                REMOVE_PICKUP pickup                
            ENDIF
        ENDIF
    RETURN
}
SCRIPT_END

[SA] Dealers dropando droga ao morrer

Enviado: 28 Jun 2018, 21:19
por HybridTheory
Um_Geek escreveu:
28 Jun 2018, 13:20
No seu jogo funciona com os traficantes mesmo? Porque ali no código esta PEDTYPE_CRIMINAL = 20
Eu usei esta página, lá tá escrito que o pedtype deles é "criminal" :philo:

Imagem

Um_Geek escreveu:
28 Jun 2018, 13:20
já que os pickups só são validos para um raio tamanho 20.0 não tinha porque pegar todos os peds do jogo.

A intenção era evitar que os pickups sumissem se o CJ estiver perto deles.

[SA] Dealers dropando droga ao morrer

Enviado: 28 Jun 2018, 21:53
por Um_Geek
Ficou legal, mas quanto tempo dura o efeito desta droga? se alguem souber. :feel:

HybridTheory escreveu: Eu usei esta página, lá tá escrito que o pedtype deles é "criminal" :philo:
Primeiro usei o código sem mudanças e fui atras destes carinhas, meu jogo não tem nenhum mod que mexa com eles, eu os matava e não dava nada, então mudei no código para PEDTYPE_DEALER

HybridTheory escreveu: A intenção era evitar que os pickups sumissem se o CJ estiver perto deles.
Deixar só enquanto os corpo deles durar já ficou bom, a pilula some junto com o dinheiro dele até.
Sua ideia de mod ficou bem legal, até parece algo padrão :peepo6:

[SA] Dealers dropando droga ao morrer

Enviado: 28 Jun 2018, 21:55
por Jean_005
Um_Geek escreveu:
28 Jun 2018, 21:53
meu jogo não tem nenhum mod que mexa com eles, eu os matava e não dava nada,
Mesma coisa comigo.

[SA] Dealers dropando droga ao morrer

Enviado: 28 Jun 2018, 22:34
por HybridTheory
Um_Geek escreveu:
28 Jun 2018, 21:53
meu jogo não tem nenhum mod que mexa com eles, eu os matava e não dava nada, então mudei no código para PEDTYPE_DEALER

Jean_005 escreveu:
28 Jun 2018, 21:55
Mesma coisa comigo.

Tá, corrigi no post :peepo6:

[SA] Dealers dropando droga ao morrer

Enviado: 28 Jun 2018, 23:06
por DelHaven
muito bom me diverti muito com o slow motion, poderia ter fantasminhas ao movimentar, mas enfim, estranho é pra historia do game, cj era contra drogras

[SA] Dealers dropando droga ao morrer

Enviado: 28 Jun 2018, 23:53
por Junior_Djjr
Estranho, realmente no peds.ide os vendedores estão como CRIMINAL

[SA] Dealers dropando droga ao morrer

Enviado: 29 Jun 2018, 09:40
por DelHaven
Junior_Djjr escreveu: Estranho, realmente no peds.ide os vendedores estão como CRIMINAL
vai ver em los santos vender droga é um crime, e os traficantes eles são criminosos

[SA] Dealers dropando droga ao morrer

Enviado: 29 Jun 2018, 12:10
por Um_Geek
Se não fosse a print eu diria que este mod não foi testado depois de feito, ou tem diferenças nos gta's aqui.
Se foi isto o @Jean_005 e eu foram dos que testaram apenas. :pacman:

Junior_Djjr escreveu: Estranho, realmente no peds.ide os vendedores estão como CRIMINAL

Não sei ao certo, mas pelo menos pelo GET_PED_TYPE os vendedores de drogas são tipo PEDTYPE_DEALER, eu fui pelo grupo de animação que eles fazem. Mas tem este cleo_call feito por voce na aula 13. GOSUB e CLEO_CALL.

SpoilerAbrir
Imagem

Código: Selecionar tudo

SCRIPT_START
{
    NOP 

    LVAR_INT scplayer pedid pedtype pedstat

    GET_PLAYER_CHAR 0 scplayer
 
    MAIN_LOOP:
        WAIT 40 
        IF IS_PLAYER_PLAYING 0 
            IF GET_CHAR_PLAYER_IS_TARGETING 0 pedid 
                CLEO_CALL GetCharPedStatsID 0 () pedid pedstat 
                GET_PED_TYPE pedid pedtype 
                PRINT_FORMATTED_NOW "Stat:%i \ Type:%i" 100 pedstat pedtype
            ENDIF
        ENDIF
    GOTO MAIN_LOOP
}
SCRIPT_END

{
    LVAR_INT hChar // In
    LVAR_INT p

    GetCharPedStatsID:
    GET_PED_POINTER hChar p //CPed
    p += 0x59C //m_pStat
    READ_MEMORY p 4 FALSE p //CPedStats (+0x59C)
    READ_MEMORY p 4 FALSE p //nNum (+0x0)
    CLEO_RETURN 0 p
}

Mas creio que este pegue o pedstats.dat, então funcionaria como PEDTYPE_CRIMINAL se usasse este cleo_call, ainda assim nesta lista PEDTYPE_CRIMINAL é igual a 30, em vez de 20, como acontece no GET_PED_TYPE, alem de pegar outros que nem são drogueiros, então melhor usar GET_PED_TYPE. Ou existe mesmo uma diferença nos gta's.

[SA] Dealers dropando droga ao morrer

Enviado: 29 Jun 2018, 12:19
por Junior_Djjr
Ped stat é totalmente diferente de ped type, por exemplo ped stat diferencia pessoa fraca de forte, corajosa de medrosa etc, enquanto ped type diferencia homem de mulher, de gangue de polícia etc.

[SA] Dealers dropando droga ao morrer

Enviado: 29 Jun 2018, 12:35
por Um_Geek
Junior_Djjr escreveu: Ped stat é totalmente diferente de ped type, por exemplo ped stat diferencia pessoa fraca de forte, corajosa de medrosa etc, enquanto ped type diferencia homem de mulher, de gangue de polícia etc.
Só não entendi como funcionou antes, talvez um spawner de ped usado para testar que criou o ped como criminal, mas o tipo dealer nem existe do ped.ide também, esta mudança deve ser interna.

[SA] Dealers dropando droga ao morrer

Enviado: 30 Jun 2018, 12:10
por Markmadrox
Muito bom..não sei ja existe algo assim mas seria legal um mod complementar a esse onde você possa coletar esses comprimidos e usar posteriormente .

[SA] Dealers dropando droga ao morrer

Enviado: 04 Jul 2018, 00:27
por Um_Geek
Eu tinha feito uma correção no tamanho da pilula deste mod, aquela coisa é enorme

SpoilerAbrir
Imagem

Código: Selecionar tudo

SCRIPT_START
{
    NOP 

    LVAR_INT scplayer ped pickup type object mod
    LVAR_FLOAT x y z
    CONST_FLOAT Radius 20.0 

    GET_PLAYER_CHAR 0 scplayer

    MAIN_LOOP:
        IF IS_PLAYER_PLAYING 0 
            GET_CHAR_COORDINATES scplayer x y z
            IF GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE x y z ( Radius ) FALSE FALSE ped
                GOSUB APPLY
                WHILE GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE x y z ( Radius ) TRUE FALSE ped
                    GOSUB APPLY
                ENDWHILE
            ENDIF
        ENDIF
        WAIT 0
    GOTO MAIN_LOOP

    APPLY:
        IF IS_CHAR_DEAD ped 
            GET_PED_TYPE ped type
            IF (type = 17)
                GET_DEAD_CHAR_COORDINATES ped x y z 
                CREATE_PICKUP 1241 15 x y z pickup
                IF GET_RANDOM_OBJECT_IN_SPHERE_NO_SAVE_RECURSIVE x y z 1.0 0 object
                    GET_OBJECT_MODEL object mod 
                    IF (mod = 1241)
                        SET_OBJECT_SCALE object 0.3
                    ENDIF
                ENDIF
                WHILE DOES_CHAR_EXIST ped
                    WAIT 0
                ENDWHILE
                REMOVE_PICKUP pickup                
            ENDIF
        ENDIF
    RETURN
}
SCRIPT_END
Eu não tinha interesse de divulgar isto já que não é um mod meu, mas ja que já postaram na mix ta aqui como ficou em meu jogo este mod.

dropar-pilula-nos-traficas.rar
(822 Bytes) Baixado 150 vezes