return 1;
public OnPlayerCommandText()
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[128];
new playermoney;
new sendername[MAX_PLAYER_NAME];
new giveplayerid, moneys, idx;
new giveplayer[MAX_PLAYER_NAME];
new cmd[256];
new tmp[256];
new Message[256];
new gMessage[256];
new pName[MAX_PLAYER_NAME+1];
new iName[MAX_PLAYER_NAME+1];
cmd = strtok(cmdtext, idx);
if(strcmp("/pm", cmd, true))
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 5) {
SendClientMessage(playerid,COLOR_YELLOW,"Usage: /pm (id) (message)");
return 1;
}
new id = strval(tmp);
gMessage = strrest(cmdtext,idx);
if(!strlen(gMessage)) {
SendClientMessage(playerid,COLOR_YELLOW,"Usage: /pm (id) (message)");
return 1;
}
if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,COLOR_YELLOW,"/pm : Bad player ID");
return 1;
}
if(playerid != id) {
GetPlayerName(id,iName,sizeof(iName));
GetPlayerName(playerid,pName,sizeof(pName));
format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
SendClientMessage(playerid,COLOR_ORANGE,Message);
format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
SendClientMessage(id,COLOR_YELLOW,Message);
printf("PM: %s",Message);
}
else {
SendClientMessage(playerid,COLOR_YELLOW,"You cannot PM yourself");
}
return 1;
}
// The rule commands always handy, change it to your needs if needed.
if(!strcmp("/refuel",cmdtext,true))
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER) return SendClientMessage(playerid,0xFF0000FF,"[ERROR:] {FFFFFF}You are not driving a vehicle.");
if(!IsAValidVehicle(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid,0xFF0000FF,"[ERROR:] {FFFFFF}This type of vehicle does not need to be refilled with fuel");
if(!Tank[playerid]) return SendClientMessage(playerid,0xFF0000FF,"[ERROR:] {FFFFFF}You have no tank to refuel the vehicle");
Tank[playerid]--;
VFuel[GetPlayerVehicleID(playerid)]+=10;
SendClientMessage(playerid,0x00FF00FF,"[VEHICLE:] {FFFFFF}You refilled successfully your vehicle.");
return 1;
}
if (strcmp("/rules", cmdtext, true))
{
SendClientMessage(playerid, COLOR_SLATEGRAY, "Please choose an kind of a /rule [catagory] :");
SendClientMessage(playerid, COLOR_SLATEGRAY, "RP, OOC, vehicle, TIPS.");
return 1;
}
if (strcmp("/rules RP", cmdtext, true))
{
SendClientMessage(playerid, COLOR_IVORY, "RP RULES:");
SendClientMessage(playerid, COLOR_IVORY, "Dont metagame, dont powergame, dont do anything you would not do in REALLFE.");
SendClientMessage(playerid, COLOR_IVORY, "Dont swim in normal clothes only in swimming clothes.");
SendClientMessage(playerid, COLOR_IVORY, "Dont make advertisment like: 'Selling my awsome great power guns!' this wil result into a temp.ban.");
SendClientMessage(playerid, COLOR_IVORY, "Dont OOC talk in IC chat, this wil result into a temp.ban.");
SendClientMessage(playerid, COLOR_IVORY, "Dont use /n like this: 'can anyone who is selling guns /pm me????' this wil result into a ban as it is MG(metagame).");
SendClientMessage(playerid, COLOR_IVORY, "If you do not listen to these rules you will get an ban/adminjail/temp ban.");
return 1;
}
if (strcmp("/rules OOC", cmdtext, true))
{
SendClientMessage(playerid, COLOR_GREENYELLOW, "OOC RULES:");
SendClientMessage(playerid, COLOR_GREENYELLOW, "Dont powergame, dont whine about anything! because you may get reported.");
SendClientMessage(playerid, COLOR_GREENYELLOW, "Only use /o to congratulate a new admin or for purposes an admin wil allow(he will tell it on /o otherwise dont /pm him to ask.");
SendClientMessage(playerid, COLOR_GREENYELLOW, "Dont use /b to ask people if they want to buy something of you, this can be anything from vehicles to drugs, houes, guns, melee weapons.");
SendClientMessage(playerid, COLOR_GREENYELLOW, "Dont IC talk in OOC chat, this may result into a confusion to the other player.");
SendClientMessage(playerid, COLOR_GREENYELLOW, "Dont whine about an ajail, you may pm the admin that ajailed you with prove");
SendClientMessage(playerid, COLOR_GREENYELLOW, "Dont use /n like this: ""Can everyone /report [id] this and this person??"" this wil result into a ban as it is MG(metagame).");
SendClientMessage(playerid, COLOR_GREENYELLOW, "Dont use /n like this: '""Why are the admin such losers?""also thi wil result into a ban, why?,to obvious");
SendClientMessage(playerid, COLOR_GREENYELLOW, "If you do not listen to these rules you will get an ban/adminjail/temp ban.");
return 1;
}
if (strcmp("/rules vehicle", cmdtext, true))
{
SendClientMessage(playerid, COLOR_NAVAJOWHITE, "Vehicle RULES:");
SendClientMessage(playerid, COLOR_NAVAJOWHITE, "Dont offroad without an offroad vehicle, and even when you do, you HAVE to drive slower then 65mph.");
SendClientMessage(playerid, COLOR_NAVAJOWHITE, "Sell your vehicle RPly, how?, /tips selling");
SendClientMessage(playerid, COLOR_NAVAJOWHITE, "Repair your vehicle RPly, how?, /tips how to repair.");
SendClientMessage(playerid, COLOR_NAVAJOWHITE, "Only car surf in the back of an: Sadler, Yosemite, Savana, Walton, Bobcat, Feltzer, , every boat, and only with admin permission: wings of a dodo.");
return 1;
}
if (strcmp("/tips", cmdtext, true))
{
SendClientMessage(playerid, COLOR_YELLOWGREEN, "Farm life RP tip catagory's:");
SendClientMessage(playerid, COLOR_YELLOWGREEN, "Vehicle, Selling, Police situation, Robbing, rulebreakers.");
SendClientMessage(playerid, COLOR_YELLOWGREEN, "Aditional info: [USAGE]/tips [catagory]");
return 1;
}
if (strcmp("/tips vehicle", cmdtext, true))
{
SendClientMessage(playerid, COLOR_BLANCHEDALMOND, "Farm life RP vehicle tips:");
SendClientMessage(playerid, COLOR_BLANCHEDALMOND, "How to park: 2 wheels on the road 2 wheels on the sidewalk, make sure that you dont have to turn when you want to drive away.");
SendClientMessage(playerid, COLOR_BLANCHEDALMOND, "How to make a turn: Do not turn in the midle of the road just take the corners and drive around via the streets(this is more of a rule).");
SendClientMessage(playerid, COLOR_BLANCHEDALMOND, "How to offroad: Only drive 65MPH because if you get reported for driving to fast an admin will spectate and rate how fast you go and maybe tel you to slow down.");
SendClientMessage(playerid, COLOR_BLANCHEDALMOND, "How to carsurf: Use the sit anim(/gro) or the lay anim(/lay(2)), if you go for the Dodo one you need an RP reason because otherwise the admin wil say no.");
return 1;
}
if (strcmp("/tips SELLING", cmdtext, true))
{
SendClientMessage(playerid, COLOR_DARKGOLDENROD, "Farm life RP selling tips:");
SendClientMessage(playerid, COLOR_DARKGOLDENROD, "How not to get scammed: Dont trade like /pay and /give, use /sell instead.");
SendClientMessage(playerid, COLOR_DARKGOLDENROD, "How to get an buyer: Do not do like ''/b who wants to buy a buffalo!'' instead do this: ''/s who would like to buy a buffalo!''.");
SendClientMessage(playerid, COLOR_DARKGOLDENROD, "How to get an seller: Just like the buyer use /s.");
SendClientMessage(playerid, COLOR_DARKGOLDENROD, "How to sell your drugs properly: Go to a potential buyer and do /w [id] ey sir you need some grass or sugar?.");
SendClientMessage(playerid, COLOR_DARKGOLDENROD, "How to sell your guns properly: Go to an potential buyer and say: ''Ey you look like you can use some protection, in need of some?''");
return 1;
}
if (strcmp("/kill", cmdtext, true))
{
SetPlayerHealth(playerid, 0);
return 1;
}
// This is to test the tutorial of the server, when the register system is ready this will be unesecary.
if (strcmp("/tut", cmdtext, true))
{
Timer0 = SetTimerEx("tut0",25000,false, "i", playerid);
return 1;
}
if(strcmp("/eoff", cmdtext, true)) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, COLOR_DARKVIOLET, "Engine turned [OFF]");
}
return 1;
}
if(strcmp("/loff",cmdtext, true)) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, COLOR_GREEN, "Lights turned [OFF]");
}
return 1;
}
if(strcmp("/openhood",cmdtext, true)) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
}
return 1;
}
if(strcmp("/closehood",cmdtext, true)) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
}
return 1;
}
if(strcmp("/opentrunk",cmdtext, true)) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_ON,objective);
}
return 1;
}
if(strcmp("/closetrunk",cmdtext, true)) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_OFF,objective);
}
return 1;
}
// Not recommended to use these as they were to test some functions(just remove these lines).
if(strcmp("/backpack",cmdtext, true)) {
SetPlayerAttachedObject( playerid, 0, 3026, 1, -0.135905, -0.035217, -0.004736, 0.000000, 0.000000, 0.000000, 0.938511, 1.195391, 1.403976 );
return 1;
}
if(strcmp("/toilet",cmdtext, true)) {
SetPlayerAttachedObject( playerid, 0, 3504, 9, -1.680682, -0.035217, 0.085574, 120.201538, 269.855957, 0.000000, 0.938511, 1.059731, 1.403976 ); // vgsN_portaloo - i'm on the toilet
return 1;
}
if(strcmp("/caravan",cmdtext, true)) {
SetPlayerAttachedObject( playerid, 0, 3175, 1, 1.800549, -7.936491, -0.562830, 274.198608, 68.348548, 85.282478, 0.996033, 1.000000, 1.000000 );
return 1;
}
if(strcmp("/celebtows",cmdtext, true)) {
SetPlayerAttachedObject( playerid, 0, 2773, 1, -0.686773, 1.300720, 0.048567, 230.873947, 93.386009, 44.651622, 1.056300, 1.195770, 1.109045 ); // CJ_AIRPRT_BAR - stay behind the red tow
SetPlayerAttachedObject( playerid, 1, 2773, 1, -0.686773, 0.124766, 1.247365, 228.908691, 93.386009, 314.812225, 1.056300, 1.195770, 1.109045 ); // CJ_AIRPRT_BAR - stay behind the red tow
SetPlayerAttachedObject( playerid, 2, 2773, 1, -0.686773, 0.124766, -1.121676, 228.908691, 93.386009, 314.812225, 1.056300, 1.195770, 1.109045 ); // CJ_AIRPRT_BAR - stay behind the red tow
return 1;
}
if(strcmp("/phonesuit",cmdtext, true)) {
SetPlayerAttachedObject( playerid, 3, 1346, 14, -0.017170, -0.091076, 0.163037, 324.529083, 261.702697, 167.653457, 0.551044, 0.890761, 1.000000 ); // CJ_PHONE_KIOSK2 - cant you see that i'm on the phone!
return 1;
}
if(strcmp("/targetface",cmdtext, true)) {
SetPlayerAttachedObject( playerid, 4, 2049, 1, 0.146496, 0.296781, 0.034521, 3.474960, 84.343170, 183.955520, 1.056300, 1.195770, 1.109045 ); // CJ_TARGET1 - target:please dont shoot! }
return 1;
}
if(strcmp("/noodlejob",cmdtext, true)) {
SetPlayerAttachedObject(playerid, 0, 1570, 1, 0.009888, 0.856225, 0.232861, 43.402328, 84.025131, 129.846206, 1.056300, 1.195770, 1.109045);
SetPlayerAttachedObject(playerid, 1, 2839, 1, -0.404478, 1.077121, 0.000000, 263.004364, 65.316986, 349.609008, 1.000000, 1.000000, 1.000000 ); // GB_takeaway04 - noodle food(correct one
SetPlayerAttachedObject(playerid, 2, 2858, 1, -0.404478, 1.042391, -1.035512, 263.004364, 65.316986, 349.609008, 1.000000, 1.000000, 1.000000 ); // gb_kitchtakeway03 - noodle food(correct one
return 1;
}
if(strcmp("/readyforwar",cmdtext, true)) {
SetPlayerAttachedObject( playerid, 5, 2064, 1, -0.547271, 0.562147, -0.633240, 356.020660, 84.343170, 183.955520, 1.056300, 1.195770, 1.109045 ); // CJ_FEILDGUN - dont screw with meh!
return 1;
}
if(strcmp("/tredmill",cmdtext, true)) {
SetPlayerAttachedObject( playerid, 5, 2627, 1, -1.241810, -0.072407, -0.061079, 178.782867, 93.116790, 183.955520, 1.056300, 1.195770, 1.109045 ); // gym_treadmill - gotta train
return 1;
}
if(strcmp("/bigfatfart",cmdtext, true)) {
SetPlayerAttachedObject( playerid, 0, 2415, 1, -4.309469, 0.408157, -0.266614, 356.020660, 84.343170, 183.955520, 1.056300, 1.195770, 1.109045 ); // CJ_FF_FRYER - oops i farted
return 1;
}
if(strcmp("/removeobjects",cmdtext, true)) {
RemoveHoldingObjects(playerid);
return 1;
}
if(strcmp("/creditcard",cmdtext, true)) {
SetPlayerAttachedObject(playerid, 0, 1581, 6, 0.1, 0, 0, 0, 90, 0, 0.2, 0.2, 0.2);
return 1;
}
if(strcmp("/shopping",cmdtext, true)) {
SetPlayerAttachedObject( playerid, 0, 1349, 14, 0.810831, -0.646524, 0.152762, 323.997863, 261.579223, 220.914367, 0.551044, 0.890761, 1.000000 ); // CJ_SHTROLLY - shopping return 1;
return 1;
}
if(strcmp(cmd, "/pay", true)) {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pay [playerid] [amount]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pay [playerid] [amount]");
return 1;
}
moneys = strval(tmp);
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(ID: %d), $%d.", giveplayer,giveplayerid, moneys);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "You have recieved $%d from %s(ID: %d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
printf("%s(playerid:%d) has transfered %d to %s(ID:%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;
}
The last return on your callback probably needs to be "return 1;" instead of 0;
Not sure if it's gonna solve it, but worth a try |
if(blabla==1){
do this do that... //with return
return 1;
}
else{
do this do that... //forgot return
}
This does not have anything to do with the problem. Everyone can use strtok because it's not a plague at all. It's not the best sollution, but many people cry pretty hard about it when they see someone using it. Also this does not solve the problem due to the fact that it will say nothing when the command does not exist. It MUST return zero in the end, there is no other possibility if you don't want your server to get fucked up.
Now to your problem: I'm pretty sure it has to do something with that: pawn Код:
|