SA-MP Forums Archive
[Ajuda] Ajuda com String em textdraw! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Ajuda com String em textdraw! (/showthread.php?tid=570208)



Ajuda com String em textdraw! - Yak - 06.04.2015

Pessoal, baseando-se nesse tуpico onde mostra como usar vбrios tipos de textdraw, eu queria que vocкs pudessem me dar uma base para eu criar um sistema de Score em textdraw para duas equipes (Orgs) e cada ponto seria contado assim que um determinado player chegasse a um checkpoint determinado tambйm.

Tуpico:

https://sampforum.blast.hk/showthread.php?tid=358422

Obrigado!

@Edit

oque eu estou tentando fazer й assim:

variбveis:

PHP код:
new pontosmerc 0;
new 
pontosag 0;
new 
Text:Textdraws[2]; 
OnGameModeInt();

PHP код:
//========================SCOREMERCENARIO=================================//
    
Textdraws[0] = TextDrawCreate(195.000000418.000000"Score: ");
     
TextDrawShowForAll(Textdraws[0]);
    
TextDrawBackgroundColor(Textdraws[0], 255);
    
TextDrawFont(Textdraws[0], 3);
    
TextDrawLetterSize(Textdraws[0], 0.6999992.899999);
    
TextDrawColor(Textdraws[0], -16776961);
    
TextDrawSetOutline(Textdraws[0], 1);
    
TextDrawSetProportional(Textdraws[0], 1);
    
    
Textdraws[1] = TextDrawCreate(372.000000418.000000"Score: ");
     
TextDrawShowForAll(Textdraws[1]);
    
TextDrawBackgroundColor(Textdraws[1], 255);
    
TextDrawFont(Textdraws[1], 3);
    
TextDrawLetterSize(Textdraws[1], 0.6999992.899999);
    
TextDrawColor(Textdraws[1], -16776961);
    
TextDrawSetOutline(Textdraws[1], 1);
    
TextDrawSetProportional(Textdraws[1], 1);
    
//========================================================================// 
OnPlayerEnterInCheckpoint();

PHP код:
public OnPlayerEnterCheckpoint(playerid)
{
    
pontosag += 1;
    new 
pName[MAX_PLAYER_NAME], info[254];
    new 
VehID GetPlayerVehicleID(playerid);
    if(
VehID == Caminhao[0])
    {
        if(
Org[playerid] == 1)
         {
            if(
CPS_IsPlayerInCheckpoint(playeridCheckAg))
            {
                
GetPlayerName(playeridpNameMAX_PLAYER_NAME);
                
format(infosizeof(info), "| ENTREGA | O Caminhгo dos Mercenбrios foi entregue pelo {FF7403}Agente {9DAD80}( %s ) {33CCFF}ao seu destino!"pName);
                
SendClientMessageToAll(AzulClaro,info);
                
SetPlayerScore(playeridGetPlayerScore(playerid) +1);
                
GivePlayerMoney(playerid8000);
                
pontosmerc pontosmerc +1
                format
(info,sizeof(info)," %d",pontosmerc));
                
PlayerTextDrawSetString(Textdraws[1](playerid), info));
                
TextDrawShowForAll(playeridTextdraws[1]);
                
SetVehicleToRespawn(Caminhao[0]);
                
DisablePlayerCheckpoint(playerid);
                }
                    else
                {
                if(
IsPlayerInAnyVehicle(playerid))
                {
                    
SendClientMessage(playerid,Vermelho"| ERRO | Esse nгo й o caminhгo que entrega nessa posiзгo!");
                    return 
1;
                }
            }
        }
    } 
ERROS:
pawn Код:
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(416) : error 001: expected token: ";", but found "-identifier-"
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(416) : error 001: expected token: ";", but found ")"
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(416) : error 029: invalid expression, assumed zero
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(416) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.
Obs.:
sei que tem inumeras coisas erradas, poderiam me informar onde estб errado e para conserta-los, por onde comeзar ?

Obrigado !


Re: Ajuda com String em textdraw! - #Luca[S]. - 06.04.2015

Mande a linha do erro.


Re: Ajuda com String em textdraw! - Rodrigo_Avenged - 06.04.2015

Qual linha exatamente estar dando o erro?


Re: Ajuda com String em textdraw! - Yak - 06.04.2015

Linha do erro:

PHP код:
PlayerTextDrawSetString(Textdraws[1](playerid), info)); 
mas se fosse fazer do jeito de vocкs, como fariam ?


Re: Ajuda com String em textdraw! - Rodrigo_Avenged - 06.04.2015

Mude esta linha
pawn Код:
PlayerTextDrawSetString(Textdraws[1](playerid), info));
Para esta:

pawn Код:
PlayerTextDrawSetString(Textdraws[1][playerid], info));
nao sei se й esse o poblema exatamente... das chaves () {}

