їMe echarнas una mano?
#1

ЎHola Amigos!
Solo vengo a comentar unas cosas que deseo que tenga mi servidor... Solo pregunto, si pueden responden sino no... Gracias a todos de antemano

1) Tengo comandos de tipo /area51 y me dirige hacia el area51 sin ningъn problema y CON EL AUTO... Ahora he puesto un menъ de teletransportaciones y solo me teletransporta a mн... їCуmo hago para que tambiйn teletransporte a mi auto?

2) Este es parecido al nъmero 1... Tengo el comando de guardar posiciуn... ЎPero al cargar la posiciуn me dirige solo a mi! їCуmo hacer para teletransportar tambiйn a mi auto?

3) їCуmo puedo hacer para poner un comando tipo /givemonet [ID] y dar el dinero que yo desee a la ID que halla elegido?

4) Yo pongo el comando de /vida que me da toda la vida y la armadura a cambio de 75$, hasta ahн es sencillo, pero si tengo por ejemplo 10$ me dice que no tengo dinero suficiente..., pero..., me sige recargando la vida y la armadura aunque no tenga el suficiente dinero...

Creo que ya me pase... Perdуn Respondan si pueden... Necesito esO!
Att: aRvarO Graxx
Reply
#2

lo de la vida postea el codigo,Asi vemos que pusistes y te lo podes arreglar.

lo del menu de teleports fede hiso un tuto de teleports menu,que ahi dice como poner para que te teletransporte con auto y esa misma funcion la usas para la 3 cosa que pedistes.
Reply
#3

Quote:
Originally Posted by xenowort
lo de la vida postea el codigo,Asi vemos que pusistes y te lo podes arreglar.

lo del menu de teleports fede hiso un tuto de teleports menu,que ahi dice como poner para que te teletransporte con auto y esa misma funcion la usas para la 3 cosa que pedistes.
Aquн tienes el cуdigo...
Код:
	  if (strcmp("/vida",cmdtext,true)==0)
  {
  SetPlayerHealth(playerid, 100);
  SetPlayerArmour(playerid,100.0);
  if(GetPlayerMoney(playerid) < 85) // cambia monto por la cantidad que le quieras quitar
{
  SendClientMessage(playerid, rojo, "ЎNo tienes suficiente dinero para pagar eso!"); // esto es solo un mensaje como ejemplo, puede sustituirlo por cualquier codigo
}
  return 1;
}
Los otros puntos los estoy mirando gracias
Reply
#4


Код:
	  if (strcmp("/vida",cmdtext,true)==0)
  {
  if(GetPlayerMoney(playerid) < 85) // cambia monto por la cantidad que le quieras quitar
{
 SetPlayerHealth(playerid, 100);
  SetPlayerArmour(playerid,100.0);

}
 else { SendClientMessage(playerid, rojo, "ЎNo tienes suficiente dinero para pagar eso!"); // esto es solo un mensaje como ejemplo, puede sustituirlo por cualquier codigo
}
  return 1;
}
ahi tendria que funcionar.
Reply
#5

Quote:
Originally Posted by xenowort
Код:
	 if (strcmp("/vida",cmdtext,true)==0)
 {
  if(GetPlayerMoney(playerid) < 85) // cambia monto por la cantidad que le quieras quitar
{
 SetPlayerHealth(playerid, 100);
 SetPlayerArmour(playerid,100.0);

}
 else { SendClientMessage(playerid, rojo, "ЎNo tienes suficiente dinero para pagar eso!"); // esto es solo un mensaje como ejemplo, puede sustituirlo por cualquier codigo
}
 return 1;
}
ahi tendria que funcionar.
Ahora lo pruebo... Olle... Tengo problemas con el tutorial de fedee... Me dice el pawno cosas sobre el withcar... o algo asн... Supongo que hay que definirlo o algo pero nose si es que no aparece o es que yo estoy hoy un poco dormido jajaja
Reply
#6

Ahora ni siquiera con dinero recarga la vida
Reply
#7

