[Ajuda] Pegar apenas uma parte do texto
#1

Olа , jб faz um tempo que estou sem mexer em pawn e agora penseiem fazer um projeto e estou com uma duvida.

Eu tendo um codigo de create objeto , semelhante a isso :

Код:
 CreateObject(979, 1812.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
E que eu quero colocar numa variavel de nome x o valor 1812.13989 , como eu faria para pegar esse valor mas de forma generica , ou seja para qualquer valor que se encontra naquele parametro ?
Reply
#2

Nгo entendi bem, vocк quer criar um mйtodo semelhante ao CreateObject ? Nгo tб conseguindo pegar o parвmetro ?
pawn Код:
CreateObject_Tugamars(Float:x) {
    printf("%f", x);
    return 1;
}
Reply
#3

Nгo entendi, vocк quer armazenar os parвmetros em uma variбvel, й isso?
Se for, vocк pode usar um vetor
Reply
#4

Nгo , o objetivo й um loop onde ele pega todos as coordenadas X de cada createobject , minha questгo й como pego apenas aquela parte do texto .
Reply
#5

Armazenar o valor X de todos objetos?

GetObjectPos com um loop funciona, ou faзa um hook e armazene em uma variбvel o valor de X.
Reply
#6

Quote:
Originally Posted by connork
Посмотреть сообщение
Armazenar o valor X de todos objetos?

GetObjectPos com um loop funciona, ou faзa um hook e armazene em uma variбvel o valor de X.
Ai eu teria que fazer 1 loop para colcar cada Objecto numa variavel Objx , com x a variar entre 0 e o maximo de objetos , e outra loop para buscar os objectpos de cada objeto correto ?
Reply
#7

Uma das formas que vocк pode fazer й essa:

pawn Код:
#include <a_samp>

#define MAX_OBJ 11

new ObjTeste[MAX_OBJ];
new Float: PosObj[MAX_OBJ][3];


public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
   
    ObjTeste[0] = CreateObject(979, 1812.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
    ObjTeste[1] = CreateObject(979, 1813.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
    ObjTeste[2] = CreateObject(979, 1814.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
    ObjTeste[3] = CreateObject(979, 1815.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
    ObjTeste[4] = CreateObject(979, 1816.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
    ObjTeste[5] = CreateObject(979, 1817.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
    ObjTeste[6] = CreateObject(979, 1818.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
    ObjTeste[7] = CreateObject(979, 1819.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
    ObjTeste[8] = CreateObject(979, 1820.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
    ObjTeste[9] = CreateObject(979, 1821.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
    ObjTeste[10] = CreateObject(979, 1822.13989, 805.36542, 10.42910, 0.00000, 0.00000, 178.75070);
   
    PegarPosX();
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

PegarPosX()
{
    for(new obj = 0; obj < MAX_OBJ; obj ++)
    {
        GetObjectPos(ObjTeste[obj], PosObj[obj][0], PosObj[obj][1], PosObj[obj][2]);
        printf("ObjTeste[%d] : PosX: %f", obj, PosObj[obj][0]);
    }
    return 1;
}
Vai imprimir:



Copiei os CreateObject e sу mudei o X pra fazer um teste kk'

Estude o cуdigo e espero que entenda
Reply
#8

Sim , dessa forma eu sei , mas queria por exemplo carregar o mapa de um arquivo de pawn acabado de sair do editor ai ele pegava linha por linha e atribuia sozinho os objetos , agora que vocк fez os objetos assim acho que ja entendi que posso fazer um loop e meter o obj assim :

Porque por exemplo um mapa com mais de 500 objetos n seria prбtico adicionar as variaveis uma a uma por objeto.

Eu poderia usar ObjTeste[nobj] dentro de um loop , sendo nobj a variavel da loop ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)