[AYUDA] Varias Preguntas solo para PROfecionales -
MrMegaTx - 18.11.2011
hola a todos los que estan leyendo esto tengo varias preguntas espero que me puedan responderlas.
Preguntas:
1є:dond puedo sacar o saber las id para poner un sonido luego de una funcion? y cual es la linea de playsound
2є:tengo un problema con un GM:
pawn Код:
/*********************************************************************************
* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + *
* 4game-rp Roleplay [ES] *
* [GM 2.0] Creado by Feder1 *
* [GM 1.0] Creado by Feder1 wesk3r y network *
* [GM original GF creditos: Fear & astro.....] *
* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + *
********************************************************************************/
al cual cuando compila no me sale error sino me sale otra cosa
pawn Код:
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 9428 bytes
Code size: 1595636 bytes
Data size: 11150152 bytes
Stack/heap size: 16384 bytes; estimated max. usage=5459 cells (21836 bytes)
Total requirements:12771600 bytes
lo que yo entendi del compile es que es muy pesado el GM osea mi pregunta es їhay un codigo o algo para que esto no pase?
3є:yo tengo el [FS]Ladmin4v2 y [FS]Banco y los comando del banco son es estos: /retirar /depositar /saldo
/depositar:
pawn Код:
CMD:depositar(playerid, params[])
{
new dinero, string[128];
if(sscanf(params, "d", dinero)) return SendClientMessage(playerid, COLOR_WHITE, "USO: /depositar <cantidad>");
if(!sscanf(params, "d", dinero))
{
if(GetPlayerMoney(playerid) < dinero) return SendClientMessage(playerid, COLOR_LIGHTGREEN, "No tienes ese dinero!");
if(GetPlayerMoney(playerid) >= dinero)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(archivo, sizeof(archivo), "Banco/%s.txt", pname);
if(dini_Exists(archivo))
{
dini_IntSet(archivo, "Saldo", dini_Int(archivo, "Saldo") +dinero);
}
else if(!dini_Exists(archivo))
{
dini_Create(archivo);
dini_IntSet(archivo, "Saldo", dinero);
}
format(string, sizeof(string), "|- Banco -| Depositaste %d, tu saldo actual es %d", dinero, dini_Int(archivo, "Saldo"));
SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
GivePlayerMoney(playerid, -dinero);
}
}
return 1;
}
cual es mi pregunta?їcomo hago para que el jugador que quiera usar estos comando del banco tengan que estar registrado. yo puse estaslineas
pawn Код:
if(PlayerInfo[playerid][LoggedIn] == 1)
y me compila bien ha pero yo agrege este FS del banco al FS del Ladmin4v2 para que la linea de arriva me ande y como les dije me compila bien osea queda asi
pawn Код:
CMD:depositar(playerid, params[])
{
new dinero, string[128];
if(PlayerInfo[playerid][LoggedIn] == 1)
if(sscanf(params, "d", dinero)) return SendClientMessage(playerid, COLOR_WHITE, "USO: /depositar <cantidad>");
if(!sscanf(params, "d", dinero))
{
if(GetPlayerMoney(playerid) < dinero) return SendClientMessage(playerid, COLOR_LIGHTGREEN, "No tienes ese dinero!");
if(GetPlayerMoney(playerid) >= dinero)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(archivo, sizeof(archivo), "Banco/%s.txt", pname);
if(dini_Exists(archivo))
{
dini_IntSet(archivo, "Saldo", dini_Int(archivo, "Saldo") +dinero);
}
else if(!dini_Exists(archivo))
{
dini_Create(archivo);
dini_IntSet(archivo, "Saldo", dinero);
}
format(string, sizeof(string), "|- Banco -| Depositaste %d, tu saldo actual es %d", dinero, dini_Int(archivo, "Saldo"));
SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
GivePlayerMoney(playerid, -dinero);
}
}
return 1;
}
pero cuando entro al juego no me andan ningun comando del [FS]Ladmin4v2 si lo pueden solucionar ayudenme
4є:como hago para que los jugadores que cuando cumpla un requisito (score=asesinatos) pueda tener asexo a un comando por ejemplo que cuando un jugador tega 2000 de score pueda usar un comando.
5є:como hago para que cuando muera un player aparesca un mensaje en la pantalla "Eliminado"
esta es la linea pero falta un monton de codigos y esas cosas
Bueno esas son todas mis DUDAS

