Portal SAMP
[Ajuda] Lojinha - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Lojinha (/showthread.php?tid=1221)



Lojinha - kabulosoogeteam - 25/05/2021

galera queria fazer sistema de roubo de lojinha ai queria saber voces podia me da uma base de como iniciar ? tipo eu tenho duvida de como farei para actor fazer a animação

eu estava pensando em fazer um estilo FZ

tipo jogador entra na lojinha e tem um actor la ai ele mira a arma para ele o actor faz animação de tipo sacar grana no caixa e dps de alguns segundo o dinheiro vai para jogador alguem poderia me da uma base ?


RE: Lojinha - Luiz - 25/05/2021

https://sampwiki.blast.hk/wiki/GetPlayerTargetActor
e
https://open.mp/docs/scripting/functions/ApplyActorAnimation


RE: Lojinha - xbruno1000x - 25/05/2021

Código:
    new TargetActorID = GetPlayerTargetDynamicActor(playerid);
    new Float:x, Float:y, Float:z;
    if(TargetActorID >= ActorID[14] && TargetActorID <= ActorID[22])
    {
        if(gettime() < tempoassalto[playerid]) return 1;
        {
                GetPlayerPos(playerid, x, y, z);
            for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) PlayerPlaySound(i, 3401, x, y, z);
            tempoassalto[playerid] = gettime()+20*60;
              ApplyDynamicActorAnimation(TargetActorID, "ROB_BANK","SHP_HandsUp_Scr", 4.1, 0, 1, 1, 1, 3000);
            ShowInfoBox(playerid, COLOR_BLACK, "Mantenha a arma apontada para o atendente por 12 segundos.");
            SetTimerEx("assaltoloja", 12000, false, "i", playerid);
        }
    }

Código:
public assaltoloja(playerid)
{
    new randommoney = random(1800);
    SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + 2);
    XBGivePlayerMoney(playerid, 800+randommoney);
    for(new actor; actor != sizeof ActorID; actor++)
    {
        ClearDynamicActorAnimations(ActorID[actor]);
    }
}


Eu fiz dessa forma há um tempo atrás, acho que servirá como ajuda.


RE: Lojinha - kabulosoogeteam - 27/05/2021

vlw vai ajudar bastante


RE: Lojinha - Heverton Fagner - 01/01/2024

(25/05/2021 10:01)xbruno1000x Escreveu:
Código:
    new TargetActorID = GetPlayerTargetDynamicActor(playerid);
    new Float:x, Float:y, Float:z;
    if(TargetActorID >= ActorID[14] && TargetActorID <= ActorID[22])
    {
        if(gettime() < tempoassalto[playerid]) return 1;
        {
                GetPlayerPos(playerid, x, y, z);
            for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) PlayerPlaySound(i, 3401, x, y, z);
            tempoassalto[playerid] = gettime()+20*60;
              ApplyDynamicActorAnimation(TargetActorID, "ROB_BANK","SHP_HandsUp_Scr", 4.1, 0, 1, 1, 1, 3000);
            ShowInfoBox(playerid, COLOR_BLACK, "Mantenha a arma apontada para o atendente por 12 segundos.");
            SetTimerEx("assaltoloja", 12000, false, "i", playerid);
        }
    }

Código:
public assaltoloja(playerid)
{
    new randommoney = random(1800);
    SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + 2);
    XBGivePlayerMoney(playerid, 800+randommoney);
    for(new actor; actor != sizeof ActorID; actor++)
    {
        ClearDynamicActorAnimations(ActorID[actor]);
    }
}


Eu fiz dessa forma há um tempo atrás, acho que servirá como ajuda.
Tem alguma public específica pra colocar o código?


RE: Lojinha - Aranha - 01/01/2024

(01/01/2024 21:26)Heverton Fagner Escreveu:
(25/05/2021 10:01)xbruno1000x Escreveu:
Código:
    new TargetActorID = GetPlayerTargetDynamicActor(playerid);
    new Float:x, Float:y, Float:z;
    if(TargetActorID >= ActorID[14] && TargetActorID <= ActorID[22])
    {
        if(gettime() < tempoassalto[playerid]) return 1;
        {
                GetPlayerPos(playerid, x, y, z);
            for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) PlayerPlaySound(i, 3401, x, y, z);
            tempoassalto[playerid] = gettime()+20*60;
              ApplyDynamicActorAnimation(TargetActorID, "ROB_BANK","SHP_HandsUp_Scr", 4.1, 0, 1, 1, 1, 3000);
            ShowInfoBox(playerid, COLOR_BLACK, "Mantenha a arma apontada para o atendente por 12 segundos.");
            SetTimerEx("assaltoloja", 12000, false, "i", playerid);
        }
    }