qualquer coisa fala ae.


Re: Ajuda com String em textdraw! - #Luca[S]. - 06.04.2015

Mude a variavel de:
PHP код:
new Text:Textdraws[2]; 
Mude para:
PHP код:
new Text:Textdraws[MAX_PLAYERS][2]; 
E use desta forma:
PHP код:
TextDrawSetString(Textdraws[playerid][1], info)); 
Abraзos, fera.


Re: Ajuda com String em textdraw! - Yak - 06.04.2015

Tentei das duas maneiras e ambas deram uns 20 erros:

pawn Код:
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(92) : error 033: array must be indexed (variable "Textdraws")
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(93) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(94) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(95) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(96) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(97) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(98) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(99) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(101) : error 033: array must be indexed (variable "Textdraws")
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(102) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(103) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(104) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(105) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(106) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(107) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(108) : error 035: argument type mismatch (argument 1)
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(416) : error 001: expected token: ";", but found "-identifier-"
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(416) : error 001: expected token: ";", but found ")"
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(416) : error 029: invalid expression, assumed zero
C:\Users\lucas\Documents\SA-MP\servidor em construзгo\gamemodes\inicio.pwn(416) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


20 Errors.
Poderiam me mostrar como vocк(s) fariam usando as minhas textdraws ?

Obrigado !

@Edit

Acho que devo criar um looping dentro da callback, serб ?


Re: Ajuda com String em textdraw! - #Luca[S]. - 06.04.2015

Mude isso:
PHP код:
PlayerTextDrawSetString(Textdraws[1], info)); 
Para
PHP код:
TextDrawSetString(Textdraws[1], info)); 



Re: Ajuda com String em textdraw! - Yak - 06.04.2015

Ainda continua os mesmos 20 erros :/

Jб procurei por cуdigos parecidos com Score em textdraw sу que pra marcar ao pisar em um checkpoint e nгo consigo achar, apenas os que pegam os score dos prуprios players :c

Jб dei uma olhada na Wiki, estudei o bбsico das textdraw e nada :c


Re: Ajuda com String em textdraw! - Dayvison_ - 06.04.2015

1° Uma dica:
PHP код:
public OnPlayerEnterCheckpoint(playerid)
{
    
pontosag += 1;
    new 
pName[MAX_PLAYER_NAME], info[B][254][/B]; 
Vocк formatou as strings, e nгo usarб 50% do que declarou na variavel, visualize o tutorial de ******
Why you should not use 256


2° Os erros:
PHP код:
new Text:Textdraws[2]; 
Se vocк usa PlayerTextDrawSetString, entгo seria:
PHP код:
new PlayerText:Textdraws[2]; 
E sim no seu caso serб melhor PlayerTextDraw
de uma lida neste post do Bluex
Agora o erro estб nesta linha:
PHP код:
PlayerTextDrawSetString(Textdraws[1](playerid), info)); 
Leia na wiki a pagina, de PlayerTextDrawSetString
O certo seria vocк concertar a variavel, e alterar a criaзгo para PlayerTextDraw e usar desta forma:
PHP код:
PlayerTextDrawSetString(playerid,Textdraws[1], info); 
TextDrawns em PlayerTextDraw
PHP код:
    Textdraws[0] = PlayerTextDrawCreate(195.000000418.000000"Score: "); 
    
TextdrawshowForAll(Textdraws[0]); 
    
PlayerTextDrawBackgroundColor(Textdraws[0], 255); 
    
PlayerTextDrawFont(Textdraws[0], 3); 
    
PlayerTextDrawLetterSize(Textdraws[0], 0.6999992.899999); 
    
PlayerTextDrawColor(Textdraws[0], -16776961); 
    
TextdrawsetOutline(Textdraws[0], 1); 
    
TextdrawsetProportional(Textdraws[0], 1); 
     
    
Textdraws[1] = PlayerTextDrawCreate(372.000000418.000000"Score: "); 
    
TextdrawshowForAll(Textdraws[1]); 
    
PlayerTextDrawBackgroundColor(Textdraws[1], 255); 
    
PlayerTextDrawFont(Textdraws[1], 3); 
    
PlayerTextDrawLetterSize(Textdraws[1], 0.6999992.899999); 
    
PlayerTextDrawColor(Textdraws[1], -16776961); 
    
TextdrawsetOutline(Textdraws[1], 1); 
    
TextdrawsetProportional(Textdraws[1], 1); 
@Off
Quote:
Originally Posted by TenhoUmaDuvida
Посмотреть сообщение
Mude a variavel de:
PHP код:
new Text:Textdraws[2]; 
Mude para:
PHP код:
new Text:Textdraws[MAX_PLAYERS][2]; 
E use desta forma:
PHP код:
PlayerTextDrawSetString(Textdraws[playerid][1], info)); 
Abraзos, fera.
Ta meio errado isto dae '-'