08.08.2009, 02:44
Код:
if(strcmp(cmd, "/enter", true) == 0) { if (PlayerToPoint(3.0, playerid,1879.3861,2290.5596,10.9799))// Bank { SetPlayerInterior(playerid, 0); SetPlayerPos(playerid,2306.5386,-15.8507,26.7496); CreatePickup(1239,2,2306.5386,-15.8507,26.7496); } return 1; } if(strcmp(cmdtext, "/exit", true) == 0) { if (PlayerToPoint(3.0, playerid,2306.5386,-15.8507,26.7496))// Bank { SetPlayerInterior(playerid, 0); SetPlayerPos(playerid,1879.3861,2290.5596,10.9799); } return 1; } if (strcmp("/buycarlic", cmdtext, true, 10) == 0) { if(PlayerToPoint(10.0,playerid,-2032.9031,-117.5871,1035.1719)) { if(5000 > GetPlayerMoney(playerid)) { SendClientMessage(playerid,0x000087F6,"You Dont have the Money!"); return 1; } gLicenseC[playerid] = 1; SendClientMessage(playerid,0x0000D4F6,"Thanks for Buying Car License."); } else { SendClientMessage(playerid,0x000087F6,"You can't use it at this Place!"); } return 1; } if (strcmp("/buyflylic", cmdtext, true, 10) == 0) { if(PlayerToPoint(10.0,playerid,-2032.9031,-117.5871,1035.1719)) { if(5000 > GetPlayerMoney(playerid)) { SendClientMessage(playerid,0x000087F6,"You Dont have the Money!"); return 1; } gLicenseF[playerid] = 1; SendClientMessage(playerid,0x0000D4F6,"Thanks for Buying Fly License."); } else { SendClientMessage(playerid,0x000087F6,"You can't use it at this Place!"); } return 1; } if (strcmp("/buyboatlic", cmdtext, true, 10) == 0) { if(PlayerToPoint(10.0,playerid,-2032.9031,-117.5871,1035.1719)) { if(5000 > GetPlayerMoney(playerid)) { SendClientMessage(playerid,0x000087F6,"You Dont have the Money!"); return 1; } gLicenseB[playerid] = 1; SendClientMessage(playerid,0x0000D4F6,"Thanks for Buying Boat License."); } else { SendClientMessage(playerid,0x000087F6,"You can't use it at this Place!"); } return 1; } if (strcmp("/buybikelic", cmdtext, true, 10) == 0) { if(PlayerToPoint(10.0,playerid,-2032.9031,-117.5871,1035.1719)) { if(5000 > GetPlayerMoney(playerid)) { SendClientMessage(playerid,0x000087F6,"You Dont have the Money!"); return 1; } gLicenseZ[playerid] = 1; SendClientMessage(playerid,0x0000D4F6,"Thanks for Buying Bike License."); } else { SendClientMessage(playerid,0x000087F6,"You can't use it at this Place!"); } return 1; } if (strcmp("/licenses", cmdtext, true, 10) == 0) { if(gLicenseC[playerid] == 1) { SendClientMessage(playerid,0x559A72AD,"Car License [YES]"); } else { SendClientMessage(playerid,0x559A72AD,"Car License [NO]"); } if(gLicenseF[playerid] == 1) { SendClientMessage(playerid,0x559A72AD,"Fly License [YES]"); } else { SendClientMessage(playerid,0x559A72AD,"Fly License [NO]"); } if(gLicenseB[playerid] == 1) { SendClientMessage(playerid,0x559A72AD,"Boat License [YES]"); } else { SendClientMessage(playerid,0x559A72AD,"Boat License [NO]"); } if(gLicenseZ[playerid] == 1) { SendClientMessage(playerid,0x559A72AD,"Bike License [YES]"); } else { SendClientMessage(playerid,0x559A72AD,"Bike License [NO]"); } return 1; } return 0; } public Encrypt(string[]) { for(new x=0; x < strlen(string); x++) { string[x] += (3^x) * (x % 15); if(string[x] > (0xff)) { string[x] -= 64; } } return 1; } public OnPlayerLogin(playerid,const string[]) { new pname2[MAX_PLAYER_NAME]; new pname3[MAX_PLAYER_NAME]; new string2[64]; new string3[128]; GetPlayerName(playerid, pname2, sizeof(pname2)); format(string2, sizeof(string2), "%s.cer", pname2); new File: UserFile = fopen(string2, io_read); if (UserFile) { new valtmp[128]; fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255); if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0)) { new key[128],val[128]; new Data[128]; while(fread(UserFile,Data,sizeof(Data))) { key = ini_GetKey(Data); if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); } if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); } if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); } if( strcmp( key , "Bank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pBank] = strval( val ); } GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]); } fclose(UserFile); gPlayerLogged[playerid] = 1; gPlayerAccount[playerid] = 1; new kills = PlayerInfo[playerid][pKills]; SetPlayerScore(playerid, kills); GetPlayerName(playerid, pname3, sizeof(pname3)); format(string3, sizeof(string3), "Welcome %s, you have been succesfully logged in!", pname3); SendClientMessage(playerid, COLOR_WHITE,string3); } else { SendClientMessage(playerid, COLOR_GREY, " Password does not match your name"); fclose(UserFile); } } return 1; } public OnPlayerUpdate(playerid) { if(IsPlayerConnected(playerid)) { if(gPlayerLogged[playerid]) { new string3[32]; new pname3[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname3, sizeof(pname3)); format(string3, sizeof(string3), "%s.cer", pname3); new File: pFile = fopen(string3, io_write); if (pFile) { new var[32]; format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var); fclose(pFile); new File: hFile = fopen(string3, io_append); PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pBank]);fwrite(hFile, var); fclose(hFile); } } } return 1; } stock ini_GetKey( line[] ) { new keyRes[128]; keyRes[0] = 0; if ( strfind( line , "=" , true ) == -1 ) return keyRes; strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) ); return keyRes; } stock ini_GetValue( line[] ) { new valRes[128]; valRes[0]=0; if ( strfind( line , "=" , true ) == -1 ) return valRes; strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) ); return valRes; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } public ShowStats(playerid,targetid) { if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid)) { new cash = GetPlayerMoney(targetid); new deaths = PlayerInfo[targetid][pDeaths]; new kills = PlayerInfo[targetid][pKills]; new name[MAX_PLAYER_NAME]; GetPlayerName(targetid, name, sizeof(name)); new Float:px,Float:py,Float:pz; GetPlayerPos(targetid, px, py, pz); new coordsstring[256]; new bank = PlayerInfo[targetid][pBank]; SendClientMessage(playerid, COLOR_GREEN,"________________________________________________"); format(coordsstring, sizeof(coordsstring),"*** %s ***",name); SendClientMessage(playerid, COLOR_WHITE,coordsstring); format(coordsstring, sizeof(coordsstring), "Kills:[%d] Deaths:[%d] Cash:[$%d] Bank:[$%d]",kills,deaths,cash,bank); SendClientMessage(playerid, COLOR_GRAD5,coordsstring); SendClientMessage(playerid, COLOR_GREEN,"________________________________________________"); } } public ABroadCast(color,const string[],level) { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { SendClientMessage(i, color, string); printf("%s", string); } } return 1; } public OnPlayerInfoChange(playerid) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { new getthecar; getthecar = GetPlayerVehicleID(playerid); if(newstate == 2) { if(IsHeli(playerid,getthecar)) { if(gLicenseF[playerid] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,0xDB0000F6,"You can't use Helicopter without a License!"); } } // if(IsPlane(playerid,getthecar)) { if(gLicenseF[playerid] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,0xDB0000F6,"You can't use Planes without a License!"); } } // if(IsCar(playerid,getthecar)) { if(gLicenseC[playerid] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,0xDB0000F6,"You can't Drive Cars without a License!"); } } // if(IsBoat(playerid,getthecar)) { if(gLicenseB[playerid] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,0xDB0000F6,"You can't sailing without License!"); } } // if(IsBike(playerid,getthecar)) { if(gLicenseZ[playerid] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,0xDB0000F6,"You can't use Bike without License!"); } } // } return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == pickup) { SendClientMessage(playerid,0xFFFF00AA, "/bank"); SendClientMessage(playerid,0xFFFF00AA, "/transfer"); SendClientMessage(playerid,0xFFFF00AA, "/balance"); SendClientMessage(playerid,0xFFFF00AA, "/withdraw"); } return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } // IsPlane(playerid,vehicleid) // Planes { #define MAX_PLANES 14 new IsPlaneA[MAX_PLANES] = { 592,577,511,512,593,520,553,464,476,519, 460,513,539 }; vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInVehicle(playerid,vehicleid)) { for(new i = 0; i < MAX_PLANES; i++) { if(GetVehicleModel(vehicleid) == IsPlaneA[i]) { return true; } } } return false; } // IsCar(playerid,vehicleid) // Cars { #define MAX_LCARS 145 new IsCarA[MAX_LCARS] = { 445,602,416,485,568,429,433,499,424,536,496, 504,422,609,498,401,575,518,402,541,482,431, 438,457,527,483,524,415,542,589,437,532,480, 596,599,597,598,578,486,507,562,585,427,419, 587,490,528,533,544,407,565,455,530,526,466, 604,492,474,588,434,502,503,494,579,545,411, 546,559,508,571,400,403,517,410,551,500,418, 572,423,414,516,582,467,443,470,404,514,603, 600,413,426,436,547,489,441,594,564,515,479, 534,432,505,442,440,475,543,605,495,567,428, 405,535,458,580,439,561,409,560,550,506,601, 574,566,549,420,459,576,525,531,408,583,451, 558,552,540,491,412,478,421,529,555,456,554, 477 }; vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInVehicle(playerid,vehicleid)) { for(new i = 0; i < MAX_LCARS; i++) { if(GetVehicleModel(vehicleid) == IsCarA[i]) { return true; } } } return false; } // IsHeli(playerid,vehicleid) // Helicopters { #define MAX_HELIS 13 new IsHeliA[MAX_HELIS] = { 548,425,417,487,497,563,501,465,447,469, 488 }; vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInVehicle(playerid,vehicleid)) { for(new i = 0; i < MAX_HELIS; i++) { if(GetVehicleModel(vehicleid) == IsHeliA[i]) { return true; } } } return false; } // IsBoat(playerid,vehicleid) // Boats { #define MAX_BOATS 13 new IsBoatA[MAX_BOATS] = { 472,473,493,595,484,430,453,452,446,454 }; vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInVehicle(playerid,vehicleid)) { for(new i = 0; i < MAX_BOATS; i++) { if(GetVehicleModel(vehicleid) == IsBoatA[i]) { return true; } } } return false; } // IsBike(playerid,vehicleid) // Bikes { #define MAX_BIKEZ 13 new IsBikeA[MAX_BIKEZ] = { 581,523,462,521,463,522,461,448,468,586 }; vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInVehicle(playerid,vehicleid)) { for(new i = 0; i < MAX_BIKEZ; i++) { if(GetVehicleModel(vehicleid) == IsBikeA[i]) { return true; } } } return false; } // PLAYER TO POINT public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) { new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } return 0; } // public CustomPickups() { for(new i = 0; i < MAX_PLAYERS; i++) { if (PlayerToPoint(3, i,2026.4064,1017.9352,10.8203)) // Bank { GameTextForPlayer(i, "~y~Welcome to The ~y~City Bank~n~~w~Type /enter to go in", 5000, 5); } } return 1; }
and the 2 errors are
C:\Program Files\Rockstar Games\GTA San Andreas\samp sever\filterscripts\license.pwn(674) : error 021: symbol already defined: "strtok"
C:\Program Files\Rockstar Games\GTA San Andreas\samp sever\filterscripts\license.pwn(689) : error 047: array sizes do not match, or destination array is too small