[FilterScript] Sistema de MedKit 0.1v
#21

Seu noob, й totalmente noob vocк trazer conteъdo pra board.
NOOB.
Reply
#22

Quote:
Originally Posted by Jelly23
View Post
Ineficiente
PHP Code:
new Float:MinhaPos[3];
GetPlayerPos(playeridMinhaPos[0], MinhaPos[1], MinhaPos[2]); 
Eficiente
PHP Code:
new Float:MinhaPosXMinhaPosYMinhaPosZ;
GetPlayerPos(playeridMinhaPosXMinhaPosYMinhaPosZ); 
Й sйrio?
Reply
#23

Quote:
Originally Posted by ViniBorn
View Post
Й sйrio?
Sim, o acesso а array й mais lento.
O problema й que ele esqueceu da keyword Float: nas outras 2 variбveis.
Reply
#24

Quote:
Originally Posted by Jelly23
View Post
3 - As matrizes sгo mais lentas que as variбveis ​​normais, Ex:


Ineficiente
PHP Code:
new Float:MinhaPos[3];
GetPlayerPos(playeridMinhaPos[0], MinhaPos[1], MinhaPos[2]); 
Eficiente
PHP Code:
new Float:MinhaPosXMinhaPosYMinhaPosZ;
GetPlayerPos(playeridMinhaPosXMinhaPosYMinhaPosZ); 
Fora isso, +rep.
Dessa nгo sabia, й verнdico isso? Com base no que afirmas isso?

Quote:
Originally Posted by Jelly23
View Post
Bom trabalho, algumas coisas:

1 - Desperdнcio de cйlulas, menos de 40 foram usadas:

Code:
string[90];
format(string,90,"MedKit\n de %s", PlayerName(playerid));
Porque 90 cйlulas?
PHP Code:
"MedKit\n de " 12 cйlulas
PlayerName
(playerid) = 24 cйlulas
12 
24 39 cйlulas//+1 para evitar estouro de buffer 
Reply
#25

Quote:
Originally Posted by Bruno13
View Post
Dessa nгo sabia, й verнdico isso? Com base no que afirmas isso?
https://sampforum.blast.hk/showthread.php?tid=580289

Quote:
Originally Posted by Bruno13
View Post
Porque 90 cйlulas?
PHP Code:
"MedKit\n de " 12 cйlulas
PlayerName
(playerid) = 24 cйlulas
12 
24 39 cйlulas//+1 para evitar estouro de buffer 
Na verdade, as 90 cйlulas em vermelho sгo da maneira em que estavam no filterscript, nгo disse para usar 90, apenas mostrei que essas 90 cйlulas sгo um desperdнcio.
Reply
#26

Por motivos bem уbvios, й claramente mais lento.
A questгo aqui й outra.

Vocкs vгo achar por aн inъmeras formas de fazer um cуdigo ser mais rбpido, mas isso nгo quer dizer que todos devem ser usados, e na minha opiniгo, esse й um deles.

Em alguns casos o benefнcio de velocidade й tгo insignificante, que a praticidade se torna a prioridade.
Reply
#27

Na verdade eu acho mais prбtico e elegante escrever "blablaX, blablaY, blablaZ". Isso й questгo de gosto mesmo, tenho meus snippets que me permitem escrever muito com pouco esforзo. No meu caso й ъtil e agradбvel.
Reply
#28

Quote:
Originally Posted by Jelly23
View Post
Valeu!

Quote:
Originally Posted by Jelly23
View Post
Na verdade, as 90 cйlulas em vermelho sгo da maneira em que estavam no filterscript, nгo disse para usar 90, apenas mostrei que essas 90 cйlulas sгo um desperdнcio.
Ata, desculpa pela desatenзгo.

Quote:
Originally Posted by ViniBorn
View Post
Por motivos bem уbvios, й claramente mais lento.
A questгo aqui й outra.

Vocкs vгo achar por aн inъmeras formas de fazer um cуdigo ser mais rбpido, mas isso nгo quer dizer que todos devem ser usados, e na minha opiniгo, esse й um deles.

Em alguns casos o benefнcio de velocidade й tгo insignificante, que a praticidade se torna a prioridade.
Realmente...cada caso й um caso, basta ver o que o bloco de cуdigo em questгo solicita.
Reply
#29

Quote:
Originally Posted by ViniBorn
View Post
Por motivos bem уbvios, й claramente mais lento.
A questгo aqui й outra.

Vocкs vгo achar por aн inъmeras formas de fazer um cуdigo ser mais rбpido, mas isso nгo quer dizer que todos devem ser usados, e na minha opiniгo, esse й um deles.

Em alguns casos o benefнcio de velocidade й tгo insignificante, que a praticidade se torna a prioridade.
E como vocк tem certeza se й tгo insignificante como diz? Ao menos leu o tуpico antes de considerar apenas mais um de inъmeros outros?

Quando vocк quer acessar uma matriz, o compilador usa o algoritmo: Endereзo do primeiro elemento + 4*нndice = O local onde a matriz[нndice] estб armazenada.

