26.06.2014, 02:00
Galera como todos sabem o Nosso amigo Delete_ postou seu GM do Siga Bem Caminhoneiro.
Eu entгo resolvi baixar para ver os sistemas dele e gostei de Um, o de 3d Label na cabeзa do Player.
Entгo decidi implanta-lo em meu GM, porйm nгo estou conseguindo entender o pq nгo quer pegar. Codes Usados.
PPC_Defines
PPC_FileOperations
O problema й quando entro no server e digito o comando, escolho minha frase tudo, Porйm a Frase nгo salva.
Alguem Pode me ajudar?
Eu entгo resolvi baixar para ver os sistemas dele e gostei de Um, o de 3d Label na cabeзa do Player.
Entгo decidi implanta-lo em meu GM, porйm nгo estou conseguindo entender o pq nгo quer pegar. Codes Usados.
pawn Код:
//topo gm
#define MudarMSG 87000
new Text3D:TextoCabeca[MAX_PLAYERS];
//OnPlayerConnect
TextoCabeca[playerid] = Create3DTextLabel(" ",0xF4A460FF,0,0,0,40,0,0);
Attach3DTextLabelToPlayer(TextoCabeca[playerid], playerid, 0.0, 0.0, 0.6);
//OnPlayerDisconnect
Delete3DTextLabel(TextoCabeca[playerid]);
//OnDialogResponse
if(dialogid == MudarMSG)
{
if(!response) return 1;
if(strlen(inputtext) < 1) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: Tamanho incorreto (Muito pequeno)");
if(strlen(inputtext) > 80) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: Tamanho incorreto (Mбximo 80 caractйres)");
if(isNumeric(inputtext)) return SendClientMessage(playerid, -1, "{FF0000}[ERRO]: Sua mensagem nгo pode conter nъmeros.");
if(stringContainsIP(inputtext)) return SendClientMessage(playerid, -1, "{FF0000}[ERRO]: Sua mensagem nгo pode conter nъmeros.");
new str[128];
format(APlayerData[playerid][Cabeca], 128, inputtext);
Update3DTextLabelText(TextoCabeca[playerid], 0xF4A460FF, APlayerData[playerid][Cabeca]);
format ( str ,sizeof ( str ) , "Vocк mudou o texto na sua cabeзa para: %s" , inputtext ) ;
SendClientMessage ( playerid , 0xFFFDE8AA , str ) ;
PlayerFile_Save(playerid);
}
//Comando
CMD:3d(playerid, params[])
{
if(!IsPlayerSpawned(playerid)) return SendClientMessage(playerid, -1, "{FFFF00}[ERRO] {FF0000}Vocк nгo Spawnou");
if (APlayerData[playerid][PlayerScore] < 500) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}[ERRO]: Vocк precisa ter mais de 500 pontos!");
new StrD[4000];
format(StrD, 128, "Seu 3D atual: %s\n\n{BEBEBE}Digite abaixo sua mensagem 3D.", APlayerData[playerid][Cabeca]);
ShowPlayerDialog(playerid,MudarMSG,DIALOG_STYLE_INPUT,"{FFFFFF}Frase 3D", StrD,"OK","Cancelar");
// ShowPlayerDialog(playerid, MudarMSG, DIALOG_STYLE_INPUT, "{CDAA7D}Registrando...", StringR, "Registrar", "Sair");
return 1;
}
stock stringContainsIP(string[])
{
new dotCount;
for(new i; string[i] != EOS; ++i)
{
if(('0' <= string[i] <= '9') || string[i] == '.' || string[i] == ':' || string[i] == ' ')
{
if((string[i] == '.') && (string[i + 1] != '.') && ('0' <= string[i - 1] <= '9'))
{
++dotCount;
}
continue;
}
}
return (dotCount > 2);
}
IsPlayerSpawned(playerid)
{
new statex = GetPlayerState(playerid);
if(statex != PLAYER_STATE_NONE && statex != PLAYER_STATE_WASTED && statex != PLAYER_STATE_SPAWNED)
{
if(statex != PLAYER_STATE_SPECTATING)
{
return true;
}
}
return false;
}
pawn Код:
//enum TPlayerData
//{
Cabeca[80],
pawn Код:
//PlayerFile_Create(playerid)
//{
format(LineForFile, 100, "Cabeca %s\r\n", 0); //
fwrite(PFile, LineForFile);
//PlayerFile_Load(playerid)
//{
if (strcmp(ParameterName, "Cabeca", false) == 0)
format(APlayerData[playerid][Cabeca], 50, ParameterValue);
//PlayerFile_Save(playerid)
//{
format(LineForFile, 100, "Cabeca %s\r\n", APlayerData[playerid][Cabeca]);
fwrite(PFile, LineForFile);
Alguem Pode me ajudar?