Jump to content

AleX1321

Membru
  • Posts

    76
  • Joined

  • Last visited

    Never

Everything posted by AleX1321

  1. Salut am o problema la un sistem Drive-By,totul merge bine si frumos pana cand cu armele personale ma sui pe motor/masina cu o arma personala si cand ma dau jos nu imi mai da arma trebuie sa imi dau respawn ca sa isi revina [pawn]#include <a_samp> public OnFilterScriptInit() { print(" Anti-Driveby succesfuly loaded."); return 1; } public OnFilterScriptExit() { return 1; } new PlayerWeapon[MAX_PLAYERS][12]; new PlayerWeaponAmmo[MAX_PLAYERS][12]; public OnPlayerStateChange(playerid, newstate, oldstate) { if (newstate==PLAYER_STATE_DRIVER){ for(new i=0;i<12;i++){ GetPlayerWeaponData(playerid, i, PlayerWeapon[playerid], PlayerWeaponAmmo[playerid]); } ResetPlayerWeapons(playerid); } if (newstate==PLAYER_STATE_ONFOOT && oldstate==PLAYER_STATE_DRIVER){ for(new i=0;i<12;i++){ GivePlayerWeapon(playerid, PlayerWeapon[playerid], PlayerWeaponAmmo[playerid]); GivePlayerWeapon(playerid, PlayerWeapon[playerid], PlayerWeaponAmmo[playerid]); } } return 1; } [/pawn] Si alta problema cu anti-swear merge doar in chat dar cand ii dau /w , /me, /m,etc nu merge ma puteti ajuta va rog acesta este [pawn]#include <a_samp> #define MAX_LEN 32 #define MAX_ENTRY 120 static Swear[MAX_ENTRY][MAX_LEN]; public OnFilterScriptInit() { if(fexist("swear.txt")) { new File:myFile, line[MAX_LEN], index=0; myFile=fopen("swear.txt",filemode:io_read); while(fread(myFile,line,sizeof line) && (index != MAX_ENTRY)) { if(strlen(line)>MAX_LEN) continue; StripNewLine(line); strmid(Swear[index],line,0,strlen(line),sizeof line); index++; } } return 1; } public OnPlayerText(playerid,text[]) { for(new i=0; i<MAX_ENTRY; i++) { if(!Swear[0]) continue; Cenzura(text,Swear); } return 1; } stock StripNewLine(str[]) // ysi-misc.own { new l = strlen(str); while (l-- && str[l] <= ' ') str[l] = '\0'; } stock Cenzura(string[],word[],destch='*') { new start_index=(-1), end_index=(-1); start_index=strfind(string,word,true); if(start_index==(-1)) return false; end_index=(start_index+strlen(word)); for( ; start_index<end_index; start_index++) string[start_index]=destch; return true; }[/pawn] si ultima problema este cu spike strip ma puteti ajuta sa il fac pentru cops? [pawn]#include <a_samp> //#define ALLOWED_PICKUPS 350 // Uncomment this if you know that you will never reach 2048 pickups. #if defined ALLOWED_PICKUPS new iPickups[ALLOWED_PICKUPS][5]; #else new iPickups[MAX_PICKUPS][5]; #endif forward DestroyStinger(stingerid); public OnFilterScriptInit() { print(" >>> Spike Strips loaded."); for(new i = 0; i < sizeof(iPickups); i++){ iPickups[0] = -1; iPickups[1] = -1; iPickups[2] = -1; iPickups[3] = -1; iPickups[4] = -1; } return 1; } public OnFilterScriptExit() { for(new i = 0; i < sizeof(iPickups); i++){ DestroyObject(iPickups[0]); DestroyPickup(iPickups[1]); DestroyPickup(iPickups[2]); DestroyPickup(iPickups[3]); DestroyPickup(iPickups[4]); } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/stinger", cmdtext, true, 8) == 0) { new vehicleid = GetPlayerVehicleID(playerid); if(vehicleid == 0){ new Float:X, Float:Y, Float:Z, Float:A; GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, A); CreateSmallStinger(X+(6.0*floatsin(-A, degrees)), Y+(6.0*floatcos(-A, degrees)), Z-0.825, A, GetPlayerVirtualWorld(playerid), 60000); } else{ new Float:X, Float:Y, Float:Z, Float:A; GetVehiclePos(vehicleid, X, Y, Z); GetVehicleZAngle(vehicleid, A); CreateLargeStinger(X-(10.0*floatsin(-A, degrees)), Y-(10.0*floatcos(-A, degrees)), Z-0.325, A, GetPlayerVirtualWorld(playerid), 60000); } return 1; } if (strcmp("/destroystinger", cmdtext, true, 15) == 0) { new Float:X, Float:Y, Float:Z; for(new stingerid = 0; stingerid < sizeof(iPickups); stingerid++){ if(iPickups[stingerid][0] == -1) continue; GetObjectPos(iPickups[stingerid][0], X, Y, Z); if(IsPlayerInRangeOfPoint(playerid, 3.0, X, Y, Z)){ DestroyStinger(stingerid); break; } } return 1; } return 0; } public OnPlayerPickUpPickup(playerid, pickupid) { for(new stingerid = 0; stingerid < sizeof(iPickups); stingerid++){ if(pickupid == iPickups[stingerid][1]){ new Float:X, Float:Y, Float:Z, Float:A; GetObjectPos(iPickups[stingerid][0], X, Y, Z); GetObjectRot(iPickups[stingerid][0], A, A, A); new Float:dis1 = floatsin(-A, degrees), Float:dis2 = floatcos(-A, degrees); PopPlayerTires(playerid); DestroyPickup(pickupid); if(iPickups[stingerid][3] == -1){ // Small Stinger iPickups[stingerid][1] = CreatePickup(1007, 14, X+(1.5*dis1), Y+(1.5*dis2), Z, GetPlayerVirtualWorld(playerid)); } else{ // Large Stinger iPickups[stingerid][1] = CreatePickup(1007, 14, X+(4.0*dis1), Y+(4.0*dis2), Z, GetPlayerVirtualWorld(playerid)); } break; } else if(pickupid == iPickups[stingerid][2]){ new Float:X, Float:Y, Float:Z, Float:A; GetObjectPos(iPickups[stingerid][0], X, Y, Z); GetObjectRot(iPickups[stingerid][0], A, A, A); new Float:dis1 = floatsin(-A, degrees), Float:dis2 = floatcos(-A, degrees); PopPlayerTires(playerid); DestroyPickup(pickupid); if(iPickups[stingerid][3] == -1){ // Small Stinger iPickups[stingerid][2] = CreatePickup(1007, 14, X-(1.5*dis1), Y-(1.5*dis2), Z, GetPlayerVirtualWorld(playerid)); } else{ // Large Stinger iPickups[stingerid][2] = CreatePickup(1007, 14, X+(1.25*dis1), Y+(1.25*dis2), Z, GetPlayerVirtualWorld(playerid)); } break; } else if(pickupid == iPickups[stingerid][3]){ new Float:X, Float:Y, Float:Z, Float:A; GetObjectPos(iPickups[stingerid][0], X, Y, Z); GetObjectRot(iPickups[stingerid][0], A, A, A); new Float:dis1 = floatsin(-A, degrees), Float:dis2 = floatcos(-A, degrees); PopPlayerTires(playerid); DestroyPickup(pickupid); iPickups[stingerid][3] = CreatePickup(1007, 14, X-(4.0*dis1), Y-(4.0*dis2), Z, GetPlayerVirtualWorld(playerid)); break; } else if(pickupid == iPickups[stingerid][4]){ new Float:X, Float:Y, Float:Z, Float:A; GetObjectPos(iPickups[stingerid][0], X, Y, Z); GetObjectRot(iPickups[stingerid][0], A, A, A); new Float:dis1 = floatsin(-A, degrees), Float:dis2 = floatcos(-A, degrees); PopPlayerTires(playerid); DestroyPickup(pickupid); iPickups[stingerid][4] = CreatePickup(1007, 14, X-(1.25*dis1), Y-(1.25*dis2), Z, GetPlayerVirtualWorld(playerid)); break; } } return 1; } stock PopPlayerTires(playerid){ new vehicleid = GetPlayerVehicleID(playerid); if(vehicleid != 0){ new panels, doors, lights, tires; GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires); UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, 15); } } stock CreateLargeStinger(Float:X, Float:Y, Float:Z, Float:A, virtualworld, timer){ for(new stingerid = 0; stingerid < sizeof(iPickups); stingerid++){ if(iPickups[stingerid][0] == -1){ new Float:dis1 = floatsin(-A, degrees), Float:dis2 = floatcos(-A, degrees); iPickups[stingerid][0] = CreateObject(2892, X, Y, Z, 0.0, 0.0, A); iPickups[stingerid][1] = CreatePickup(1007, 14, X+(4.0*dis1), Y+(4.0*dis2), Z, virtualworld); iPickups[stingerid][2] = CreatePickup(1007, 14, X+(1.25*dis1), Y+(1.25*dis2), Z, virtualworld); iPickups[stingerid][3] = CreatePickup(1007, 14, X-(4.0*dis1), Y-(4.0*dis2), Z, virtualworld); iPickups[stingerid][4] = CreatePickup(1007, 14, X-(1.25*dis1), Y-(1.25*dis2), Z, virtualworld); if(timer > 0){ SetTimerEx("DestroyStinger", timer, 0, "i", stingerid); } return stingerid; } } return -1; } stock CreateSmallStinger(Float:X, Float:Y, Float:Z, Float:A, virtualworld, timer){ for(new stingerid = 0; stingerid < sizeof(iPickups); stingerid++){ if(iPickups[stingerid][0] == -1){ new Float:dis1 = floatsin(-A, degrees), Float:dis2 = floatcos(-A, degrees); iPickups[stingerid][0] = CreateObject(2899, X, Y, Z, 0.0, 0.0, A); iPickups[stingerid][1] = CreatePickup(1007, 14, X+(1.5*dis1), Y+(1.5*dis2), Z, virtualworld); iPickups[stingerid][2] = CreatePickup(1007, 14, X-(1.5*dis1), Y-(1.5*dis2), Z, virtualworld); if(timer > 0){ SetTimerEx("DestroyStinger", timer, 0, "i", stingerid); } return stingerid; } } return -1; } public DestroyStinger(stingerid){ DestroyObject(iPickups[stingerid][0]); DestroyPickup(iPickups[stingerid][1]); DestroyPickup(iPickups[stingerid][2]); DestroyPickup(iPickups[stingerid][3]); DestroyPickup(iPickups[stingerid][4]); iPickups[stingerid][0] = -1; iPickups[stingerid][1] = -1; iPickups[stingerid][2] = -1; iPickups[stingerid][3] = -1; iPickups[stingerid][4] = -1; }[/pawn]
  2. Sorry pentru dublu post,va rog ajutatima
  3. Ma ajuta cineva va rog?
  4. [pawn]#define FILTERSCRIPT #include <a_samp> #if defined FILTERSCRIPT #define NO_BALL 403 #define CALA 0 #define POL 1 #define WHITE 14 #define BLACK 15 #define TABLE 16 #define POLYGONS 6 forward Float:GetVectorAngle(obj, obj2); forward Float:GetVectorAngle_XY(Float:fx, Float:fy, Float:tx, Float:ty); forward Float:GetVectorDistance_PL(playerid, obj); forward Float:GetVectorDistance_OB(obj, obj2); forward Float:GetDistance(Float:fx, Float:fy, Float:tx, Float:ty); forward Float:GetDistancePointToLong(Float:px,Float:py, Float:px1,Float:py1, Float:px2,Float:py2); forward OnEndBilliard(); forward OnBallInHole(ballid); forward OnTimer(); forward BallProperties(); forward OnShowedTD(playerid); enum GameEnum { bool:Waiting, bool:Running, bool:WhiteInHole, bool:BlackInHole, Timer, Timer2, Player1, Player2, LastBall }; new Game[GameEnum]; enum BallEnum { ObjID, Float:x, Float:y, Float:z, Float:a, Float:speed, TouchID }; new Ball[17][ballEnum]; enum EnumVertices { Float:x, Float:y }; new Polygon[POLYGONS][2][EnumVertices]; enum PolygonInfo { bool:Progress, Vertices }; new PolyResult[POLYGONS][PolygonInfo]; enum EnumPlayer { bool:Sighting, bool:AfterSighting, bool:Turn, BBall, Points, SelectLR, SelectUD, Float:a, Text:T1, Text:T2, Text:T3, Text:T4, Text:T5, Text:T6, TDTimer }; new Player[20][EnumPlayer]; new Float:Hole[6][4] = { {2495.6413,-1670.6297, 2495.5415,-1670.7099}, // 1 12 {2496.4323,-1670.6297, 2496.5825,-1670.6398}, // 2 3 {2497.3632,-1670.6297, 2497.4433,-1670.7299}, // 4 5 {2497.4633,-1671.5506, 2497.3732,-1671.6607}, // 6 7 {2496.5725,-1671.6607, 2496.4323,-1671.6607}, // 8 9 {2495.6315,-1671.6607, 2495.5415,-1671.5606} // 10 11 }; new Char[2][] = { {"(0)"}, {"(-)"} }; public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Blank Filterscript by your name here"); print("--------------------------------------\n"); for(new i = 0; i < 20; i++) { Player[T1] = TextDrawCreate(481.000000,353.000000," "); TextDrawUseBox(Player[T1],1); TextDrawTextSize(Player[T1],602.000000,0.000000); TextDrawLetterSize(Player[T1],0.359999,1.100000); TextDrawSetShadow(Player[T1],1); TextDrawColor(Player[T1],227275519); TextDrawBoxColor(Player[T1],227275314); Player[T2] = TextDrawCreate(475.000000,344.000000," "); TextDrawColor(Player[T2],4294967295); TextDrawSetShadow(Player[T2],1); Player[T3] = TextDrawCreate(481.000000,313.000000," "); TextDrawUseBox(Player[T3],1); TextDrawTextSize(Player[T3],635.000000,0.000000); TextDrawLetterSize(Player[T3],0.359999,1.100000); TextDrawSetShadow(Player[T3],1); TextDrawColor(Player[T3],227275519); TextDrawBoxColor(Player[T3],227275314); Player[T4] = TextDrawCreate(475.000000,304.000000," "); TextDrawColor(Player[T4],4294967295); TextDrawSetShadow(Player[T4],1); Player[T5] = TextDrawCreate(481.000000,273.000000," "); TextDrawUseBox(Player[T5],1); TextDrawTextSize(Player[T5],635.000000,0.000000); TextDrawLetterSize(Player[T5],0.359999,1.100000); TextDrawSetShadow(Player[T5],1); TextDrawColor(Player[T5],227275519); TextDrawBoxColor(Player[T5],227275314); Player[T6] = TextDrawCreate(475.000000,264.000000," "); TextDrawColor(Player[T6],4294967295); TextDrawSetShadow(Player[T6],1); } return 1; } public OnFilterScriptExit() { Release(); return 1; } #else main() { print("\n----------------------------------"); print(" Blank Gamemode by your name here"); print("----------------------------------\n"); } #endif public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/pool start", cmdtext, true, 10) == 0) { if(Game[Waiting] == false && Game[Running] == false) { Game[Waiting] = true; Game[Player1] = playerid; Game[LastBall] = -1; Player[playerid][Points] = 7; TextDrawSetString(Player[playerid][T1],"The Enemy..."); TextDrawShowForPlayer(playerid,Player[playerid][T1]); TextDrawSetString(Player[playerid][T2],"Expectation..."); TextDrawShowForPlayer(playerid,Player[playerid][T2]); GivePlayerWeapon(playerid,7,1); new name[24]; new str[100]; name = GetName(playerid); format(str,sizeof(str),"% s is waiting for the opponent. Enter /pool join to compete with the host.",name); for(new i = 0; i < 20; i++) { if(IsPlayerConnected(i) == 1 && playerid != i) { TextDrawSetString(Player[T1],str); TextDrawShowForPlayer(i,Player[T1]); TextDrawSetString(Player[T2],"Biliard"); TextDrawShowForPlayer(i,Player[T2]); } Player[bBall] = NO_BALL; } Ball[0][ObjID] = CreateObject(3100, 2497.0749511719, -1670.9591064453, 13.199293525696, 0, 0, 0); //CALA Ball[1][ObjID] = CreateObject(3101, 2497.0034179688, -1671.01171875, 13.199293525696, 0, 0, 0); //CALA Ball[2][ObjID] = CreateObject(3102, 2497.0034179688, -1671.1900634766, 13.199293525696, 0, 0, 0); //CALA Ball[3][ObjID] = CreateObject(3103, 2496.8696289063, -1671.1865234375, 13.199293525696, 0, 0, 0); //CALA Ball[4][ObjID] = CreateObject(3104, 2496.9370117188, -1671.0673828125, 13.199293525696, 0, 0, 0); //CALA Ball[5][ObjID] = CreateObject(3105, 2497.072265625, -1671.2313232422, 13.199293525696, 0, 0, 0); //CALA Ball[6][ObjID] = CreateObject(3002, 2496.8068847656, -1671.1413574219, 13.199293525696, 0, 0, 0); //CALA Ball[7][ObjID] = CreateObject(2995, 2496.8703613281, -1671.0987548828, 13.199293525696, 0, 0, 0); //POLOWKA Ball[8][ObjID] = CreateObject(2996, 2497.0031738281, -1671.2750244141, 13.199293525696, 0, 0, 0); //POLOWKA Ball[9][ObjID] = CreateObject(2997, 2497.0705566406, -1671.3179931641, 13.199293525696, 0, 0, 0); //POLOWKA Ball[10][ObjID] = CreateObject(2998, 2497.0759277344, -1671.0457763672, 13.199293525696, 0, 0, 0); //POLOWKA Ball[11][ObjID] = CreateObject(2999, 2497.0063476563, -1671.1011962891, 13.199293525696, 0, 0, 0); //POLOWKA Ball[12][ObjID] = CreateObject(3000, 2497.0734863281, -1671.1456298828, 13.199293525696, 0, 0, 0); //POLOWKA Ball[13][ObjID] = CreateObject(3001, 2496.9333496094, -1671.2292480469, 13.199293525696, 0, 0, 0); //POLOWKA Ball[WHITE][ObjID] = CreateObject(3003, 2495.8618164063, -1671.1704101563, 13.209293525696, 0, 0, 0); //Biala Ball[bLACK][ObjID] = CreateObject(3106, 2496.9375, -1671.1451416016, 13.199293525696, 0, 0, 0); //Czarna Ball[table] [ObjID] = CreateObject(2964, 2496.4970703125, -1671.1528320313, 12.265947036743, 0, 0, 0); //Stol CreatePolygon(2495.6413,-1670.6297, 2496.4323,-1670.6297); CreatePolygon(2496.5825,-1670.6398, 2497.3632,-1670.6297); CreatePolygon(2497.4433,-1670.7299, 2497.4633,-1671.5506); CreatePolygon(2497.3732,-1671.6607, 2496.5725,-1671.6607); CreatePolygon(2496.4323,-1671.6607, 2495.6315,-1671.6607); CreatePolygon(2495.5415,-1671.5606, 2495.5415,-1670.7099); } return 1; } if (strcmp("/pool end", cmdtext, true, 10) == 0) { if(Game[Waiting] == true || Game[Running] == true) { KillTimer(Game[Timer]); KillTimer(Game[Timer2]); for(new i = 0; i < 17; i++) { DestroyObject(Ball[ObjID]); } if(Game[Waiting] == true) Game[Waiting] = false; if(Game[Running] == true) Game[Running] = false; Game[WhiteInHole] = false; Game[blackInHole] = false; Player[Game[Player1]][sighting] = false; TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T1]); TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T2]); TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T3]); TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T4]); TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T5]); TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T6]); Player[Game[Player2]][sighting] = false; TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T1]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T2]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T3]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T4]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T5]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T6]); } return 1; } if (strcmp("/pool join", cmdtext, true, 10) == 0) { if(Game[Waiting] == true) { if(Game[Player1] != playerid) { Game[Waiting] = false; Game[Running] = true; Game[Player2] = playerid; TextDrawHideForPlayer(playerid,Player[Game[Player1]][T1]); TextDrawHideForPlayer(playerid,Player[Game[Player1]][T2]); new str[50]; new name[24]; GivePlayerWeapon(playerid,7,1); new rand = random(2); if(rand == 0) { name = GetName(Game[Player1]); Player[Game[Player1]][Turn] = true; Player[Game[Player2]][Turn] = false; } else if(rand == 1) { name = GetName(Game[Player2]); Player[Game[Player1]][Turn] = false; Player[Game[Player2]][Turn] = true; } for(new i = 0; i < 20; i++) { if(IsPlayerConnected(i) == 1 && Game[Player1] != i && Game[Player2] != i) { ShowMessage(i,"Billiard:Failed to subscribe to the game. You can wait for the next round."); } } Player[playerid][Points] = 7; format(str,sizeof(str),"The Game is started %s",name); ShowMessage(Game[Player1],"The Game",str); ShowMessage(Game[Player2],"The Game",str); new string[80]; format(string,sizeof(string),"%s %d~n~%s %d",GetName(Game[Player1]),Player[Game[Player1]][Points],GetName(Game[Player2]),Player[Game[Player2]][Points]); TextDrawSetString(Player[Game[Player1]][T3],string); TextDrawSetString(Player[Game[Player1]][T4],"Billiard"); TextDrawSetString(Player[Game[Player2]][T3],string); TextDrawSetString(Player[Game[Player2]][T4],"Billiard"); TextDrawShowForPlayer(Game[Player1],Player[Game[Player1]][T3]); TextDrawShowForPlayer(Game[Player1],Player[Game[Player1]][T4]); TextDrawShowForPlayer(Game[Player2],Player[Game[Player2]][T3]); TextDrawShowForPlayer(Game[Player2],Player[Game[Player2]][T4]); for(new i = 0; i < 16; i++) { Ball[TouchID] = -1; } } } return 1; } return 0; } public OnEndBilliard() { for(new i = 0; i < 17; i++) { DestroyObject(Ball[ObjID]); } Game[Waiting] = false; Game[Running] = false; Game[WhiteInHole] = false; Game[blackInHole] = false; Player[Game[Player1]][sighting] = false; TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T1]); TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T2]); TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T3]); TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T4]); TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T5]); TextDrawHideForPlayer(Game[Player1],Player[Game[Player1]][T6]); Player[Game[Player2]][sighting] = false; TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T1]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T2]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T3]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T4]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T5]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T6]); } public OnBallInHole(ballid) { if(ballid != WHITE) { DestroyObject(Ball[ballid][ObjID]); Ball[ballid][speed] = 0; } else { Ball[WHITE][speed] = 0.2; SetObjectPos(Ball[WHITE][ObjID],2495.8618164063, -1671.1704101563, 13.209293525696); StopObject(Ball[WHITE][ObjID]); Ball[WHITE][x] = 2495.8618164063; Ball[WHITE][y] = -1671.1704101563; Ball[WHITE][z] = 13.209293525696; } Game[LastBall] = ballid; for(new i = 0; i < 16; i++) { if(ballid == i) { if(ballid <= 6) //CALA { if(Player[Game[Player1]][Turn] == true && Player[Game[Player1]][bBall] == NO_BALL) { Player[Game[Player1]][bBall] = CALA; Player[Game[Player2]][bBall] = POL; } else if(Player[Game[Player2]][Turn] == true && Player[Game[Player2]][bBall] == NO_BALL) { Player[Game[Player1]][bBall] = POL; Player[Game[Player2]][bBall] = CALA; } if(Player[Game[Player1]][bBall] == CALA) Player[Game[Player1]][Points]--; else if(Player[Game[Player2]][bBall] == CALA) Player[Game[Player2]][Points]--; } else if(6 < ballid <= 13) //POLOWKA { if(Player[Game[Player1]][Turn] == true && Player[Game[Player1]][bBall] == NO_BALL) { Player[Game[Player1]][bBall] = POL; Player[Game[Player2]][bBall] = CALA; } else if(Player[Game[Player2]][Turn] == true && Player[Game[Player2]][bBall] == NO_BALL) { Player[Game[Player1]][bBall] = CALA; Player[Game[Player2]][bBall] = POL; } if(Player[Game[Player1]][bBall] == POL) Player[Game[Player1]][Points]--; else if(Player[Game[Player2]][bBall] == POL) Player[Game[Player2]][Points]--; } else if(ballid == WHITE) Game[WhiteInHole] = true; else if(ballid == BLACK) Game[blackInHole] = true; break; } } if(ballid != WHITE && ballid != BLACK) { new str[80]; format(str,sizeof(str),"%s %s %d~n~%s %s %d",GetName(Game[Player1]),Char[Player[Game[Player1]][bBall]],Player[Game[Player1]][Points], GetName(Game[Player2]),Char[Player[Game[Player2]][bBall]],Player[Game[Player2]][Points]); TextDrawSetString(Player[Game[Player1]][T3],str); TextDrawSetString(Player[Game[Player2]][T3],str); TextDrawShowForPlayer(Game[Player1],Player[Game[Player1]][T3]); TextDrawShowForPlayer(Game[Player2],Player[Game[Player2]][T3]); } } public BallProperties() { for(new i = 0; i < 16; i++) { if(Ball[speed] > 0.1) { Ball[speed] = Ball[speed] / 1.4; SetObjectSpeed(i,Ball[speed]); } else { Ball[speed] = 0; StopObject(Ball[ObjID]); if(CheckAllBalls() == 1) { KillTimer(Game[Timer]); KillTimer(Game[Timer2]); if(Game[LastBall] != - 1) { if(Game[LastBall] <= 6) //CALA { if(Player[Game[Player1]][bBall] == CALA) { Player[Game[Player1]][Turn] = true; Player[Game[Player2]][Turn] = false; } else if(Player[Game[Player2]][bBall] == CALA) { Player[Game[Player1]][Turn] = false; Player[Game[Player2]][Turn] = true; } } else if(6 < Game[LastBall] <= 13) //POLOWKA { if(Player[Game[Player1]][bBall] == POL) { Player[Game[Player1]][Turn] = true; Player[Game[Player2]][Turn] = false; } else if(Player[Game[Player2]][bBall] == POL) { Player[Game[Player1]][Turn] = false; Player[Game[Player2]][Turn] = true; } } } else //Jezeli zadna bila nie wpadla { if(Player[Game[Player1]][Turn] == true) { Player[Game[Player1]][Turn] = false; Player[Game[Player2]][Turn] = true; } else if(Player[Game[Player2]][Turn] == true) { Player[Game[Player1]][Turn] = true; Player[Game[Player2]][Turn] = false; } } TextDrawSetString(Player[Game[Player1]][T6],"Queue"); TextDrawSetString(Player[Game[Player2]][T6],"Queue"); TextDrawShowForPlayer(Game[Player1],Player[Game[Player1]][T6]); TextDrawShowForPlayer(Game[Player2],Player[Game[Player2]][T6]); if(Game[blackInHole] == false) { if(Game[WhiteInHole] == false) { if(Player[Game[Player1]][Turn] == true) { TextDrawSetString(Player[Game[Player1]][T5],GetName(Game[Player1])); TextDrawSetString(Player[Game[Player2]][T5],GetName(Game[Player1])); } else if(Player[Game[Player2]][Turn] == true) { TextDrawSetString(Player[Game[Player1]][T5],GetName(Game[Player2])); TextDrawSetString(Player[Game[Player2]][T5],GetName(Game[Player2])); } } else { if(Player[Game[Player1]][Turn] == true) { Player[Game[Player1]][Turn] = false; Player[Game[Player2]][Turn] = true; TextDrawSetString(Player[Game[Player1]][T5],GetName(Game[Player2])); TextDrawSetString(Player[Game[Player2]][T5],GetName(Game[Player2])); } else if(Player[Game[Player2]][Turn] == true) { Player[Game[Player1]][Turn] = true; Player[Game[Player2]][Turn] = false; TextDrawSetString(Player[Game[Player1]][T5],GetName(Game[Player1])); TextDrawSetString(Player[Game[Player2]][T5],GetName(Game[Player1])); } Game[WhiteInHole] = false; ShowMessage(Game[Player1],"Billiard:hit the cue ball"); ShowMessage(Game[Player2],"Billiard:hit the cue ball"); } TextDrawShowForPlayer(Game[Player1],Player[Game[Player1]][T5]); TextDrawShowForPlayer(Game[Player2],Player[Game[Player2]][T5]); } else { Game[Waiting] = true; Player[Game[Player1]][sighting] = false; Player[Game[Player2]][sighting] = false; TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T1]); TextDrawHideForPlayer(Game[Player2],Player[Game[Player2]][T2]); TextDrawSetString(Player[Game[Player1]][T4],"The Game"); TextDrawSetString(Player[Game[Player2]][T4],"The Game"); TextDrawShowForPlayer(Game[Player1],Player[Game[Player1]][T4]); TextDrawShowForPlayer(Game[Player2],Player[Game[Player2]][T4]); TextDrawSetString(Player[Game[Player1]][T3],"She/He hit the black ball"); TextDrawSetString(Player[Game[Player2]][T3],"She/He hit the black ball"); TextDrawShowForPlayer(Game[Player1],Player[Game[Player1]][T3]); TextDrawShowForPlayer(Game[Player2],Player[Game[Player2]][T3]); TextDrawSetString(Player[Game[Player1]][T6],"The Winner"); TextDrawSetString(Player[Game[Player2]][T6],"The Winner"); TextDrawShowForPlayer(Game[Player1],Player[Game[Player1]][T6]); TextDrawShowForPlayer(Game[Player2],Player[Game[Player2]][T6]); if(Player[Game[Player1]][Points] == 0 || Player[Game[Player2]][Points] == 0) { if(Player[Game[Player1]][Turn] == true) { TextDrawSetString(Player[Game[Player1]][T5],GetName(Game[Player1])); TextDrawSetString(Player[Game[Player2]][T5],GetName(Game[Player1])); } else if(Player[Game[Player2]][Turn] == true) { TextDrawSetString(Player[Game[Player1]][T5],GetName(Game[Player2])); TextDrawSetString(Player[Game[Player2]][T5],GetName(Game[Player2])); } } else { if(Player[Game[Player1]][Turn] == true) { TextDrawSetString(Player[Game[Player1]][T5],GetName(Game[Player2])); TextDrawSetString(Player[Game[Player2]][T5],GetName(Game[Player2])); } else if(Player[Game[Player2]][Turn] == true) { TextDrawSetString(Player[Game[Player1]][T5],GetName(Game[Player1])); TextDrawSetString(Player[Game[Player2]][T5],GetName(Game[Player1])); } } Player[Game[Player1]][Turn] = false; Player[Game[Player2]][Turn] = false; Game[blackInHole] = false; TextDrawShowForPlayer(Game[Player1],Player[Game[Player1]][T5]); TextDrawShowForPlayer(Game[Player2],Player[Game[Player1]][T5]); SetTimer("OnEndBilliard",10000,0); } Game[LastBall] = -1; break; } } } } public OnTimer() { new temp[2]; for(new i = 0; i < 16; i++) { for(new j = 0; j < 16; j++) { if(i != j) { if(GetVectorDistance_OB(Ball[ObjID],Ball[j][ObjID]) < 0.09) { if(Ball[TouchID] != j && Ball[j][TouchID] != i) { if(Ball[speed] > 0.1) { new Float:pos[6]; GetObjectPos(Ball[ObjID],pos[0],pos[1],pos[2]); GetObjectPos(Ball[j][ObjID],pos[3],pos[4],pos[5]); Ball[j][TouchID] = i; Ball[TouchID] = j; temp[0] = i; temp[1] = j; Ball[j][a] = GetVectorAngle(Ball[ObjID],Ball[j][ObjID]); Ball[j][speed] = Ball[speed]; if(Ball[speed] < 3) { Ball[a] = GetVectorAngle(Ball[ObjID],Ball[j][ObjID]) + 180; Ball[speed] = Ball[speed] / 1.15; //1.5 pos[0] += 5 * floatsin(-Ball[a],degrees); //(Ball[speed] / 1.1) pos[1] += 5 * floatcos(-Ball[a],degrees); //(Ball[speed] / 1.1) MoveObject(Ball[ObjID],pos[0],pos[1],pos[2],Ball[speed]); } else if(Ball[speed] >= 3) { Ball[speed] = Ball[speed] / 1.15; //2 pos[0] += 5 * floatsin(-Ball[a],degrees); //Ball[speed] / 2) + random(25) pos[1] += 5 * floatcos(-Ball[a],degrees); //Ball[speed] / 2) - random(25) MoveObject(Ball[ObjID],pos[0],pos[1],pos[2],Ball[speed]); } Ball[j][speed] = Ball[j][speed] / 1.1; pos[3] += 5 * floatsin(-Ball[j][a],degrees); //Ball[j][speed] / 1.3 pos[4] += 5 * floatcos(-Ball[j][a],degrees); //Ball[j][speed] / 1.3 MoveObject(Ball[j][ObjID],pos[3],pos[4],pos[5],Ball[j][speed]); Ball[x] = pos[0]; Ball[y] = pos[1]; Ball[z] = Ball[WHITE][z]; Ball[j][x] = pos[3]; Ball[j][y] = pos[4]; Ball[j][z] = Ball[WHITE][z]; } } } } } new Float:pos[5]; GetObjectPos(Ball[ObjID],pos[0],pos[1],pos[2]); for(new h = 0; h < 6; h++) { if(PointInLong(0.04,pos[0],pos[1],Hole[h][0],Hole[h][1],Hole[h][2],Hole[h][3]) == 1) { CallRemoteFunction("OnBallInHole","d",i); break; } } for(new k = 0; k < POLYGONS; k++) { if(PointInPolygon(pos[0],pos[1],k) == 1) { new Float:tmp[4]; tmp[0] = pos[0]; tmp[1] = pos[1]; tmp[2] = pos[0]; tmp[3] = pos[1]; pos[0] += floatsin(-Ball[a] + 180,degrees) / 5; pos[1] += floatcos(-Ball[a] + 180,degrees) / 5; new Float:angle[2]; angle[0] = GetVectorAngle_XY(tmp[0],tmp[1],Polygon[k][0][x],Polygon[k][0][y]); if(angle[0] > 0) { angle[1] = angle[0] + 180; if(angle[1] > 360) angle[1] = angle[1] - 360; } else { angle[1] = GetVectorAngle_XY(tmp[0],tmp[1],Polygon[k][0][x],Polygon[k][0][y]); angle[0] = angle[1] + 180; if(angle[0] > 360) angle[0] = angle[0] - 360; if(angle[1] < 0) angle[1] = angle[0] + 180; } new Float:stop = Ball[a] + 180; if(stop > 360) stop = stop - 360; if(angle[0] < angle[1]) { if(angle[0] < stop < angle[1]) angle[0] = angle[0] + 90; else if(angle[1] < stop < 360 || 0 < stop < angle[0]) { angle[0] = angle[1] + 90; if(angle[0] > 360) angle[0] = angle[0] - 360; } } else if(angle[0] > angle[1]) { if(angle[0] > stop > angle[1]) angle[0] = angle[1] + 90; else if(angle[1] > stop > 0) { angle[0] = angle[1] - 90; if(angle[0] > 360) angle[0] = angle[0] - 360; } else if(360 > stop > angle[0]) { angle[0] = angle[0] + 90; if(angle[0] > 360) angle[0] = angle[0] - 360; } } new Float:sraka[2]; sraka[0] = tmp[0]; sraka[1] = tmp[1]; sraka[0] += floatsin(-angle[0],degrees) / 50; sraka[1] += floatcos(-angle[0],degrees) / 50; tmp[0] += floatsin(-angle[0],degrees) / 7; tmp[1] += floatcos(-angle[0],degrees) / 7; SetObjectPos(Ball[ObjID],sraka[0],sraka[1],13.199293525696); new Float:ang; new Float:dist; ang = GetVectorAngle_XY(pos[0],pos[1],tmp[0],tmp[1]); dist = GetDistance(pos[0],pos[1],tmp[0],tmp[1]); pos[0] += (dist * floatsin(-ang,degrees)) * 2; pos[1] += (dist * floatcos(-ang,degrees)) * 2; new Float:ang2; ang2 = GetVectorAngle_XY(pos[0],pos[1],tmp[2],tmp[3]); ang2 = ang2 + 180; tmp[2] += 5 * floatsin(-ang2,degrees); tmp[3] += 5 * floatcos(-ang2,degrees); MoveObject(Ball[ObjID],tmp[2],tmp[3],13.199293525696,Ball[speed]); Ball[x] = tmp[2]; Ball[y] = tmp[3]; if(ang2 > 360) ang2 = ang2 - 360; Ball[a] = ang2; break; } } } Ball[temp[0]][TouchID] = -1; Ball[temp[1]][TouchID] = -1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys & 128) { if(Player[playerid][sighting] == false && CheckAllBalls() == 1 && Game[Running] == true && Player[playerid][Turn] == true) { new Float:dist = GetVectorDistance_PL(playerid,Ball[WHITE][ObjID]); if(GetPlayerWeapon(playerid) == 7 && dist < 1.6) { new Float:pos[7]; GetObjectPos(Ball[WHITE][ObjID],pos[0],pos[1],pos[2]); GetPlayerPos(playerid,pos[3],pos[4],pos[5]); pos[6] = GetVectorAngle_XY(pos[3],pos[4],pos[0],pos[1]); Player[playerid][sighting] = true; Player[playerid][AfterSighting] = true; Player[playerid][selectLR] = 0; Player[playerid][selectUD] = 5; TextDrawSetString(Player[playerid][T2],"Predkosc"); TextDrawShowForPlayer(playerid,Player[playerid][T2]); TextDrawSetString(Player[playerid][T1],"60 cm~w~/s"); TextDrawShowForPlayer(playerid,Player[playerid][T1]); if(0.9 <= dist <= 1.2) { pos[3] += floatsin(-pos[6] + 180,degrees) * 0.3; pos[4] += floatcos(-pos[6] + 180,degrees) * 0.3; } else if(dist < 0.9) { pos[3] += floatsin(-pos[6] + 180,degrees) * 0.6; pos[4] += floatcos(-pos[6] + 180,degrees) * 0.6; } SetPlayerPos(playerid,pos[3],pos[4],pos[5]); SetPlayerFacingAngle(playerid,pos[6] - 2.2); Player[playerid][a] = pos[6] - 2.2; pos[3] += floatsin(-pos[6] - 10,degrees) * 0.2; pos[4] += floatcos(-pos[6] - 10,degrees) * 0.2; SetPlayerCameraPos(playerid,pos[3],pos[4],pos[2] + 0.5); SetPlayerCameraLookAt(playerid,pos[0],pos[1],pos[2]); ApplyAnimation(playerid,"POOL","POOL_Med_Start",1,0,0,0,1,0,1); } } } else if(oldkeys & 128) { if(Player[playerid][AfterSighting] == true) { SetCameraBehindPlayer(playerid); ApplyAnimation(playerid,"POOL","POOL_Med_Shot_O",4.1,0,1,1,1,1,1); TextDrawHideForPlayer(playerid,Player[playerid][T1]); TextDrawHideForPlayer(playerid,Player[playerid][T2]); Player[playerid][AfterSighting] = false; if(Player[playerid][sighting] == true) Player[playerid][sighting] = false; } } if(newkeys & KEY_FIRE) { if(Player[playerid][sighting] == true) { new Float:pos[7]; GetObjectPos(Ball[WHITE][ObjID],pos[0],pos[1],pos[2]); Game[Timer] = SetTimer("OnTimer",10,1); Game[Timer2] = SetTimer("BallProperties",200,1); TextDrawHideForPlayer(playerid,Player[playerid][T1]); TextDrawHideForPlayer(playerid,Player[playerid][T2]); Player[playerid][sighting] = false; if(Player[playerid][a] > 360) Player[playerid][a] = Player[playerid][a] - 360; else if(Player[playerid][a] < 0) Player[playerid][a] = 360 + Player[playerid][a]; Ball[WHITE][a] = Player[playerid][a]; pos[0] += 5 * floatsin(-Ball[WHITE][a],degrees); pos[1] += 5 * floatcos(-Ball[WHITE][a],degrees); Ball[WHITE][x] = pos[0]; Ball[WHITE][y] = pos[1]; Ball[WHITE][z] = pos[2]; Ball[WHITE][speed] = Player[playerid][selectUD] / 1.5; new Float:pp[4]; GetPlayerPos(playerid,pp[0],pp[1],pp[2]); GetPlayerFacingAngle(playerid,pp[3]); pp[0] += floatsin(-pp[3] - 90,degrees) * 0.3; pp[1] += floatcos(-pp[3] - 90,degrees) * 0.3; SetPlayerPos(playerid,pp[0],pp[1],pp[2]); SetPlayerCameraPos(playerid,2496.4970703125, -1671.1528320313, 12.275947036743 + 5); SetPlayerCameraLookAt(playerid,2496.4970703125, -1671.1528320313, 12.275947036743); ApplyAnimation(playerid,"POOL","POOL_Med_Shot",4.1,0,1,1,1,1,1); } } return 1; } public OnPlayerUpdate(playerid) { if(Player[playerid][sighting] == true) { if(GetVectorDistance_PL(playerid,Ball[WHITE][ObjID]) < 1.6) { new key[3]; new Float:pos[3]; GetPlayerPos(playerid,pos[0],pos[1],pos[2]); GetPlayerKeys(playerid,key[0],key[1],key[2]); if(key[2] == KEY_LEFT && Player[playerid][selectLR] < 10) { new Float:angle; new Float:angXY; GetPlayerFacingAngle(playerid,angle); Player[playerid][selectLR]++; pos[0] += floatsin(-angle - 90,degrees) / 20; pos[1] += floatcos(-angle - 90,degrees) / 20; new Float:dist = GetVectorDistance_PL(playerid,Ball[WHITE][ObjID]); new Float:pp[3]; GetObjectPos(Ball[WHITE][ObjID],pp[0],pp[1],pp[2]); angXY = GetVectorAngle_XY(pos[0],pos[1],pp[0],pp[1]); if(0.9 <= dist <= 1.2) { pos[0] += floatsin(-angXY + 180,degrees) * 0.3; pos[1] += floatcos(-angXY + 180,degrees) * 0.3; } else if(dist < 0.9) { pos[0] += floatsin(-angXY + 180,degrees) * 0.6; pos[1] += floatcos(-angXY + 180,degrees) * 0.6; } SetPlayerPos(playerid,pos[0],pos[1],pos[2]); SetPlayerFacingAngle(playerid,angXY - 2.2); Player[playerid][a] = angXY - 2.2; pos[0] += floatsin(-angXY - 10,degrees) * 0.2; pos[1] += floatcos(-angXY - 10,degrees) * 0.2; SetPlayerCameraPos(playerid,pos[0],pos[1],pp[2] + 0.5); SetPlayerCameraLookAt(playerid,pp[0],pp[1],pp[2]); ApplyAnimation(playerid,"POOL","POOL_Med_Start",1,0,0,0,1,0,1); } else if(key[2] == KEY_RIGHT && Player[playerid][selectLR] > -10) { new Float:angle; new Float:angXY; GetPlayerFacingAngle(playerid,angle); pos[0] += floatsin(-angle + 90,degrees) / 20; pos[1] += floatcos(-angle + 90,degrees) / 20; Player[playerid][selectLR]--; new Float:dist = GetVectorDistance_PL(playerid,Ball[WHITE][ObjID]); new Float:pp[3]; GetObjectPos(Ball[WHITE][ObjID],pp[0],pp[1],pp[2]); angXY = GetVectorAngle_XY(pos[0],pos[1],pp[0],pp[1]); if(0.9 <= dist <= 1.2) { pos[0] += floatsin(-angXY + 180,degrees) * 0.3; pos[1] += floatcos(-angXY + 180,degrees) * 0.3; } else if(dist < 0.9) { pos[0] += floatsin(-angXY + 180,degrees) * 0.6; pos[1] += floatcos(-angXY + 180,degrees) * 0.6; } SetPlayerPos(playerid,pos[0],pos[1],pos[2]); SetPlayerFacingAngle(playerid,angXY - 2.2); Player[playerid][a] = angXY - 2.2; pos[0] += floatsin(-angXY - 10,degrees) * 0.2; pos[1] += floatcos(-angXY - 10,degrees) * 0.2; SetPlayerCameraPos(playerid,pos[0],pos[1],pp[2] + 0.5); SetPlayerCameraLookAt(playerid,pp[0],pp[1],pp[2]); ApplyAnimation(playerid,"POOL","POOL_Med_Start",1,0,0,0,1,0,1); } else if(key[1] == KEY_UP || key[1] == KEY_DOWN) { if(key[1] == KEY_UP && 0 < Player[playerid][selectUD] < 8) { Player[playerid][selectUD]++; if(Player[playerid][TDTimer] != 0) { KillTimer(Player[playerid][TDTimer]); Player[playerid][TDTimer] = 0; } TextDrawSetString(Player[playerid][T2],"Speed"); TextDrawShowForPlayer(playerid,Player[playerid][T2]); new str[20]; new length = (Player[playerid][selectUD] / 2) * 30; if(length == 0) length = 15; format(str,sizeof(str),"%d cm~w~/s",length); TextDrawSetString(Player[playerid][T1],str); TextDrawShowForPlayer(playerid,Player[playerid][T1]); } else if(key[1] == KEY_DOWN && 1 < Player[playerid][selectUD] <= 8) { Player[playerid][selectUD]--; if(Player[playerid][TDTimer] != 0) { KillTimer(Player[playerid][TDTimer]); Player[playerid][TDTimer] = 0; } TextDrawSetString(Player[playerid][T2],"Speed"); TextDrawShowForPlayer(playerid,Player[playerid][T2]); new str[20]; new length = (Player[playerid][selectUD] / 2) * 30; if(length == 0) length = 15; format(str,sizeof(str),"%d cm~w~/s",length); TextDrawSetString(Player[playerid][T1],str); TextDrawShowForPlayer(playerid,Player[playerid][T1]); } } } } return 1; } public OnShowedTD(playerid) { TextDrawHideForPlayer(playerid,Player[playerid][T1]); TextDrawHideForPlayer(playerid,Player[playerid][T2]); Player[playerid][TDTimer] = 0; } stock SetObjectSpeed(sysobj, Float:speedy) { MoveObject(Ball[sysobj][ObjID],Ball[sysobj][x],Ball[sysobj][y],Ball[sysobj][z],speedy); } stock CheckAllBalls() { for(new i = 0; i < 16; i++) { if(Ball[speed] != 0) return 0; else if(i == 15) { if(Ball[speed] == 0) return 1; } } return 0; } stock Float:GetVectorAngle(obj, obj2) { new Float:vector[3]; new Float:pos[6]; GetObjectPos(obj,pos[0],pos[1],pos[2]); GetObjectPos(obj2,pos[3],pos[4],pos[5]); vector[0] = pos[3] - pos[0]; vector[1] = pos[4] - pos[1]; vector[2] = atan(-(vector[0] / vector[1])); if(vector[1] < 0) vector[2] = vector[2] >= 180 ? vector[2] - 180 : vector[2] + 180; return vector[2]; } stock Float:GetVectorAngle_XY(Float:fx, Float:fy, Float:tx, Float:ty) { new Float:vector[3]; vector[0] = tx - fx; vector[1] = ty - fy; vector[2] = atan(-(vector[0] / vector[1])); if(vector[1] < 0) vector[2] = vector[2] >= 180 ? vector[2] - 180 : vector[2] + 180; return vector[2]; } stock Float:GetVectorDistance_PL(playerid, obj) { new Float:pos[6]; GetPlayerPos(playerid,pos[0],pos[1],pos[2]); GetObjectPos(obj,pos[3],pos[4],pos[5]); return floatsqroot(floatpower(pos[3] - pos[0],2) + floatpower(pos[4] - pos[1],2) + floatpower(pos[5] - pos[2],2)); } stock Float:GetVectorDistance_OB(obj, obj2) { new Float:pos[6]; GetObjectPos(obj,pos[0],pos[1],pos[2]); GetObjectPos(obj2,pos[3],pos[4],pos[5]); return floatsqroot(floatpower(pos[3] - pos[0],2) + floatpower(pos[4] - pos[1],2) + floatpower(pos[5] - pos[2],2)); } stock Float:GetDistance(Float:fx, Float:fy, Float:tx, Float:ty) { return floatsqroot(floatpower(tx - fx,2) + floatpower(ty - fy,2)); } stock Float:GetDistancePointToLong(Float:px,Float:py, Float:px1,Float:py1, Float:px2,Float:py2) { new Float:vec[3]; vec[0] = GetDistance(px1,py1,px2,py2); if((vec[1] = GetDistance(px,py,px1,py1)) < vec[0] && (vec[2] = GetDistance(px,py,px2,py2)) < vec[0]) { new Float:opt[2]; opt[0] = (vec[0] + vec[1] + vec[2]) / 2; opt[1] = floatsqroot(opt[0] * (opt[0] - vec[0]) * (opt[0] - vec[1]) * (opt[0] - vec[2])); opt[1] = ((opt[1] * 2) / vec[0]); return opt[1]; } return 0.0; } stock PointInLong(Float:size, Float:px,Float:py, Float:px1,Float:py1, Float:px2,Float:py2) { new Float:vec[3]; vec[0] = GetDistance(px1,py1,px2,py2); if((vec[1] = GetDistance(px,py,px1,py1)) < vec[0] && (vec[2] = GetDistance(px,py,px2,py2)) < vec[0]) { new Float:opt[2]; opt[0] = (vec[0] + vec[1] + vec[2]) / 2; opt[1] = floatsqroot(opt[0] * (opt[0] - vec[0]) * (opt[0] - vec[1]) * (opt[0] - vec[2])); opt[1] = ((opt[1] * 2) / vec[0]) * 2; if(opt[1] < size) return 1; } return 0; } stock CreatePolygon(Float:px1,Float:py1, Float:px2,Float:py2) { for(new i = 0; i < POLYGONS; i++) { if(PolyResult[Progress] == false) { PolyResult[Progress] = true; PolyResult[Vertices] = 2; Polygon[0][x] = px1; Polygon[0][y] = py1; Polygon[1][x] = px2; Polygon[1][y] = py2; return i; } } return 0; } stock ShowMessage(playerid, message1[], message2[]) { if(Player[playerid][TDTimer] != 0) { KillTimer(Player[playerid][TDTimer]); Player[playerid][TDTimer] = 0; } TextDrawHideForPlayer(playerid,Player[playerid][T1]); TextDrawHideForPlayer(playerid,Player[playerid][T2]); TextDrawSetString(Player[playerid][T2],message1); TextDrawSetString(Player[playerid][T1],message2); TextDrawShowForPlayer(playerid,Player[playerid][T1]); TextDrawShowForPlayer(playerid,Player[playerid][T2]); new space; for(new i = 0; i < strlen(message2); i++) { if(message2 == ' ') space++; } if(space != 0) Player[playerid][TDTimer] = SetTimerEx("OnShowedTD",space * 3000,0,"d",playerid); else Player[playerid][TDTimer] = SetTimerEx("OnShowedTD",3000,0,"d",playerid); } stock PointInPolygon(Float:px, Float:py, polygonid) { if(PolyResult[polygonid][Progress] == true) { for(new i = 0; i < PolyResult[polygonid][Vertices]; i++) { if(i == PolyResult[polygonid][Vertices] - 1) { if(PointInLong(0.06,px,py,Polygon[polygonid][x],Polygon[polygonid][y],Polygon[polygonid][0][x],Polygon[polygonid][0][y]) == 1) return 1; } else { if(PointInLong(0.06,px,py,Polygon[polygonid][x],Polygon[polygonid][y],Polygon[polygonid][i + 1][x],Polygon[polygonid][i + 1][y]) == 1) return 1; } } } return 0; } stock GetName(playerid) { new name[24]; GetPlayerName(playerid,name,24); return name; } stock Release() { for(new i = 0; i < 20; i++) { TextDrawHideForPlayer(i,Player[T1]); TextDrawHideForPlayer(i,Player[T2]); TextDrawHideForPlayer(i,Player[T3]); TextDrawHideForPlayer(i,Player[T4]); TextDrawHideForPlayer(i,Player[T5]); TextDrawHideForPlayer(i,Player[T6]); TextDrawDestroy(Player[T1]); TextDrawDestroy(Player[T2]); TextDrawDestroy(Player[T3]); TextDrawDestroy(Player[T4]); TextDrawDestroy(Player[T5]); TextDrawDestroy(Player[T6]); } if(Game[Running] == true || Game[Waiting] == true) { KillTimer(Game[Timer]); KillTimer(Game[Timer2]); for(new i = 0; i < 17; i++) { DestroyObject(Ball[ObjID]); } } }[/pawn] Puteti sa ma ajutati?Cand dau /pool start masa cade din cer la grove,as vrea ca masa sa ramana asa adica sa nu mai cada si sa fie la PD si daca ati putea sa faceti cand scrii /pool sa iti apara asa : ___________[Pool]__________ **/pool start,/pool join,/pool end** [/table]
  5. Salut ma ajuta cineva sa fac o comanda pentru helperi si pentru admini,cand cineva da /needhelp,/report adminul/helper sa poata da un raspuns privat adica sa nu dea /hsay sau sa dea tp la el un fel de replay
  6. Salut am si eu o problema cu AutoAFK cate odata merge cate odata nu merge ////////////afk/// forward AFKKicker(); public AFKKicker() { for(new i = 0; i <= MAX_PLAYERS; i++) { if(PPos[1] == 0) { GetPlayerPos(i,PPos[0],PPos[1],PPos[2]); return 1; } new Float:x,Float:y,Float:z; GetPlayerPos(i,x,y,z); if(x == PPos[0] && y == PPos[1] && z == PPos[2]) { AFKMins++; if(AFKMins >= AFKTime) { SetPlayerColor(i,0x524F50AA); } } else { SetPlayerToTeamColor(i); } } return 1; } Si alta problema e am hostat azi serverul si nu imi apare Login Si Register merge sa dau doar spawn si ma da undeva pe langa LV care este problema?va rog ajutatima, aa si imi apare Unknow mode
  7. pai asta este faza ca nu stiu...
  8. Am niste probleme va rog ajutatima La /dgun daca bag o arma si daca mai dau odata /dgun si mai bag una la respawn o inlocuieste pe prima arma La news report cand dau /news din masina zice ca nu sunt in ea si cand ma urc in hely ma da afara din el si doar in hely de pe g merge sa dau news La hitman e problema ca nu merge sa ma sui in hely Si cand dau take dupa ce se termina,aceasi factiune mai poate sa dea odata take,ma puteti ajuta sa pun cooldown? Si la casa cand dau /carupgrade cade cealalta masina peste masina normala(moonbean) cum pot face ca masina sa se schimbe in 24h?
  9. Am niste probleme va rog ajutatima La /dgun daca bag o arma si daca mai dau odata /dgun si mai bag una la respawn o inlocuieste pe prima arma La news report cand dau /news din masina zice ca nu sunt in ea si cand ma urc in hely ma da afara din el si doar in hely de pe g merge sa dau news La hitman e problema ca nu merge sa ma sui in hely Am si eu nevoie de un AutoAFK va rog fara /afk /brb si etc... Si cand dau take dupa ce se termina,aceasi factiune mai poate sa dea odata take,ma puteti ajuta sa pun cooldown? Si la casa cand dau /carupgrade cade cealalta masina peste masina normala(moonbean) cum pot face ca masina sa se schimbe in 24h?
  10. C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(17) : error 025: function heading differs from prototype C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(17) : error 029: invalid expression, assumed zero C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(19) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(21) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(25) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(27) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(29) : error 025: function heading differs from prototype C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(29) : error 029: invalid expression, assumed zero C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(31) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(33) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(35) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(39) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(43) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(47) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(51) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(55) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(59) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(63) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(67) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(71) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(75) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(77) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(80) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(82) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(93) : warning 203: symbol is never used: "PlayerInfo" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 24 Errors. :(
  11. C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(11) : warning 201: redefinition of constant/macro (symbol "MAX_PLAYER_ATTACHED_OBJECTS") C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(20) : error 025: function heading differs from prototype C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(20) : error 029: invalid expression, assumed zero C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(22) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(25) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(28) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(30) : error 025: function heading differs from prototype C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(30) : error 029: invalid expression, assumed zero C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(32) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(34) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(36) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(40) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(44) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(48) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(52) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(56) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(60) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(64) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(68) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(72) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(76) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(78) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(81) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(83) : error 010: invalid function or declaration C:\Users\AleX\Desktop\SAmP\Deadly\filterscripts\bandana.pwn(94) : warning 203: symbol is never used: "PlayerInfo" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 23 Errors.
  12. http://pastebin.com/index/Egu9jNJa ...Poti sa il faci aici?
  13. Nu puteti sa mi-l faceti voi direct va rog? sunt incepator in scripting si nu stiu,va rog frumos
  14. Scuze pentru dublu post rasunde cineva?
  15. Am rezolvat,mersi si ice? poti sa ma ajuti cu problema la /bandana? primesc 4 erori
  16. Salut cum pot face sa deschid casino-ul four dragons? adica cand intru in el ma scoate si imi zice closed
  17. primesc erori C:\Users\AleX\Desktop\svs\filterscripts\bandana.pwn(17) : error 017: undefined symbol "PlayerInfo" C:\Users\AleX\Desktop\svs\filterscripts\bandana.pwn(17) : warning 215: expression has no effect C:\Users\AleX\Desktop\svs\filterscripts\bandana.pwn(17) : error 001: expected token: ";", but found "]" C:\Users\AleX\Desktop\svs\filterscripts\bandana.pwn(17) : error 029: invalid expression, assumed zero C:\Users\AleX\Desktop\svs\filterscripts\bandana.pwn(17) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors.
  18. Salut am si eu o problema cum pot face ca la /bandana sa fie pentru premium account user's?sistemul asta care il am eu merge pentru toti si eu as vrea sa mearga doar pt admini si donatori http://pastebin.com/index/Egu9jNJa Va rog puteti sa ma ajutati?
  19. Dar cu junkbusterul pe /w cand scrii o injuratura nu te atentioneaza sau pe /o,/sms/hsay etc... ma poate ajuta cineva si eu am nevoie
  20. AleX1321

    Salut!

    Bai scripting stiu cat de cat dar alea care le-am mentionat mai sus nustiu sa le fac asa ca va rog frumos si acu citesc regulamentul,Va ROG!
  21. AleX1321

    Salut!

    Scuze dar am mare nevoie
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.