Encuentra el error del usuario anterior -
Glimma - 02.02.2013
Bueno, el juego es simple y entretenido, se trata de que uno tiene que encontrar el error del usuario anterior (el usuario de arriba) y ademбs de eso postear un cуdigo йl, para que el usuario siguiente (el usuario de abajo) pueda encontrar el error y colocar su cуdigo, asн sucesivamente. Y tampoco vale tomar el cуdigo y meterlo a su GM, no tendrнa sentido, la idea es que uno mismo pueda identificarlo sin probarlo en el GM para copilar y ver que error da, o compararlo con otro cуdigo similar, o leer tutoriales, eso no estб permitido.
Si no van a jugar, mejor ni comenten, їvale?
Empiezo yo, es demasiado sencillo encontrar mi error (es programaciуn bбsica);
pawn Код:
enum ConceInfo
{
Float:cX,
Float:cY,
Float:cZ,
Float:ctX,
Float:ctY,
Float:ctZ,
cNombre[128],
}
Edit (The_Chaoz):
Reglas:
- Para publicar un error, debe resolverse el anterior.
- En caso de que un usuario resuelva un error y no postee ninguno propio, pasadas las 24Hs cualquier usuario podra publicar un error, y el juego seguira a partir de allн.
- Eviten realizar SPAM, si no es un error ni la resolucion de un error u aclaracion sobre alguien que fallo al resolver el error que uno mismo publico, no comenten.
Respuesta: Encuentra el error del usuario anterior -
Parka - 02.02.2013
pawn Код:
enum ConceInfo
{
Float:cX,
Float:cY,
Float:cZ,
Float:ctX,
Float:ctY,
Float:ctZ,
cNombre[128] // el error estaba aqui ya que al final no debes colocar " , "
}
en mi caso tambien les dare uno simple
pawn Код:
enum ConceInfo
{
Login = 0,
register = -1, // aqui para los que no saben
Admin = 5
}
EDIT: El verdadero error esta en register ya que en un enum no puedes colocar -1
Respuesta: Encuentra el error del usuario anterior -
Fluid016 - 02.02.2013
pawn Код:
enum ConceInfo
{
Login = 0,
register = -1,
Admin = 5
}// no cierras con ;
EDIT: Busquen
pawn Код:
public OnPlayerStateChange(playerid, newkeys, oldkeys)
{
if ((oldkeys & (KEY_ACTION | KEY_ACTION)) == (KEY_ACTION | KEY_ACTION))
{
SendClientMessage(playerid, -1, ":d");
}
return 0;
}
Respuesta: Encuentra el error del usuario anterior -
Glimma - 02.02.2013
Quote:
Originally Posted by GROVE22
pawn Код:
enum ConceInfo { Login = 0, register = -1, Admin = 5 }// no cierras con ;
EDIT: Busquen
pawn Код:
public OnPlayerStateChange(playerid, newkeys, oldkeys) { if ((oldkeys & (KEY_ACTION | KEY_ACTION)) == (KEY_ACTION | KEY_ACTION)) { SendClientMessage(playerid, -1, ":d"); } return 0; }
|
Claramente, se estб usando el public de OnPlayerStateChange en lugar de OnPlayerKeyStateChange, dejo el mнo;
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd, "/miint", true) == 0)
{
new interior = GetPlayerInterior(playerid);
SendClientMessage(playerid, -1, "Su interior es %s.", interior);
return 0;
}
PD: Son 3 errores los de mi comando, si encuentran uno sуlo no va a tener validez.
Respuesta: Encuentra el error del usuario anterior -
EmuS - 02.02.2013
Quote:
Originally Posted by DeadSkyTkb
Claramente, se estб usando el public de OnPlayerStateChange en lugar de OnPlayerKeyStateChange, dejo el mнo;
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmd, "/miint", true) == 0) { new interior = GetPlayerInterior(playerid); SendClientMessage(playerid, -1, "Su interior es %s.", interior); return 0; }
PD: Son 3 errores los de mi comando, si encuentran uno sуlo no va a tener validez.
|
utiliza un format
pawn Код:
if(strcmp(cmd, "/miint", true) == 0)
{
new asd[50],interior = GetPlayerInterior(playerid);
format(asd,sizeof(asd),"Su interior es %s.",interior),
SendClientMessage(playerid,-1,asd);
return 1;
}
Respuesta: Encuentra el error del usuario anterior -
Glimma - 02.02.2013
Bueno, como nadie mбs posteo, dejo uno yo;
pawn Код:
if(strcmp(cmdtext, "/quierom4", true) == 0)
{
GameTextForPlayer(playerid, "~w~disfruta de tu m4", 3, 5000);
GivePlayerWeapon(playerid, 31, 30);
return 1;
}
Respuesta: Encuentra el error del usuario anterior -
EmuS - 02.02.2013
pawn Код:
if(strcmp(cmdtext, "/quierom4", true) == 0)
{
GameTextForPlayer(playerid, "~w~disfruta de tu m4",5000, 3);
GivePlayerWeapon(playerid, 31, 30);
return 1;
}
Aver este(el jugador debe estar en un vehiculo):
pawn Код:
if(!IsPlayerInAnyVehicle(playerid)&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER))
{
new C1 = random(100)+0;
new C2 = random(100)+0;
ChangeVehicleColor(GetPlayerVehicleID(playerid), C1, C2);
}
Respuesta: Encuentra el error del usuario anterior -
NeuZz - 02.02.2013
Quote:
Originally Posted by EmuS
[PAWN]
pawn Код:
if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER) { new C1 = random(100); new C2 = random(100); ChangeVehicleColor(GetPlayerVehicleID(playerid), C1, C2); }
|
Estaba mal usado el if, con un simple getplayerstate basta, y el +0 esta de mas xd.
Aqui mi error:
PHP код:
for(new i = 0; < MAX_PLAYERS; i++)
{
SendClientMessage(i, -1, "Hola :D");
}
Respuesta: Encuentra el error del usuario anterior -
TheChaoz - 02.02.2013
Es un buen topic y bastante buena idea, aun que ya la habia escuchado por otro usuario.
El topic quedara siempre y cuando respeten las reglas impuestas por su creador:
- Si corrigen error, deben proponer otro reto, caso contrario el post sera eliminado.
- Post que no siga el juego sera eliminado.
Siguiendo con el juego:
Quote:
Originally Posted by NeuZz
Estaba mal usado el if, con un simple getplayerstate basta, y el +0 esta de mas xd.
Aqui mi error:
PHP код:
for(new i = 0; < MAX_PLAYERS; i++)
{
SendClientMessage(i, -1, "Hola :D");
}
|
Error:
pawn Код:
for(new i = 0; < MAX_PLAYERS; i++)// Falta la variable 'i' dentro del for (i < MAX_PLAYERS).
{
SendClientMessage(i, -1, "Hola :D");
}
Nuevo reto (algo simple):
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext[], "/micomando", true))
{
return 1;
}
return 0;
}
Respuesta: Encuentra el error del usuario anterior -
OTACON - 02.02.2013
Error esta en cmdtext
[]
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext[], "/micomando", true)) //
{
return 1;
}
return 0;
}
pawn Код:
public OnVehicleSpawn(vehicleid)
{
SpawnPlayer(playerid);
return 1;
}
Respuesta: Encuentra el error del usuario anterior -
Fluid016 - 02.02.2013
Quote:
Originally Posted by bytytus
Error esta en cmdtext []
pawn Code:
public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext[], "/micomando", true)) // { return 1; } return 0; }
pawn Code:
public OnVehicleSpawn(vehicleid) { SpawnPlayer(playerid); return 1; }
|
error:
pawn Code:
public OnVehicleSpawn(vehicleid) // callback incorrecta tiene que ser OnPlayerSpawn(playerid)
{
SpawnPlayer(playerid);
return 1;
}
Reto:
pawn Code:
ShowPlayerDialog( playerid, 1, DIALOG_STYLE_MSG_BOX, "GROVE22", "GROVE22", "Aceptar", "Cancelar" );
Respuesta: Encuentra el error del usuario anterior -
EduGTA - 02.02.2013
Quote:
Originally Posted by GROVE22
Reto:
pawn Code:
ShowPlayerDialog( playerid, 1, DIALOG_STYLE_MSG_BOX, "GROVE22", "GROVE22", "Aceptar", "Cancelar" );
|
pawn Code:
ShowPlayerDialog( playerid, 1, DIALOG_STYLE_MSGBOX, "GROVE22", "GROVE22", "Aceptar", "Cancelar" ); //Es DIALOG_STYLE_MSGBOX y no DIALOG_STYLE_MSG_BOX.
Reto:
pawn Code:
public OnPlayerDeath(playerid, killerid, reason)
{
new MSGMuerto[256], pName[25];
GetPlayerName(playerid, pName, sizeof(pName));
format(MSGMuerto, sizeof(MSGMuerto), "%s te ha matado!");
SendClientMessage(playerid, -1, MSGMuerto);
return 1;
}
Respuesta: Encuentra el error del usuario anterior -
Fluid016 - 02.02.2013
pawn Code:
public OnPlayerDeath(playerid, killerid, reason)
{
new MSGMuerto[256], pName[25];
GetPlayerName(playerid, pName, sizeof(pName));// obtiene el nombre del muerto, tiene que obtener el nombre del que matу (killerid)
format(MSGMuerto, sizeof(MSGMuerto), "%s te ha matado!"); // y te falta poner pName en el format
SendClientMessage(playerid, -1, MSGMuerto);
return 1;
}
Reto:
pawn Code:
new cmd[256], idx;
cmd = strtok(cmdtext, idx);
if (strcmp(cmd, "/darvida", true) == 0)
{
if (PlayerInfo[playerid][Admin] >= 1)
{
new tmp1[256], tmp2[256], jugador, admin, string1[256], string2[256], nombrejugador[MAX_PLAYER_NAME], nombreadmin[MAX_PLAYER_NAME], Float:vida;
tmp1 = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
if (!strlen(tmp1) || !strlen(tmp2)) return SendClientMessage(playerid, COLOR_ROJO, "Usa: /darvida [ID] [Cantidad].");
jugador = playerid;
GetPlayerName(jugador, nombrejugador, sizeof(nombrejugador));
GetPlayerName(admin, nombreadmin, sizeof(nombreadmin));
vida = float(strval(tmp2));
if (IsPlayerConnected(jugador))
{
format(string1, sizeof(string1), "Has puesto la vida de %s en %f.", nombrejugador, vida);
format(string2, sizeof(string2), "%s ha puesto tu vida en %f.", nombreadmin, vida);
SetPlayerHealth(jugador, vida);
SendClientMessage(admin, COLOR_AZUL, string1);
SendClientMessage(jugador, COLOR_VERDE_CLARO, string2);
}
else return SendClientMessage(playerid, COLOR_ROJO, "El jugador no se encuentra conectado.");
}
else return SendClientMessage(playerid, COLOR_ROJO, "ERROR");
return 1;
}
Respuesta: Encuentra el error del usuario anterior -
OTACON - 02.02.2013
pawn Code:
public OnPlayerDeath(playerid, killerid, reason)
{
new MSGMuerto[256], pName[25];
GetPlayerName(playerid, pName, sizeof(pName));
format(MSGMuerto, sizeof(MSGMuerto), "%s te ha matado!");
SendClientMessage(playerid, -1, MSGMuerto);
return 1;
}
El error esta ke en ningun momento estas utilizando el parametro ke identifica el id del player mata al usuario. osea killerid.
pawn Code:
GetPlayerDrunkLevel(playerid) ++;
pawn Code:
if(SetPlayerDrunkLevel (playerid, 3000) ) return 1;
Respuesta: Encuentra el error del usuario anterior -
Jovanny - 02.02.2013
Quote:
Originally Posted by GROVE22
pawn Code:
public OnPlayerDeath(playerid, killerid, reason) { new MSGMuerto[256], pName[25]; GetPlayerName(playerid, pName, sizeof(pName));// obtiene el nombre del muerto, tiene que obtener el nombre del que matу (killerid) format(MSGMuerto, sizeof(MSGMuerto), "%s te ha matado!"); // y te falta poner pName en el format SendClientMessage(playerid, -1, MSGMuerto); return 1; }
Reto:
pawn Code:
new cmd[256], idx; cmd = strtok(cmdtext, idx); if (strcmp(cmd, "/darvida", true) == 0) { if (PlayerInfo[playerid][Admin] >= 1) { new tmp1[256], tmp2[256], jugador, admin, string1[256], string2[256], nombrejugador[MAX_PLAYER_NAME], nombreadmin[MAX_PLAYER_NAME], Float:vida; tmp1 = strtok(cmdtext, idx); tmp2 = strtok(cmdtext, idx); if (!strlen(tmp1) || !strlen(tmp2)) return SendClientMessage(playerid, COLOR_ROJO, "Usa: /darvida [ID] [Cantidad]."); jugador = playerid; GetPlayerName(jugador, nombrejugador, sizeof(nombrejugador)); GetPlayerName(admin, nombreadmin, sizeof(nombreadmin)); vida = float(strval(tmp2)); if (IsPlayerConnected(jugador)) { format(string1, sizeof(string1), "Has puesto la vida de %s en %f.", nombrejugador, vida); format(string2, sizeof(string2), "%s ha puesto tu vida en %f.", nombreadmin, vida); SetPlayerHealth(jugador, vida); SendClientMessage(admin, COLOR_AZUL, string1); SendClientMessage(jugador, COLOR_VERDE_CLARO, string2); } else return SendClientMessage(playerid, COLOR_ROJO, "El jugador no se encuentra conectado."); } else return SendClientMessage(playerid, COLOR_ROJO, "ERROR"); return 1; }
|
a el admin nunca se le otorga un id, por lo tanto admin = playerid; y el id qe se almacena en jugador es la del admin, por lo tanto jugador = strval(tmp1);
Reto:
pawn Code:
public OnFilterScriptInit()
{
new tmp[128];
new hash[128];
strcat(tmp, "Esto serб invertido!");
hash = Invertir(tmp);
printf("%z", hash);
}
stock Invertir(cadena[])
{
new final[256],
e;
for(new i = strlen(cadena) -1 ; i != -1; i--)
{
final[e] = cadena[i];
e++;
}
return final;
}
Respuesta: Encuentra el error del usuario anterior -
[J]ulian - 02.02.2013
pawn Code:
new tmp[128];
new hash[128];
strcat(tmp, "Esto serб invertido!");
printf("%s", format(hash, sizeof(hash), "%s", Invertir(tmp)));
_______________________
pawn Code:
printf("Esto estб %s", (random(2)) ? "bien" : "mal");
Respuesta: Encuentra el error del usuario anterior -
[DOG]irinel1996 - 02.02.2013
Quote:
Originally Posted by [J]ulian
[pawn]new tmp[128];
pawn Code:
printf("Esto estб %s", (random(2)) ? "bien" : "mal");
|
pawn Code:
printf("Esto estб %s", ( random(2) ? ("bien") : ("mal") ));
_______________________
Como a mi me encantan los
TextDraws, aquн os dejo el mio:
pawn Code:
new
Text:ejemplo
;
public OnGameModeInit() {
ejemplo = TextDrawCreate(557.000000, 380.000000, "~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut");
return 1;
}
public OnPlayerConnect() {
TextDrawShowForPlayer(playerid, ejemplo);
return 1;
}
PD: los colores con
~ ~ estбn bien puestos, asн que no se cansen en mirar eso. Y es bastante fбcil.
Respuesta: Encuentra el error del usuario anterior -
adri1 - 02.02.2013
Quote:
Originally Posted by [DOG]irinel1996
pawn Code:
printf("Esto estб %s", ( random(2) ? ("bien") : ("mal") ));
_______________________
Como a mi me encantan los TextDraws, aquн os dejo el mio:
pawn Code:
new Text:ejemplo ;
public OnGameModeInit() { ejemplo = TextDrawCreate(557.000000, 380.000000, "~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut"); return 1; }
public OnPlayerConnect() { TextDrawShowForPlayer(playerid, ejemplo); return 1; }
PD: los colores con ~ ~ estбn bien puestos, asн que no se cansen en mirar eso. Y es bastante fбcil.
|
Callback mal:
public OnPlayerConnect() {
Es:
public OnPlayerConnect(playerid) {
Reto:
pawn Code:
if(!strcmp(cmdtext, "/test", true, 2))
{
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(!IsPlayerConnected))
{
SendClientMessage(playerid, -1, "Jugador Conectado");
}
}
return 1;
}
PD: Hay dos errores.
Respuesta: Encuentra el error del usuario anterior -
[DOG]irinel1996 - 02.02.2013
pawn Code:
if(!strcmp(cmdtext, "/test", true)) {
for(new i, t = GetMaxPlayers(); i < t; i++) {
if(!IsPlayerConnected(i)) continue;
SendClientMessage(playerid, -1, "Jugador Conectado"); //El mensaje supongo que es para el que usa el comando.
}
return 1;
}
En la linea del
strcmp habнas puesto 2 como caracteres totales del comando, pero son 5.
En todo caso eso es opcional, lo puse sin. Luego la condiciуn de
IsPlayerConnected.
________________________
Aquн sigo con el anterior, arreglando lo que tu dijiste, hay otro fallo:
pawn Code:
new
Text:ejemplo
;
public OnGameModeInit() {
ejemplo = TextDrawCreate(557.000000, 380.000000, "~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut ~b~hola ~r~hello ~w~hi ~g~salut");
return 1;
}
public OnPlayerConnect(playerid) {
TextDrawShowForPlayer(playerid, ejemplo);
return 1;
}
Respuesta: Encuentra el error del usuario anterior -
adri1 - 02.02.2013
If you use color codes (such as ~R~ ~G~) beyond 255th character the client will crash trying to display the textdraw.
Caracteres: 287 .
Creo que el error es que darнa crash
EDIT: Reto:
pawn Code:
//CMD:traer(playerid, params)...
new pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
SetPlayerPos(params[0], pos[1], pos[0], pos[2]);
PD: 2 errores, y no es params[0]