[DUDA] Variable
#1

Hola a todos, estoy creando un sistema de eventos para mi sistema de administraciуn para mi servidor freeroam, pero tengo un pequeсo problema... puse esto para los que estan dentro del evento, spawneen:
Код:
for(new i = 0; i < MAX_PLAYERS; i++){
	SpawnPlayer(VariableZombies[i]);} // Esa parte es la que los spawnea y los resetea :D, bien.
La variable la definн asн:
Код:
new VariableZombies;
y me tira el siguiente error:
Код:
C:\Users\yessica\Desktop\Carpetas\WEAPON_SCROLL_MOD_2_0_BETA\Gran-Destruccion 2.0\filterscripts\ladmin.pwn(8647) : error 028: invalid subscript (not an array or too many subscripts): "VariableZombies"
C:\Users\yessica\Desktop\Carpetas\WEAPON_SCROLL_MOD_2_0_BETA\Gran-Destruccion 2.0\filterscripts\ladmin.pwn(8647) : warning 215: expression has no effect
C:\Users\yessica\Desktop\Carpetas\WEAPON_SCROLL_MOD_2_0_BETA\Gran-Destruccion 2.0\filterscripts\ladmin.pwn(8647) : error 001: expected token: ";", but found "]"
C:\Users\yessica\Desktop\Carpetas\WEAPON_SCROLL_MOD_2_0_BETA\Gran-Destruccion 2.0\filterscripts\ladmin.pwn(8647) : error 029: invalid expression, assumed zero
C:\Users\yessica\Desktop\Carpetas\WEAPON_SCROLL_MOD_2_0_BETA\Gran-Destruccion 2.0\filterscripts\ladmin.pwn(8647) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Si la variable la defino con [MAX_PLAYERS] :
Quote:

C:\Users\yessica\Desktop\Carpetas\WEAPON_SCROLL_MO D_2_0_BETA\Gran-Destruccion 2.0\filterscripts\ladmin.pwn(8656) : error 033: array must be indexed (variable "VariableZombies")
C:\Users\yessica\Desktop\Carpetas\WEAPON_SCROLL_MO D_2_0_BETA\Gran-Destruccion 2.0\filterscripts\ladmin.pwn(866 : error 033: array must be indexed (variable "VariableZombies")
C:\Users\yessica\Desktop\Carpetas\WEAPON_SCROLL_MO D_2_0_BETA\Gran-Destruccion 2.0\filterscripts\ladmin.pwn(12091) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.

Alguna soluciуn o alguna otra forma de hacerlo? gracias
Reply
#2

Para que SpawnPlayer(variable[i])? Si quieres hacer que la variable este en 1 y asi los spawneen necesitas un if antes de el Spawn, y si es necesaria la variable con MAX_PLAYERS.
Reply
#3

Lo hice asн:
Код:
forward SpawnDeJugadoresZombieDM(playerid);
public SpawnDeJugadoresZombieDM(playerid)
{
if(VariableZombies[playerid] == 1) {
for(new i=0; i<MAX_PLAYERS; i++){
return SpawnPlayer(i);}}}
Con un timer lo hice, pero ahora me sale esto:
Код:
C:\Users\yessica\Desktop\Carpetas\WEAPON_SCROLL_MOD_2_0_BETA\Gran-Destruccion 2.0\filterscripts\ladmin.pwn(12762) : warning 209: function "SpawnDeJugadoresZombieDM" should return a value
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Warnings.
Reply
#4

.-.

SI la funcion se llama desde un timer no sirven los parametros a menos que sea settimerex, lo correcto seria primero el for luego el if y por ultimo el spawn.
Reply
#5

Код:
for(new i = 0; i < MAX_PLAYERS; i++){
	SetTimerEx("SpawnDeJugadoresZombieDM", 2000,false, "i", playerid);}
Код:
forward SpawnDeJugadoresZombieDM(playerid);
public SpawnDeJugadoresZombieDM(playerid)
{
for(new i=0; i<MAX_PLAYERS; i++){
if(VariableZombies[i] == 1) {
return SpawnPlayer(i);}}} // .... xd
Reply
#6

Quote:
Originally Posted by Matyaas
Посмотреть сообщение
Код:
for(new i = 0; i < MAX_PLAYERS; i++){
	SetTimerEx("SpawnDeJugadoresZombieDM", 2000,false, "i", playerid);}
Код:
forward SpawnDeJugadoresZombieDM(playerid);
public SpawnDeJugadoresZombieDM(playerid)
{
for(new i=0; i<MAX_PLAYERS; i++){
if(VariableZombies[i] == 1) {
return SpawnPlayer(i);}}} // .... xd
simplemete no retornes nada, no sй porquй ese afбn de retornar una funcнon.
Reply
#7

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
simplemete no retornes nada, no sй porquй ese afбn de retornar una funcнon.
Porque sinу PAWNO te da error.

Asн el cуdigo correcto:


pawn Код:
for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
        if(IsPlayerConnected(playerid) && NombreVariable[playerid] == 1)
        {
                SpawnPlayer(playerid);
                //Demбs cуdigo
        }
}
Reply
#8

Gracias design, pero como me dijo daniel, no me diу error gracias de todas formas, gracias daniel xD
Reply
#9

Quote:
Originally Posted by Matyaas
Посмотреть сообщение
Код:
for(new i = 0; i < MAX_PLAYERS; i++){
	SetTimerEx("SpawnDeJugadoresZombieDM", 2000,false, "i", playerid);}
Код:
forward SpawnDeJugadoresZombieDM(playerid);
public SpawnDeJugadoresZombieDM(playerid)
{
for(new i=0; i<MAX_PLAYERS; i++){
if(VariableZombies[i] == 1) {
return SpawnPlayer(i);}}} // .... xd
y luego te preguntas por que tienes lag en tu servidor, esto creara bucles de 500*500 y timers 500*500... digo nomas, si luego te preguntas por que tienes lag deben ser tus textdraws...
Reply
#10

pawn Код:
forward SpawnDeJugadoresZombieDM();
public SpawnDeJugadoresZombieDM()
{
for(new x = 0; x != GetMaxPlayers(); x++)
{
if(IsPlayerConnected(x) && VariableZombies[i] == 1)
{
SpawnPlayer(x);
}
}
return 1;
}


SetTimer("SpawnDeJugadoresZombieDM", 2000, false);
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)