Eliminar strmid? .-.
#1

Esta es mi variable:
pawn Код:
new SAS[MAX_PLAYERS][256];
y la seteo de esta forma:
pawn Код:
strmid(SAS[playerid], Field, 0, strlen(Field));
Pero despues quiero eliminarla asi:

pawn Код:
strmid(SAS[playerid], 0, 0, 0);
y me da el siguiente error:

pawn Код:
H:\PawnScript.pwn(5582) : error 035: argument type mismatch (argument 2)
їporque? їcomo hago para eliminar lo que contiene SAS[playerid] entonces?

Intente asн:
pawn Код:
SAS[playerid] = 0;
y me devolvio esto:

Код:
H:\PawnScript.pwn (5582) : error 033: array must be indexed (variable "SAS")
H:\PawnScript.pwn (5591) : error 033: array must be indexed (variable "SAS")
H:\PawnScript.pwn (5601) : error 033: array must be indexed (variable "SAS")
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


3 Errors.
(supongo que esos errores son lуgicos ya que la variable SAS es un string y no se puede colocar en 0 de esa forma.. por eso la pregunta de arriba xd)
Reply
#2

Lo puedes eliminar de las siguientes maneras:
pawn Код:
SAS[playerid][0] = EOS;

SAS[playerid][0] = '\0';
Mбs informaciуn aquн.
Reply
#3

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
Lo puedes eliminar de las siguientes maneras:
pawn Код:
SAS[playerid][0] = EOS;

SAS[playerid][0] = '\0';
Mбs informaciуn aquн.
Muchas gracias xd voy a intentar y leer esa cosa otra vez :B xd

EDITO: SI FUNCIONA, XD GRACIAS

EDITO 2: FALTA PROBAR EN EL JUEGO

EDITO 3: SI FUNCIONA PERFECTAMENTE, ELIMINO TODO EL STRING, GRACIAS XD
Reply
#4

El primer error te lo da porquй el segundo parбmetro de strmid debe ser una cadena de caracteres, no un nъmero entero.

Podrнa funcionar si lo hicieras asн:

pawn Код:
strmid(SAS[playerid], "0", 0, 256);
El segundo es obvio. Mejor usa format (o lo de arriba... o lo que tъ quieras):

pawn Код:
format(SAS[playerid], 256, "0");
Reply
#5

Quote:
Originally Posted by LuiisRubio
Посмотреть сообщение
El primer error te lo da porquй el segundo parбmetro de strmid debe ser una cadena de caracteres, no un nъmero entero.

Podrнa funcionar si lo hicieras asн:

pawn Код:
strmid(SAS[playerid], "0", 0, 256);
El segundo es obvio. Mejor usa format (o lo de arriba... o lo que tъ quieras):

pawn Код:
format(SAS[playerid], 256, "0");
editado * si, es mejor asi: SAS[playerid][0] = EOS; te ganaron pero gracias =
Reply
#6

Edito, ya fue arreglado.
Para que entiendas lo que hace, EOS es el lнmite del string, el cual hace que se acabe, por ejemplo una string con este valor.

new string[5] = "hola";

seria lo mismo que

new string[5] = { "h", "o", "l", "a", "\0"}
Reply
#7

Esperen que no lo he probado en el juego en el pawn no me dio warning ni error, toca ver que hace D: dxd
Reply
#8

Quote:
Originally Posted by xDarkuzSx
Посмотреть сообщение
Esperen que no lo he probado en el juego en el pawn no me dio warning ni error, toca ver que hace D: dxd
Ah, pues si no te funciona lo que probaste te facilito otra forma.

format(SAS[playerid], 256, "\0");

for(new i; i < 257; i++)
{
SAS[playerid][i] = EOS;
}
Reply
#9

Hola ya lo he probado y si funciono perfectamente de esta forma:

SAS[playerid][0] = EOS;

[18:38:08] NORMAL: STRING_SAS
//ejecutando SAS[playerid][0] = EOS;
[18:38:08] FINAL:
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)