SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 09/04/2012, 01:05 AM   #1
CidadeNovaRP
High-roller
 
CidadeNovaRP's Avatar
 
Join Date: Mar 2012
Posts: 1,128
Reputation: 92
Default Sistema de "Achar Dinheiro no Chão"

MUUUUUUUUITO SIMPLES! Fiz em menos de 5 Minutos... Ficou legalzinho e irei utilizar em meu Servidor, espero que gostem:
pawn Code:
#include <a_samp>

#define TEMPO 5 //TEMPO EM MINUTOS (TROCAR O "5")

new BigEar[MAX_PLAYERS];

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print("         FS by CidadeNovaRP ¬¬");
    print("--------------------------------------\n");
    return 1;
}

public OnGameModeInit()
{
    SetTimer("Ganhou", TEMPO*60000, true);
    return 1;
}

forward Ganhou();
public Ganhou()
{
    new Players = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i) && !IsPlayerNPC(i))
        {
            Players++;
        }
    }
    if(Players >= 15)
    {
        new PlayerWin = random(Players);
        if(!IsPlayerConnected(PlayerWin)) return Ganhou();
        new Moneys = 100 + random(1900);
        new PlayerName[64], string[128];
        GivePlayerMoney(PlayerWin, Moneys);
        GetPlayerName(PlayerWin, PlayerName, sizeof(PlayerName));
        format(string, sizeof(string), "* %s achou R$%d no chão.", PlayerName, Moneys);
        ProxDetector(30.0, PlayerWin, string, -1, -1, -1, -1, -1);
        return 1;
    }
    return 1;
}

stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
    if(IsPlayerConnected(playerid))
    {
        new Float:posx, Float:posy, Float:posz;
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(!BigEar[i])
                {
                    GetPlayerPos(i, posx, posy, posz);
                    tempposx = (oldposx -posx);
                    tempposy = (oldposy -posy);
                    tempposz = (oldposz -posz);
                    if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
                    {
                        SendClientMessage(i, col1, string);
                    }
                    else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
                    {
                        SendClientMessage(i, col2, string);
                    }
                    else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
                    {
                        SendClientMessage(i, col3, string);
                    }
                    else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
                    {
                        SendClientMessage(i, col4, string);
                    }
                    else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
                    {
                        SendClientMessage(i, col5, string);
                    }
                }
                else
                {
                    SendClientMessage(i, col1, string);
                }
            }
        }
    }
    return true;
}


-------------------------------------------------------------------------------------------------

Quote:
Originally Posted by [Y]Falcon View Post
pawn Code:
public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print("         FS by CidadeNovaRP ¬¬");
    print("--------------------------------------\n");
    return 1;
}

public OnGameModeInit()
{
    SetTimer("Ganhou", 60000, true);
    return 1;
}

Você está fazendo isto errado...
Editado, nem percebi...


Quote:
Originally Posted by SuB_ZeRo0_ View Post
pawn Code:
for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i) && !IsPlayerNPC(i))
        {
            Players++;
        }
    }

Isso é ruim! Não irá pegar certos IDs e poderá ainda pegar IDs que não estão online.

Um jeito bom:
pawn Code:
new max_id=-1,achou=-1;
for(id=0;id<MAX_PLAYERS;id++)
    if(IsPlayerConnected(id))
        max_id=id+1;
if(max_id!=-1)
    while(achou==-1)
    {
        new id_f=random(max_id);
        if(IsPlayerConnected(id_f)) achou=id_f;
    }
}
Explicação:
- Ele irá procurar o maior ID online e adicionar + 1 nisso. (Imaginemos que seja 54 o maior, ou seja, 55).
- Ele irá procurar, no while, um ID online com o ID máximo pego no processo a cima.
- Ao achar ele marcará o ID na variável 'achou'
- Esta variável (achou) será o ID do ganhador.

Obs: Caso não tenha ninguém online irá retornar -1.
Obs²: Claro que pode ser otimizado para obter o resultado mais rápido, mas tome cuidado para não cair no memso erro de antes.
Atualizado e otimizado... (Apenas acha dinheiro se tiver mais de 15 Players Online, caso queria mais ou menos basta alterar ao seu gosto...

Last edited by CidadeNovaRP; 29/04/2012 at 02:23 AM.
CidadeNovaRP is offline   Reply With Quote
Old 09/04/2012, 01:12 AM   #2
Deanx
Big Clucker
 
Deanx's Avatar
 
Join Date: Apr 2012
Posts: 130
Reputation: 3
Default Re: Sistema de "Achar Dinheiro no Chão"

legal kkk
Deanx is offline   Reply With Quote
Old 09/04/2012, 01:14 AM   #3
Falcon.
High-roller
 
Falcon.'s Avatar
 
Join Date: Jul 2010
Location: Brazil
Posts: 1,743
Reputation: 141
Default Re: Sistema de "Achar Dinheiro no Chão"

pawn Code:
public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print("         FS by CidadeNovaRP ¬¬");
    print("--------------------------------------\n");
    return 1;
}

public OnGameModeInit()
{
    SetTimer("Ganhou", 60000, true);
    return 1;
}