Código:
public assaltoloja(playerid)
{
    new randommoney = random(1800);
    SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + 2);
    XBGivePlayerMoney(playerid, 800+randommoney);
    for(new actor; actor != sizeof ActorID; actor++)
    {
        ClearDynamicActorAnimations(ActorID[actor]);
    }
}


Eu fiz dessa forma há um tempo atrás, acho que servirá como ajuda.
Tem alguma public específica pra colocar o código?


Clique Aqui


RE: Lojinha - xbruno1000x - 01/01/2024

(01/01/2024 21:26)Heverton Fagner Escreveu:
(25/05/2021 10:01)xbruno1000x Escreveu:
Código:
    new TargetActorID = GetPlayerTargetDynamicActor(playerid);
    new Float:x, Float:y, Float:z;
    if(TargetActorID >= ActorID[14] && TargetActorID <= ActorID[22])
    {
        if(gettime() < tempoassalto[playerid]) return 1;
        {
                GetPlayerPos(playerid, x, y, z);
            for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) PlayerPlaySound(i, 3401, x, y, z);
            tempoassalto[playerid] = gettime()+20*60;
              ApplyDynamicActorAnimation(TargetActorID, "ROB_BANK","SHP_HandsUp_Scr", 4.1, 0, 1, 1, 1, 3000);
            ShowInfoBox(playerid, COLOR_BLACK, "Mantenha a arma apontada para o atendente por 12 segundos.");
            SetTimerEx("assaltoloja", 12000, false, "i", playerid);
        }
    }

Código:
public assaltoloja(playerid)
{
    new randommoney = random(1800);
    SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + 2);
    XBGivePlayerMoney(playerid, 800+randommoney);
    for(new actor; actor != sizeof ActorID; actor++)
    {
        ClearDynamicActorAnimations(ActorID[actor]);
    }
}


Eu fiz dessa forma há um tempo atrás, acho que servirá como ajuda.
Tem alguma public específica pra colocar o código?

OnPlayerUpdate. Não é o mais recomendado, mas funciona.

Caso tenha conhecimentos, pode criar um timer na OnPlayerConnect também.


RE: Lojinha - Heverton Fagner - 02/01/2024

(01/01/2024 23:18)xbruno1000x Escreveu:
(01/01/2024 21:26)Heverton Fagner Escreveu:
(25/05/2021 10:01)xbruno1000x Escreveu:
Código:
    new TargetActorID = GetPlayerTargetDynamicActor(playerid);
    new Float:x, Float:y, Float:z;
    if(TargetActorID >= ActorID[14] && TargetActorID <= ActorID[22])
    {
        if(gettime() < tempoassalto[playerid]) return 1;
        {
                GetPlayerPos(playerid, x, y, z);
            for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) PlayerPlaySound(i, 3401, x, y, z);
            tempoassalto[playerid] = gettime()+20*60;
              ApplyDynamicActorAnimation(TargetActorID, "ROB_BANK","SHP_HandsUp_Scr", 4.1, 0, 1, 1, 1, 3000);
            ShowInfoBox(playerid, COLOR_BLACK, "Mantenha a arma apontada para o atendente por 12 segundos.");
            SetTimerEx("assaltoloja", 12000, false, "i", playerid);
        }
    }

Código:
public assaltoloja(playerid)
{
    new randommoney = random(1800);
    SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + 2);
    XBGivePlayerMoney(playerid, 800+randommoney);
    for(new actor; actor != sizeof ActorID; actor++)
    {
        ClearDynamicActorAnimations(ActorID[actor]);
    }
}


Eu fiz dessa forma há um tempo atrás, acho que servirá como ajuda.
Tem alguma public específica pra colocar o código?

OnPlayerUpdate. Não é o mais recomendado, mas funciona.

Caso tenha conhecimentos, pode criar um timer na OnPlayerConnect também.

TempoAssalto[playerid], como está definido? Qual a função?