porfavor si saven contesten grasias y CHAU
Respuesta: [AYUDA] Varias Preguntas solo para PROfecionales -
davidxxx - 18.11.2011
mira en la 5 lo unico que debes hacer es el GameTextForPlayer(playerid, "Eliminado", 1000,1);
esto va en el callback OnPlayerDeath mira si quieres te puedes ayudar para hacer con colores con mi GameTextCreator que te permita hacer tus textos con mayor facilidad y con colores y explica en que callbacks puedes colocarlo
Encuentralo aki
Respuesta: [AYUDA] Varias Preguntas solo para PROfecionales -
adri1 - 18.11.2011
1. Si te refieres a las idґs de sonidos presiona
aquн y
aquн para el cуdigo "PlayePlaySound"
2. Eso es porque algъn string, estб como "sobrecargado" o otra cosa, es dificil de solucionar, ya que ese GM es largo.
3. No entiendo bien la pregunta.
4. En "OnPlayerUpdate:"
Код:
new score;
score = GetPlayerScore(playerid);
if (score < 2000.0)
{
PlayerInfo[playerid][scored] = 1;
}
Luego creamos la variable: arriba
Код:
enum Player
{
scored
}
new PlayerInfo[MAX_PLAYERS][Player];
y en "OnPlayerCommandText:"
Код:
if(strcmp("/comando",cmdtext,true,10)==0)
{
if(PlayerInfo[playerid][scored] == 1)
{
//funciones
}
return 1;
}
La verdad, nose si funcionarб hace tiempo que no hago cosas de esas.
5. En "OnPlayerDeath:"
Код:
GameTextForPlayer(playerid, "Eliminado", 3000, 4); //3000 es el tiempo es decir 3 segundos, el 4 la fuente.
Ojalб te haya ayudado
Respuesta: [AYUDA] Varias Preguntas solo para PROfecionales -
Mati_IBV - 18.11.2011
Код:
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
Header size: 9428 bytes
Code size: 1595636 bytes
Data size: 11150152 bytes
Stack/heap size: 16384 bytes; estimated max. usage=5459 cells (21836 bytes)
Total requirements:12771600 bytes
Soluciуn:
pawn Код:
//abajo de a_samp
#pragma dynamic 12771600
Respuesta: [AYUDA] Varias Preguntas solo para PROfecionales -
TiNcH010 - 18.11.2011
pawn Код:
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 9428 bytes
Code size: 1595636 bytes
Data size: 11150152 bytes
Stack/heap size: 16384 bytes; estimated max. usage=5459 cells (21836 bytes)
Total requirements:12771600 bytes
Esto se debe a la gran cantidad de array's que usas, las celdas son demasiado grandes.
Solucion: Achicalas.
Respuesta: [AYUDA] Varias Preguntas solo para PROfecionales -
Mati_IBV - 18.11.2011
Quote:
Originally Posted by TiNcH010
pawn Код:
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 9428 bytes Code size: 1595636 bytes Data size: 11150152 bytes Stack/heap size: 16384 bytes; estimated max. usage=5459 cells (21836 bytes) Total requirements:12771600 bytes
Esto se debe a la gran cantidad de array's que usas, las celdas son demasiado grandes.
Solucion: Achicalas.
|
aveces es necesario usar mas arrays de lo necesario, para eso esta #pragma dynamic
Respuesta: [AYUDA] Varias Preguntas solo para PROfecionales -
[J]ulian - 18.11.2011
Esa no es la soluciуn, eso serнa como un 'parche'. Yo creo que si
por defecto te pone que no tenes que sobre pasar lo mбximo dedicado a eso, es por algo. Osea, como recomendбndote que no lo pases... Una soluciуn podrнa ser declarar un string global y usarlo para todo el GM =/
Re: Respuesta: [AYUDA] Varias Preguntas solo para PROfecionales -
DreamOnIt - 19.11.2011
Quote:
Originally Posted by Mati_IBV
Код:
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
Header size: 9428 bytes
Code size: 1595636 bytes
Data size: 11150152 bytes
Stack/heap size: 16384 bytes; estimated max. usage=5459 cells (21836 bytes)
Total requirements:12771600 bytes
Soluciуn:
pawn Код:
//abajo de a_samp #pragma dynamic 12771600
|
Si crees que esa es la solucion estas muy equivocado, estas asignando mas memoria cuando lo que en realidad deberias hacer es optimizar y reducir el uso de memoria en tu codigo, como dice el dicho en el ambito de la programacion "make it work, make it right make it fast"
edit: mati_ibv te contradecis a vos mismo "es necesario usar mas arrays de lo necesario", en una incoherencia tremenda :/
Respuesta: [AYUDA] Varias Preguntas solo para PROfecionales -
MrMegaTx - 20.11.2011
Quote:
Originally Posted by adri1
1. Si te refieres a las idґs de sonidos presiona aquн y aquн para el cуdigo "PlayePlaySound"
2. Eso es porque algъn string, estб como "sobrecargado" o otra cosa, es dificil de solucionar, ya que ese GM es largo.
3. No entiendo bien la pregunta.
4. En "OnPlayerUpdate:"
Код:
new score;
score = GetPlayerScore(playerid);
if (score < 2000.0)
{
PlayerInfo[playerid][scored] = 1;
}
Luego creamos la variable: arriba
Код:
enum Player
{
scored
}
new PlayerInfo[MAX_PLAYERS][Player];
y en "OnPlayerCommandText:"
Код:
if(strcmp("/comando",cmdtext,true,10)==0)
{
if(PlayerInfo[playerid][scored] == 1)
{
//funciones
}
return 1;
}
La verdad, nose si funcionarб hace tiempo que no hago cosas de esas.
5. En "OnPlayerDeath:"
Код:
GameTextForPlayer(playerid, "Eliminado", 3000, 4); //3000 es el tiempo es decir 3 segundos, el 4 la fuente.
Ojalб te haya ayudado
|
no la cuatro no m funciono
Respuesta: [AYUDA] Varias Preguntas solo para PROfecionales -
TiNcH010 - 21.11.2011
Cada uno tiene su forma de scriptear.
En mi caso, ni loco usarнa #pragma dynamic para achicar las celdas (mensaje al fin de compilar por tener grandes array's). La mejor soluciуn es hacerla a la original, osea, achicando celdas y listo.
Tengo un GM de 70 mil lнneas que conozco que esta muy bien scripteado y no da ningъn warning de celdas.