Posts: 124
Threads: 13
Joined: Aug 2006
als je een command typt roept de server OnPlayerCommandText() op, als die functie een "1" returned (return 1 krijg je dat niet, krijg je een "0" (return 0 dan krijg je "UNKNOWN COMMAND".
In OnPlayerCommandText kan je dan het ingevoerde command opvangen, kijken wel het is en dan de nodige dingen uitvoeren.
Code: OnPlayerCommandText(playerid, cmdtext[])
{
if( strcmp( cmdtext, "/command", true ) == 0 )
{
SendClientMessage( playerid, 0xFFFFFFAA, "Command gebruikt");
return 1;
}
return 0;
}
Als de gebruiker /command gebruikt krijgt hij het bericht "Command gebruikt" en returned hij een "1". ALs het command niet bestaat returned hij een "0" waardoor je een "UNKNOWN COMMAND" krijgt.
|
Posts: 2,000
Threads: 124
Joined: Jan 2007
02-15-2007, 08:24 PM
(This post was last modified: 02-15-2007, 08:27 PM by Joeri)
Code: 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, "/help", true) == 0) {
SendPlayerFormattedText(playerid,"Las Venturas Deathmatch: Money Grub Coded By Jax and the SA-MP Team.",0);
SendPlayerFormattedText(playerid,"Type: /objective : to find out what to do in this gamemode.",0);
SendPlayerFormattedText(playerid,"Type: /givecash [playerid] [money-amount] to send money to other players.",0);
SendPlayerFormattedText(playerid,"Type: /tips : to see some tips from the creator of the gamemode.", 0);
return 1;
}
if(strcmp(cmd, "/objective", true) == 0) {
SendPlayerFormattedText(playerid,"This gamemode is faily open, there's no specific win / endgame conditions to meet.",0);
SendPlayerFormattedText(playerid,"In LVDM:Money Grub, when you kill a player, you will receive whatever money they have.",0);
SendPlayerFormattedText(playerid,"Consequently, if you have lots of money, and you die, your killer gets your cash.",0);
SendPlayerFormattedText(playerid,"However, you're not forced to kill players for money, you can always gamble in the", 0);
SendPlayerFormattedText(playerid,"Casino's.", 0);
return 1;
}
if(strcmp(cmd, "/tips", true) == 0) {
SendPlayerFormattedText(playerid,"Spawning with just a desert eagle might sound lame, however the idea of this",0);
SendPlayerFormattedText(playerid,"gamemode is to get some cash, get better guns, then go after whoever has the",0);
SendPlayerFormattedText(playerid,"most cash. Once you've got the most cash, the idea is to stay alive(with the",0);
SendPlayerFormattedText(playerid,"cash intact)until the game ends, simple right ?", 0);
return 1;
}
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;
}
// PROCESS OTHER COMMANDS
return 0;
}
return 0; staat er al.... (comand gedeelte van lvdm.pwn)
nog een vraag... als ik monster.amx (orginele) laad in het server window (changemode monster) dan loopt samp-server ook vast, werkt dit gewoon niet of moet ik em opnieuw compile??
|
Posts: 124
Threads: 13
Joined: Aug 2006
Normaal zouden ze gewoon moeten werken.
Heb je wel een map scriptfiles aangemaakt?
|
Posts: 2,000
Threads: 124
Joined: Jan 2007
yep...
draco van et sa-mp.com forum snapt et ook niet denk ik...
topic op sa-mp.com...
|
Posts: 427
Threads: 31
Joined: Aug 2006
Heb je de map scripfiles wil in de goede directory staan? Volgens mij moet hij in de hoofddirectory van SA. (\Rockstar\GTA San Andreas\scriptfiles\)
|
Posts: 2,000
Threads: 124
Joined: Jan 2007
Het was eigelijk heel simpel......
k heb de RC2 van de sa-mp server gedownload (de nieuwe versie), en die DOET ALLES!!!
nu kan ik eindelijk aan het scripten gaan
|
|