1є te dejo un ejemplo de teleport, solo copia el codigo y pegalo donde corresponde (sin el comando)
pawn Код:
if(strcmp("/teleport", cmdtext, true) == 0){
  if(IsPlayerInAnyVehicle(playerid)){
    SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
    SetVehicleZAngle(GetPlayerVehicleID(playerid), A);
    LinkVehicleToInterior(GetPlayerVehicleID(playerid), Interior);
    SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), VirtualWorld);
  }
  else{
    SetPlayerPos(playerid, X, Y, Z);
    SetPlayerFacingAngle(playerid, A);
    SetPlayerInterior(playerid, Interior);
    SetCameraBehindPlayer(playerid);
    SetPlayerVirtualWorld(playerid, VirtualWorld);
  }
}
2є lo mismo que en 1є

3є codigo de lvdm
pawn Код:
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA

public OnPlayerCommandText(playerid, cmdtext[])
{
  new string[256];
  new playermoney;
  new sendername[MAX_PLAYER_NAME];
  new giveplayer[MAX_PLAYER_NAME];
  new cmd[256];
  new giveplayerid, moneys, idx;

  cmd = strtok(cmdtext, idx);

  if(strcmp(cmd, "/givecash", true) == 0) {
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
      SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
      return 1;
    }
    giveplayerid = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
      SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
      return 1;
    }
    moneys = strval(tmp);  
    //printf("givecash_command: %d %d",giveplayerid,moneys);
    if (IsPlayerConnected(giveplayerid)) {
      GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
      GetPlayerName(playerid, sendername, sizeof(sendername));
      playermoney = GetPlayerMoney(playerid);
      if (moneys > 0 && playermoney >= moneys) {
        GivePlayerMoney(playerid, (0 - moneys));
        GivePlayerMoney(giveplayerid, moneys);
        format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
        SendClientMessage(playerid, COLOR_YELLOW, string);
        format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid);
        SendClientMessage(giveplayerid, COLOR_YELLOW, string);
        printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
      }
      else {
        SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount.");
      }
    }
    else {
      format(string, sizeof(string), "%d is not an active player.", giveplayerid);
      SendClientMessage(playerid, COLOR_YELLOW, string);
    }
    return 1;
  }
  return 0;
}

pawn Код:
if(strcmp("/vida", cmdtext, true) == 0){
  new pMoney = GetPlayerMoney(playerid);
  if(pMoney < 75)return SendClientMessage(playerid, 0xAA3333AA, "Debes tener 75 pesos para poder utilizar este comando");
  SetPlayerHealth(playerid, 100.0);
  SetPlayerArmor(playerid, 100.0);
  GivePlayerMoney(playerid, -75);
  return SendClientMessage(playerid, 0xFFFF00AA, "Has sido curado!");
}
Reply
#8

Quote:
Originally Posted by the_chaoz
1є te dejo un ejemplo de teleport, solo copia el codigo y pegalo donde corresponde (sin el comando)
pawn Код:
if(strcmp("/teleport", cmdtext, true) == 0){
  if(IsPlayerInAnyVehicle(playerid)){
    SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
    SetVehicleZAngle(GetPlayerVehicleID(playerid), A);
    LinkVehicleToInterior(GetPlayerVehicleID(playerid), Interior);
    SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), VirtualWorld);
  }
  else{
    SetPlayerPos(playerid, X, Y, Z);
    SetPlayerFacingAngle(playerid, A);
    SetPlayerInterior(playerid, Interior);
    SetCameraBehindPlayer(playerid);
    SetPlayerVirtualWorld(playerid, VirtualWorld);
  }
}
2є lo mismo que en 1є

3є codigo de lvdm
pawn Код:
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA

public OnPlayerCommandText(playerid, cmdtext[])
{
  new string[256];
  new playermoney;
  new sendername[MAX_PLAYER_NAME];
  new giveplayer[MAX_PLAYER_NAME];
  new cmd[256];
  new giveplayerid, moneys, idx;

  cmd = strtok(cmdtext, idx);

  if(strcmp(cmd, "/givecash", true) == 0) {
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
      SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
      return 1;
    }
    giveplayerid = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
      SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
      return 1;
    }
    moneys = strval(tmp);  
    //printf("givecash_command: %d %d",giveplayerid,moneys);
    if (IsPlayerConnected(giveplayerid)) {
      GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
      GetPlayerName(playerid, sendername, sizeof(sendername));
      playermoney = GetPlayerMoney(playerid);
      if (moneys > 0 && playermoney >= moneys) {
        GivePlayerMoney(playerid, (0 - moneys));
        GivePlayerMoney(giveplayerid, moneys);
        format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
        SendClientMessage(playerid, COLOR_YELLOW, string);
        format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid);
        SendClientMessage(giveplayerid, COLOR_YELLOW, string);
        printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
      }
      else {
        SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount.");
      }
    }
    else {
      format(string, sizeof(string), "%d is not an active player.", giveplayerid);
      SendClientMessage(playerid, COLOR_YELLOW, string);
    }
    return 1;
  }
  return 0;
}

pawn Код:
if(strcmp("/vida", cmdtext, true) == 0){
  new pMoney = GetPlayerMoney(playerid);
  if(pMoney < 75)return SendClientMessage(playerid, 0xAA3333AA, "Debes tener 75 pesos para poder utilizar este comando");
  SetPlayerHealth(playerid, 100.0);
  SetPlayerArmor(playerid, 100.0);
  GivePlayerMoney(playerid, -75);
  return SendClientMessage(playerid, 0xFFFF00AA, "Has sido curado!");
}
Estoy probandolo lo del numero 4) pero no entendiste el resto de preguntas... El 1) y 2) es cуmo hacer esa funciуn en un menъ... No en un comando suelto... Y el 3) Es para hacer transaciones a una ID. Yo lo que quiero es dar pero sin perder mi dinero...
Reply
#9

al 3 te queda asi entonces
pawn Код:
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA

public OnPlayerCommandText(playerid, cmdtext[])
{
  new string[256];
  new playermoney;
  new sendername[MAX_PLAYER_NAME];
  new giveplayer[MAX_PLAYER_NAME];
  new cmd[256];
  new giveplayerid, moneys, idx;

  cmd = strtok(cmdtext, idx);

  if(strcmp(cmd, "/givecash", true) == 0) {
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
      SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
      return 1;
    }
    giveplayerid = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
      SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
      return 1;
    }
    moneys = strval(tmp);
    //printf("givecash_command: %d %d",giveplayerid,moneys);
    if (IsPlayerConnected(giveplayerid)) {
      GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
      GetPlayerName(playerid, sendername, sizeof(sendername));
      playermoney = GetPlayerMoney(playerid);
      if (moneys > 0 && playermoney >= moneys) {
        GivePlayerMoney(giveplayerid, moneys);
        format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
        SendClientMessage(playerid, COLOR_YELLOW, string);
        format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid);
        SendClientMessage(giveplayerid, COLOR_YELLOW, string);
        printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
      }
      else {
        SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount.");
      }
    }
    else {
      format(string, sizeof(string), "%d is not an active player.", giveplayerid);
      SendClientMessage(playerid, COLOR_YELLOW, string);
    }
    return 1;
  }
  return 0;
}
y en cuanto al 1 vos dijistes que habias hecho el menu, solo tenes que reemplazar el codigo que te di en la opcion del menu, y este codigo te sirve para el 2є problema que planteaste
Reply
#10

Tu codigo solo me deja darme el dinero que yo tenga... Es decir... Tengo 50$ Y no puedo darme 100$ pero si puedo darme 30$...


Entonces...? Que deberнa poner...?
Код:
public OnPlayerSelectedMenuRow(playerid, row)
{
	new Menu:current;
  current = GetPlayerMenu(playerid);
    if(current == Teles)
  {
    switch(row)
    {
      case 0: // LV
			{
			  SetPlayerPos(playerid,2025.8523,1545.7911,10.8203);
        HideMenuForPlayer(Teles, playerid);
        TogglePlayerControllable(playerid, 1);
      }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)