ayuda , slots, eliminar...
#1

buenas a todos, necesito ayuda para eliminar la variable del slots correcpondiente, acontinuacin les dejo lo siguiente para que me entiendan mejor.

pawn Код:
new TextoVariableSlots[MAX_PLAYERS][4][20];

//slot 1
VariableSlots[playerid]++;
format(TextoVariableSlots[playerid][VariableSlots[playerid]],20,"otacon",TextoVariableSlots[playerid][VariableSlots[playerid]]);

//slot 2
VariableSlots[playerid]++;
format(TextoVariableSlots[playerid][VariableSlots[playerid]],20,"otacontito",TextoVariableSlots[playerid][VariableSlots[playerid]]);

//slot 3
VariableSlots[playerid]++;
format(TextoVariableSlots[playerid][VariableSlots[playerid]],20,"otaku",TextoVariableSlots[playerid][VariableSlots[playerid]]);
hice un bucle que compruea el texto escrito mediante u ncomando con el texto de la variable y si son iguales elimina esa variable.

el problema esta en que no se ocmo hacer para eliminar la variable del slots.. por ejemplo tengo los 3 slots y elimino la variable del texto 'otacontito' el slots seria el 2, y no serviria restanla variable del slots con --.

ojala me entiendan y me puedan ayudar :S .

desde ya muchas gracias .
Reply
#2

porque no lo haces asн ??
pawn Код:
new VariableSlots[MAX_PLAYERS][3];

VariableSlots[playerid][0] = valor;
VariableSlots[playerid][1] = valor;
VariableSlots[playerid][2] = valor;
Reply
#3

Quote:
Originally Posted by Parka
Посмотреть сообщение
porque no lo haces asн ??
pawn Код:
new VariableSlots[MAX_PLAYERS][3];

VariableSlots[playerid][0] = valor;
VariableSlots[playerid][1] = valor;
VariableSlots[playerid][2] = valor;
sera que me kiero complicar :P.

estaba mensando en colocarlo asi al final... pero si saben alguna solucion para la mia, mejor , pero por ahora l o pondre asi .
saludos.


EDIT: no, no puedo de esa forma, ya ke la variable esa sera el listitem de un dialog. .
Reply
#4

en el listitem sera el valor o el slot?? si es el slot... VariableSlots[playerid][listitem]
Reply
#5

EDIT: SOLUCIONADO!.

ya solucione, er ke cuando utilice la variable que de resta tengo ke actualizar los slots con el bucle xD:
gracias saludos.
Reply
#6

Revivo...

aca otra vez.. pense ke lo habia solucionado pero no funciono...

explicare bien para ver is me entienden y me pueden ayudar.

yo cree una variable string con la que tenga arrayr ke seran los slots disponibles ..
bueno y l oke kiero hace es actualizar los datos de una variable al azar por ejemplo la del slots 4/10... osea ke eliminare los datos de esa variable y slot. y tendria ke colocar los datos de la variable 5 a la 4 y asi sucesivamente con todas hasta llegar hasta la ultima.

como lo podria realizar.??
desde yam uchasg racias.
saludos.
Reply
#7

A ver, proba con esto:

pawn Код:
new VariableSlots[MAX_PLAYERS][3];

new a = random(10);
switch(a)
{
case 1..4: VariableSlots[playerid][a] = "";
case 5..8: VariableSlots[playerid][a] = "";
case 8..10: VariableSlots[playerid][a] = "";
}
Supongo que es eso lo que buscas, porque realmente no te entiendo nada lo que queres hacer, ademбs de que tu ortografнa no ayuda.
Reply
#8

cuando dije kel ohabia solucionado habia hecho lo siguiente pero no le habia colocado el +1. (lo acabo de poner xD)

hay me funciono pero no se.. sigo testeando. :S.


pawn Код:
//para eliminar
variable[playerid][4][0]='\0';

//para actualizar
stock Actualizar(playerid) {
for(new slots=0; slots<10; slots++) \
    format(variable[playerid][slots],12,"%s",variable[playerid][slots+1]);
}
estara bien lo ke hice?...

lo ke kiero hacer es lo siguiente...

pawn Код:
//esto lo diga un comando
slots 1 datos...
slots 2 datos...
slots 3 datos...
slots 4 datos...
slots 5 datos...
slots 6 datos...
slots 7 datos...
slots 8 datos...
slots 9 datos...
slots 10 datos...

//despues con otro comando eliminare un slots correspondiente, que sera el 4.
slots 1 datos...
slots 2 datos...
slots 3 datos...
slots 4 datos... //entonse lo ke decia en este slots se elinaria y colocaria lo ke dice en el slots 5 y asi con todos y las actualizando.
slots 5 datos...
slots 6 datos...
slots 7 datos...
slots 8 datos...
slots 9 datos...
slots 10 datos...
Reply
#9

y si lo haces verificando la longitud del texto y le mandas una id falsa al jugador? pero no se si te sirve para el uso que le darбs.

pawn Код:
new string[128],pos;
for(new i=0; < 10; i++) {
    if(strlen(VARIABLE[i]) {
        format(string,sizeof string,"VARIABLE %d: %s",++pos,VARIABLE[i]);
        SendClientMessage(playerid,-1,string);
    }
}
for(new i=pos; < 10; i++) {
    format(string,sizeof string,"VARIABLE %d: \"\"",++pos);
    SendClientMessage(playerid,-1,string);
}
Reply
#10

pawn Код:
//para actualizar
stock Actualizar(playerid) {
for(new slots=0; slots<10; slots++) \
    format(variable[playerid][slots],12,"%s",variable[playerid][slots+1]);
}
agregale
pawn Код:
//para actualizar
stock Actualizar(playerid,slotid) {
for(new slots=slotid; slots<10; slots++) \
    format(variable[playerid][slots],12,"%s",(slots==9)?(""):(variable[playerid][slots+1]));
}
Y en slotid pasale el slot que quieres eliminar
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)