Você está fazendo isto errado...
__________________
....
Falcon. is offline   Reply With Quote
Old 09/04/2012, 01:16 AM   #4
CidadeNovaRP
High-roller
 
CidadeNovaRP's Avatar
 
Join Date: Mar 2012
Posts: 1,128
Reputation: 92
Default Re: Sistema de "Achar Dinheiro no Chão"

Quote:
Originally Posted by Deanx View Post
legal kkk

Thx
CidadeNovaRP is offline   Reply With Quote
Old 09/04/2012, 01:23 AM   #5
Gustavo_z
Huge Clucker
 
Gustavo_z's Avatar
 
Join Date: Feb 2012
Location: Santa Catarina
Posts: 307
Reputation: 7
Default Re: Sistema de "Achar Dinheiro no Chão"

Nada mau
__________________



Twitter: @Gustaavo_z
Facebook: http://www.facebook.com/gustavo.zanella.3

Te ajudei? Clique em !
<<

Gustavo_z is offline   Reply With Quote
Old 09/04/2012, 01:24 AM   #6
BreakDriFT
High-roller
 
BreakDriFT's Avatar
 
Join Date: Jun 2010
Location: Las Venturas
Posts: 1,533
Reputation: 120
Default Re: Sistema de "Achar Dinheiro no Chão"

Esta otimo.
A Se isso fosse na real eu tava rico -q
__________________
Inveja aqui bate e volta
BreakDriFT is offline   Reply With Quote
Old 09/04/2012, 01:28 AM   #7
CidadeNovaRP
High-roller
 
CidadeNovaRP's Avatar
 
Join Date: Mar 2012
Posts: 1,128
Reputation: 92
Default Re: Sistema de "Achar Dinheiro no Chão"

Quote:
Originally Posted by Gustavo_z View Post
Nada mau
Vlwe

Quote:
Originally Posted by BreakDriFT View Post
Esta otimo.
A Se isso fosse na real eu tava rico -q
Né kk
CidadeNovaRP is offline   Reply With Quote
Old 09/04/2012, 01:36 AM   #8
Đeagle
Huge Clucker
 
Đeagle's Avatar
 
Join Date: Feb 2012
Posts: 493
Reputation: 22
Default Re: Sistema de "Achar Dinheiro no Chão"

Ótimo filterscript, iria pegar muito bem em RolePlays.
Parabéns.
Đeagle is offline   Reply With Quote
Old 09/04/2012, 01:38 AM   #9
CidadeNovaRP
High-roller
 
CidadeNovaRP's Avatar
 
Join Date: Mar 2012
Posts: 1,128
Reputation: 92
Default Re: Sistema de "Achar Dinheiro no Chão"

Quote:
Originally Posted by Đeagle View Post
Ótimo filterscript, iria pegar muito bem em RolePlays.
Parabéns.
Obrigado
CidadeNovaRP is offline   Reply With Quote
Old 09/04/2012, 03:54 AM   #10
SuB_ZeRo0_
Gangsta
 
SuB_ZeRo0_'s Avatar
 
Join Date: Aug 2009
Posts: 889
Reputation: 23
Default Re: Sistema de "Achar Dinheiro no Chão"

pawn Code:
for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i) && !IsPlayerNPC(i))
        {
            Players++;
        }
    }

Isso é ruim! Não irá pegar certos IDs e poderá ainda pegar IDs que não estão online.

Um jeito bom:
pawn Code:
new max_id=-1,achou=-1;
for(id=0;id<MAX_PLAYERS;id++)
    if(IsPlayerConnected(id))
        max_id=id+1;
if(max_id!=-1)
    while(achou==-1)
    {
        new id_f=random(max_id);
        if(IsPlayerConnected(id_f)) achou=id_f;
    }
}
Explicação:
- Ele irá procurar o maior ID online e adicionar + 1 nisso. (Imaginemos que seja 54 o maior, ou seja, 55).
- Ele irá procurar, no while, um ID online com o ID máximo pego no processo a cima.
- Ao achar ele marcará o ID na variável 'achou'
- Esta variável (achou) será o ID do ganhador.

Obs: Caso não tenha ninguém online irá retornar -1.
Obs²: Claro que pode ser otimizado para obter o resultado mais rápido, mas tome cuidado para não cair no memso erro de antes.
__________________
SuB_ZeRo0_ is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
xMovie Entertainment (3 vids): "Like a boss" "The rapist" "Jizz in my pants" xMovie Screenshots and Videos 11 27/03/2012 12:10 PM
[Tutorial] Simple "/kill", "/heal" and "/tp" commands KosmasRego Tutorials 13 29/11/2011 07:08 PM
[Include] [INC] Protioso Dinheiro Secundário (PDS) 1.0 (semelhante a "gp" + td+salvamento) [VGS]Protioso Lançamentos/Releases 9 15/06/2010 11:36 PM
Admin script requires "ReturnUser", "strtok" and "IsNumeric" Rubennnnn Help Archive 1 02/12/2009 07:08 PM
"Bots", "AI", "NPCs"... Computer-controlled pedestrians and traffic! ssflsnoob General 2 23/11/2008 07:06 PM


All times are GMT. The time now is 05:07 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.