[Ajuda] Ajuda com String em textdraw!
#1

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 !
Reply
#2

Mande a linha do erro.
Reply
#3

Qual linha exatamente estar dando o erro?
Reply
#4

Linha do erro:

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

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.
Reply
#6

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.
Reply
#7

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б ?
Reply
#8

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

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
Reply
#10

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 '-'
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)