SA-MP Forums Archive
Ayuda please :D - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Ayuda please :D (/showthread.php?tid=122446)



Ayuda please :D - dani23843 - 22.01.2010

Hola menes bueno queria saver como crear un comando para dar dinero a las personas ejemplo:

/dardinero (playerid) (cantidad)

Pero que sea de adm ps que sirva para editarle dinero a una persona ....

Y uno que sea para subir score ejemplo:

/subirscore (playerid) (score)

Algo asi pero que sea solo de adm si alguien me puede ayudar lo agradesco a y si tienes un Filterscripts que sea = a lo que pide les agradeseria que lo pasaran o pusieran limk de descarga bueno menes es todo gracias ....

Saludos..


Re: Ayuda please :D - Miguel - 22.01.2010

https://sampwiki.blast.hk/wiki/Tutorial_of_strtok


Re: Ayuda please :D - dani23843 - 22.01.2010

Mhh no es muy sinple pero = le intentare hacer los comandos yo gracias .....
Ahh y si alguien lee esto y tiene algun FS que sea algo = a lo que pido porfavor pongalo XD ....
Chau y gracias otravez men ....

Saludoss ...


Re: Ayuda please :D - TheChaoz - 22.01.2010

Modificar el dinero de un jugador (Sacado del lvdm) con unas modificaciones
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
  new string[256], sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], tmp[256], cmd[256], giveplayerid, moneys, idx, player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], playerscore, score;

  cmd = strtok(cmdtext, idx);

//para darle dinero a un jugador
  if(strcmp(cmd, "/dardinero", true) == 0) {
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Debes ser admin para usar este comando");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
      SendClientMessage(playerid, 0xFFFFFFAA, "USAGE: /dardinero [playerid] [amount]");
      return 1;
    }
    giveplayerid = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
      SendClientMessage(playerid, 0xFFFFFFAA, "USAGE: /dardinero [playerid] [amount]");
      return 1;
    }
    moneys = strval(tmp);
    if (IsPlayerConnected(giveplayerid)) {
      GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
      GetPlayerName(playerid, sendername, sizeof(sendername));
      GivePlayerMoney(giveplayerid, moneys);
      format(string, sizeof(string), "Has enviado %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
      SendClientMessage(playerid, 0xFFFF00AA, string);
      format(string, sizeof(string), "Has recivido $%d de %s(player: %d).", moneys, sendername, playerid);
      SendClientMessage(giveplayerid, 0xFFFF00AA, string);
    }
    else {
      format(string, sizeof(string), "%d No es un jugador activo.", giveplayerid);
      SendClientMessage(playerid, 0xFFFF00AA, string);
    }
    return 1;
  }
//para subir el score: (basado en el comando anterior)

  if(strcmp(cmd, "/subirscore", true) == 0) {
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Debes ser admin para usar este comando");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
      SendClientMessage(playerid, 0xFFFFFFAA, "USAGE: /subirscore [playerid] [amount]");
      return 1;
    }
    player1 = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
      SendClientMessage(playerid, 0xFFFFFFAA, "USAGE: /subirscore [playerid] [amount]");
      return 1;
    }
    score = strval(tmp);
    if (IsPlayerConnected(player1)) {
      GetPlayerName(player1, playername, sizeof(playername));
      GetPlayerName(playerid, adminname, sizeof(adminname));
      playerscore = GetPlayerScore(playerid);
      SetPlayerScore(player1, score);
      format(string, sizeof(string), "Has subido el score de %s a %d", playername, playerscore);
      SendClientMessage(playerid, 0xFFFF00AA, string);
      format(string, sizeof(string), "El administrador %s ha subido tu score a %d).", adminname, playerscore);
      SendClientMessage(player1, 0xFFFF00AA, string);
    }
    else {
      format(string, sizeof(string), "%d No es un jugador activo.", player1);
      SendClientMessage(playerid, 0xFFFF00AA, string);
    }
    return 1;
  }
  return 0;
}
Espero que te sirva


Re: Ayuda please :D - dani23843 - 22.01.2010

Mhh nunca me fije en el GM lvdm que tenia esa parte XD bueno men gracias muchas gracias ....

Saludoss !!


Re: Ayuda please :D - dani23843 - 22.01.2010

Hola men otravez mira won me puedes ayudar con los siguientes errores ?

C:\DOCUME~1\chores\ESCRIT~1\SANAND~1\FILTER~1\ADMI NS~1.PWN(119) : warning 217: loose indentation
C:\DOCUME~1\chores\ESCRIT~1\SANAND~1\FILTER~1\ADMI NS~1.PWN(120) : error 021: symbol already defined: "cmd"
C:\DOCUME~1\chores\ESCRIT~1\SANAND~1\FILTER~1\ADMI NS~1.PWN(126) : warning 217: loose indentation
C:\DOCUME~1\chores\ESCRIT~1\SANAND~1\FILTER~1\ADMI NS~1.PWN(190) : error 030: compound statement not closed at the end of file (started at line 56)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.



Re: Ayuda please :D - GROVE4L - 22.01.2010

borra la linea de cmd = strtok(cmdtext, idx);


Re: Ayuda please :D - TheChaoz - 22.01.2010

ya habias definido que es cmd
hace lo que dijo GROVE4L


Re: Ayuda please :D - dani23843 - 22.01.2010

Ahh ... hola men mira pero = me sale los mismos errores..

C:\DOCUME~1\chores\ESCRIT~1\SANAND~1\FILTER~1\ADMI NS~1.PWN(119) : warning 217: loose indentation
C:\DOCUME~1\chores\ESCRIT~1\SANAND~1\FILTER~1\ADMI NS~1.PWN(120) : error 021: symbol already defined: "cmd"
C:\DOCUME~1\chores\ESCRIT~1\SANAND~1\FILTER~1\ADMI NS~1.PWN(126) : warning 217: loose indentation
C:\DOCUME~1\chores\ESCRIT~1\SANAND~1\FILTER~1\ADMI NS~1.PWN(190) : error 030: compound statement not closed at the end of file (started at line 56)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.

Yose que es que dice loose indetantion quieres decir que falta sangria algo asi es jejeje... noce mucho ingles XD ...
Bueno pero queria saver ahora si dice algo con sangria que tengo que hacer separarlo mas o borrarle los espasios o quee ... ya eso me tiene loco U.u ....
Bueno gracias menes espero me puedan ayudar ...

Saludoss !!


Respuesta: Ayuda please :D - pegazo15 - 13.09.2010

ami me sale este error C:\Users\roberto\samp\Destruccion total\gamemodes\lvdm.pwn(181) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\roberto\samp\Destruccion total\gamemodes\lvdm.pwn(181) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\roberto\samp\Destruccion total\gamemodes\lvdm.pwn(181) : warning 219: local variable "giveplayer" shadows a variable at a preceding level
C:\Users\roberto\samp\Destruccion total\gamemodes\lvdm.pwn(181) : warning 219: local variable "tmp" shadows a variable at a preceding level
C:\Users\roberto\samp\Destruccion total\gamemodes\lvdm.pwn(181) : error 001: expected token: ";", but found "]"
C:\Users\roberto\samp\Destruccion total\gamemodes\lvdm.pwn(181) : error 029: invalid expression, assumed zero
C:\Users\roberto\samp\Destruccion total\gamemodes\lvdm.pwn(181) : error 029: invalid expression, assumed zero
C:\Users\roberto\samp\Destruccion total\gamemodes\lvdm.pwn(181) : fatal error 107: too many error messages on one line

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


4 Errors.
que hago?