Uma variбvel normal й 2.5 vezes mais rбpida que uma matriz, nгo significa que nгo possa usar, mas pense antes se й realmente necessбrio.

E entгo? Bem insignificante nгo?
Reply
#30

Entгo depois desse debate й correto afirmar que usar Arrays em GetPlayerPos й mau otimizado?

@edit

Atualizado 0.5v

- Novas otimizaзхes, tks comentбrios <3
- Deixei de usar Array por conta de desempenho
Reply
#31

Ideias

- Poderia por um Pickup de Medico ou de coraзгo
- Poderia criar um comando tipo /ComprarMed que abrir um dialog com preзos tipo MedKit pequeno 100 medikit medio 500 medkit grande 1000 Medkit Enorme 3000 e cada um seta-se um pouco de vida exemplo

MedKit Pequeno - 6
MedKit Medio - 12
MediKit Grande - 24
MedKit Enorme - 48
- podia fazer um Menu Personalizavel e que abria uma dialog para comprar os icones exemplo eu digito /medmenu ai aparece uma opзгo Assim Icones ai quando clica aparece uma textdraw clicavel para min escolher o Icone ai eu escolho e compro e quando eu criar o meu MedKit aparece o Icone que eu criei.
- colocar uma opзгo de mover o medkit exemplo eu criei ele na grove e queria levar comigo ai digitava /movemed e ia ate um local e digitava dnv e ele ficava la

- Colocar um sistema de 3dLabel que o cara poderia digitar qualquer coisa e aparecia la no lugar de MedKit de Illanz exemplo eu digitava /3dmed e escrevia MedKit ai aparecia

se eu tiver mais ideias eu falo.

+REP
Reply
#32

Quote:
Originally Posted by GuilhermeNunes
View Post
Ideias

- Poderia por um Pickup de Medico ou de coraзгo
- Poderia criar um comando tipo /ComprarMed que abrir um dialog com preзos tipo MedKit pequeno 100 medikit medio 500 medkit grande 1000 Medkit Enorme 3000 e cada um seta-se um pouco de vida exemplo

MedKit Pequeno - 6
MedKit Medio - 12
MediKit Grande - 24
MedKit Enorme - 48
- podia fazer um Menu Personalizavel e que abria uma dialog para comprar os icones exemplo eu digito /medmenu ai aparece uma opзгo Assim Icones ai quando clica aparece uma textdraw clicavel para min escolher o Icone ai eu escolho e compro e quando eu criar o meu MedKit aparece o Icone que eu criei.
- colocar uma opзгo de mover o medkit exemplo eu criei ele na grove e queria levar comigo ai digitava /movemed e ia ate um local e digitava dnv e ele ficava la

- Colocar um sistema de 3dLabel que o cara poderia digitar qualquer coisa e aparecia la no lugar de MedKit de Illanz exemplo eu digitava /3dmed e escrevia MedKit ai aparecia

se eu tiver mais ideias eu falo.

+REP
Obrigado pelas sugestхes, mais no tempo eu nгo queria fazer nada tгo avanзado.

Talvez eu atualize, quem sabe.
Reply
#33

Quote:
Originally Posted by IlanZ
View Post
Obrigado pelas sugestхes, mais no tempo eu nгo queria fazer nada tгo avanзado.

Talvez eu atualize, quem sabe.
Ah Blz mais ta ai umas ideias seria legal usar isso no RPG
Reply
#34

Muito Massa irei usar no meu servidor!
Reply
#35

Atualizado 1.0v

Eu nem ia mexer mais nisso, mas eu resolvi fazer uma atualizaзгo pois vi uns servidores usando esse antigo filterscript e vi que nгo tava tгo bom:

- Todos podem usar o mesmo MedKit.
- Cada um sу pode criar um MedKit.
- Informaзхes do MedKit apertando F.
- Maximo de MedKits por padrгo й de 10, mas pode aumentar na Definiзгo.
- Durabilidade do MedKit vem por padrгo 10, pode mudar na definiзгo.
- Tirado o 3DTextLabel por alguns pedidos.

Algumas prints:






Download: MedKit 1.0v
Reply
#36

Interresante, com + algumas funзхes fica 100%
Meus parabйns.
Reply
#37

PHP Code:
if(Vida >= 100 && Colete >= 100) return 1
Esse retorno estб errado, se estiver alguйm com 100 de vida e colete prуximo a um med kit, os os id's posteriores nгo serб verificado, o correto й:

PHP Code:
if(Vida >= 100 && Colete >= 100) continue; 
OBS: Detectar pela OnPlayerPickupUpdate й muito melhor do que por loop para players.
Reply
#38

Muito massa novamente, jб estou usando.
Reply
#39



PHP Code:
CMD:destruirmedkit(playerid)
{
    
DestruirMedKit(playerid);
 
    
SendClientMessage(playerid, -1"Vocк destruiu seu Medkit");
    return 
1;

--

nice, camarada.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)