[Include] FUNЗХES ADICIONAIS.
#1

Introduзгo
Basicamente sгo funзхes para facilitar a vida de quem estб aprendendo e recebera update em breve.
Recursos
Код:
native CreateGangZoneInRange(playerid, Float: range = 10.0);
native ReturnPlayerName(playerid, bool: underline = true);
native ChatLocal(playerid, color, color1, color2, text[], Float: range = 30.0);
native Comma(value, subs[] = ",");
native SendClientMessageEx(playerid, color, text[], {Float,_}:...);
native SendClientMessageToAllEx(color, text[], {Float,_}:...);
native GetPlayerPosition(playerid, &Float: x, &Float: y, &Float: z, &Float: angle);
native SetPlayerPosition(playerid, Float: x, Float: y, Float: z, Float: angle);
native GetPlayerPositionEx(playerid, &Float: x, &Float: y, &Float: z, &Float: angle, &interior, &virtualworld);
native SetPlayerPositionEx(playerid, Float: x, Float: y, Float: z, Float: angle, interior, virtualworld);
Download
Cуdigo hospedado no pastebin.

Finalizaзгo do tуpico
Aceito ideias para novas funзхes adicionais.
Reply
#2

ReturnPlayerName - Nгo retorne strings nas funзхes, pode bugar e crashar durante a execuзгo, passe por referкncia (como a GetPlayerName padrгo faz);
Comma - Procure pela include formatex
GetPlayerPosition, SetPlayerPosition, GetPlayerPositionEx, SetPlayerPositionEx - Poderia simplesmente hookar as natives (Get/Set)PlayerPos para suportar os novos parвmetros, sem mudar o nome das funзхes
Reply
#3

Quote:
Originally Posted by renatog
Посмотреть сообщение
ReturnPlayerName - Nгo retorne strings nas funзхes, pode bugar e crashar durante a execuзгo, passe por referкncia (como a GetPlayerName padrгo faz);
Comma - Procure pela include formatex
GetPlayerPosition, SetPlayerPosition, GetPlayerPositionEx, SetPlayerPositionEx - Poderia simplesmente hookar as natives (Get/Set)PlayerPos para suportar os novos parвmetros, sem mudar o nome das funзхes
Bom, todas as funзхes estгo extremamente funcionais, em relaзгo as funзхes para posiзхes a ideia й resumir o uso facilitando, assim, o desenvolvimento.
Reply
#4

Muito bom.
Reply
#5

Que legal vey +rep
Reply
#6

este codigo estб funcional, porem nгo й otimizado em certas partes, e nгo й bem legнvel, e de fбcil interpretaзгo para outros, esta compreensнvel apenas para o seu estilo

que diabos й Comma(value, subs[] = ",") ?
Reply
#7

Saiba que macros de prй-processador extensas, quando podem ser substituнdas por funзхes, devem ser. Essa prбtica evita cуpias desnecessбrias de cуdigos iguais, diminuindo a seзгo CODE do arquivo .amx.



Quote:
Originally Posted by renatog
Посмотреть сообщение
ReturnPlayerName - Nгo retorne strings nas funзхes, pode bugar e crashar durante a execuзгo, passe por referкncia (como a GetPlayerName padrгo faz);
A linguagem Pawn suporta atribuiзгo de arrays pelo operador (=) e tambйm o retorno de arrays por funзхes, mesmo que sejam locais. Isso й explicado no prуprio manual de referкncia quando й apresentada a funзгo strtok .



Mas eu sei de onde vem essa sua preocupaзгo: na linguagem C nгo se pode retornar arrays locais temporбrias devido ao endereзo se tornar invбlido no fim da funзгo, apenas arrays estбticas (locais, globais) ou arrays alocadas com malloc ou calloc. Tambйm й impossнvel atribuir diretamente arrays como em Pawn, tendo que ser por memset ou memcpy.



Espero ter ajudado .
Reply
#8

Quote:
Originally Posted by rjjj
Посмотреть сообщение
A linguagem Pawn suporta atribuiзгo de arrays pelo operador (=) e tambйm o retorno de arrays por funзхes, mesmo que sejam locais. Isso й explicado no prуprio manual de referкncia quando й apresentada a funзгo strtok .



Mas eu sei de onde vem essa sua preocupaзгo: na linguagem C nгo se pode retornar arrays locais temporбrias devido ao endereзo se tornar invбlido no fim da funзгo, apenas arrays estбticas (locais, globais) ou arrays alocadas com malloc ou calloc. Tambйm й impossнvel atribuir diretamente arrays como em Pawn, tendo que ser por memset ou memcpy.



Espero ter ajudado .
https://github.com/sampctl/pawn-array-return-bug
Reply
#9

Quote:
Originally Posted by renatog
Посмотреть сообщение
Interessante esse defeito, vou verificar depois. Pergunto-me se outras versхes da linguagem Pawn e o compilador do Zeex jб corrigiram isso, visto que a intenзгo desse recurso parece ser uma espйcie de std::string (da linguagem C++, uma das influкncias do Pawn) incompleto .



Enfim, tanta indireзгo assim no retorno de uma mesma string nгo й normal em termos de desenvolvimento. Em tese, a segunda funзгo criaria uma array local e modificaria usando a outra string de retorno, retornando assim sua prуpria array local e evitando o problema.



Espero ter ajudado .
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)