Jump to content

[X-TuT]Nej drag


Guest Pasek911

Recommended Posts

Dam sem nej drag světa [Muj neni]

 

#include

//*************START DRAG FUNKCTIONS AND PARMS

#define MAX_DRAG_MEMBER 32 //kolik ma clenu

#define DRAG_COUNTER 5

#define DRAG_MAX_TIME 60000 //max cas

#define DRAG_UPDATE_TIME 50 // no comment

 

new Float:dragStartArea[8] = {

-1688.0394,-155.4579,-1653.3419,-190.5280,-1642.1689,-180.0375,-1675.8800,-146.3983

};

new Float:dragEndArea[8] = {

-1125.9200,407.4429,-1086.0991,367.7178,-1000.0145,452.8905,-1039.7690,492.7749

};

 

new cmd[256];

new string[256];

 

stock strtok(const string[], &index,seperator=\' \')

{

new length = strlen(string);

new offset = index;

new result[MAX_STRING];

while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))

{

result[index - offset] = string[index];

index++;

}

 

result[index - offset] = EOS;

if ((index < length) && (string[index] == seperator))

{

index++;

}

return result;

}

 

 

new dragMembers[MAX_DRAG_MEMBER];

new dragMembersStatus[MAX_DRAG_MEMBER]; //0 out , 1 ok

new dragCost;

new dragStart;

new dragMemberCount;

new dragCounter;

new dragCreated;

new dragTime;

new dragTimer;

new dragTimer2;

 

//-----------funkce

 

public isPlayerInRectangle(playerID, Float:data[8])

{

new Float:X, Float:Y, Float:Z;

 

GetPlayerPos(playerID, X, Y, Z);

 

//first triangle

new Float:t1,Float:t2,Float:t3,Float:t4;

new Float:a1,Float:a2,Float:a3;

 

t1 = (((data[2] - data[4])*(data[5] - Y)) - ((data[4] - X)*(data[3] - data[5])));

t2 = (((data[0] - data[4])*(data[3] - data[5])) - ((data[2] - data[4])*(data[1] - data[5])));

t3 = (((data[0] - data[4])*(data[5] - Y)) - ((data[4] - X)*(data[1] - data[5])));

t4 = (((data[2] - data[4])*(data[1] - data[5])) - ((data[0] - data[4])*(data[3] - data[5])));

 

if(t2 != 0) {

a1 = t1/t2;

} else {

a1 = 0;

}

if(t4 != 0) {

a2 = t3/t4;

} else {

a2 = 0;

}

a3 = 1.0-a1-a2;

if((a1 < 0) || (a2 < 0) || (a3 < 0)){

// then the point is not inside the first triang

//second triangle

t1 = (((data[6] - data[4])*(data[5] - Y)) - ((data[4] - X)*(data[7] - data[5])));

t2 = (((data[0] - data[4])*(data[7] - data[5])) - ((data[6] - data[4])*(data[1] - data[5])));

t3 = (((data[0] - data[4])*(data[5] - Y)) - ((data[4] - X)*(data[1] - data[5])));

t4 = (((data[6] - data[4])*(data[1] - data[5])) - ((data[0] - data[4])*(data[7] - data[5])));

 

if(t2 != 0) {

a1 = t1/t2;

} else {

a1 = 0;

}

if(t4 != 0) {

a2 = t3/t4;

} else {

a2 = 0;

}

a3 = 1.0-a1-a2;

if((a1 < 0) || (a2 < 0) || (a3 < 0)){

// then the point is not inside the second triang

return 0;

}

}

return 1;

}

 

public startDrag(){

 

new string[256];

new playername[MAX_PLAYER_NAME];

 

dragStart=true;

if(dragCounter>1){

dragCounter--;

//zvuk startu 321

for(new i =0;i

if(dragMembersStatus>0&&IsPlayerConnected(dragMembers))

{

PlayerPlaySound(dragMembers,1056,-1654.2109,-161.2337,13.8525);

}

}

 

}

else{

//START!!

dragCounter=0;

KillTimer(dragTimer);

//zvuk startu

for(new i =0;i

if(dragMembersStatus>0&&IsPlayerConnected(dragMembers))

{

PlayerPlaySound(dragMembers,1057,-1654.2109,-161.2337,13.8525);

}

}

//timer2

KillTimer(dragTimer2); //pro jistotu

dragTimer2 = SetTimer("updateDrag",DRAG_UPDATE_TIME,1);

}

format(string, sizeof(string), "%d", dragCounter);

 

public OnPlayerCommandText(playerid, cmdtext[])

{

if(strcmp(cmd, "/dragend", true) == 0){

if(!dragCreated) {

SendClientMessage(playerid, COLOR_WHITE, "Neni vytvoren zadny drag!");

return 1;

}

if(dragStart) {

SendClientMessage(playerid, COLOR_WHITE, "Drag je odstartovan nelze zrusit, vyckejte.");

return 1;

}

dragEnd();

return 1;

}

//------------------- /createdrag

if(strcmp(cmd, "/dragcreate", true) == 0){

new tmp[256];

new castka;

tmp = strtok(cmdtext, idx);

 

if(!strlen(tmp)) {

SendClientMessage(playerid, COLOR_WHITE, "POUZITI: /dragcreate [castka]");

return 1;

}

if(dragCreated) {

SendClientMessage(playerid, COLOR_WHITE, "Jiz je drag vytvoren!");

return 1;

}

castka = strval(tmp);

if(castka<0){

SendClientMessage(playerid, COLOR_WHITE, "Neplatne zadani!");

return 1;

}

if(GetPlayerMoney(playerid) < castka) {

format(string, sizeof(string), "Nemas dostatek financi! Je potreba %d.", castka);

SendClientMessage(playerid, COLOR_WHITE, string);

return 1;

}

//vse ok vytvor novy drag

if(dragCreated)

dragEnd();

dragCreated = true;

dragCost = castka;

//join

dragMembers[dragMemberCount] = playerid;

dragMembersStatus[dragMemberCount] = 1;

dragMemberCount++;

GivePlayerMoney(playerid, 0-dragCost);

 

GetPlayerName(playerid, sendername, sizeof(sendername));

format(string, sizeof(string), "Hrac %s vytvoril drag se zapisnym %d.", sendername,castka);

SendClientMessageToAll(COLOR_YELLOW, string);

return 1;

}

 

//------------------- /draginfo

if(strcmp(cmd, "/draginfo", true) == 0){

SendClientMessage(playerid, COLOR_GREEN,"Vypis ucastniku dragu:");

for(new i =0;i

if(IsPlayerConnected(dragMembers))

{

GetPlayerName(dragMembers, sendername, sizeof(sendername));

if(dragMembersStatus>0)

format(string, sizeof(string), "%s - OK", sendername);

else

format(string, sizeof(string), "%s - DISKVALIFIKOVAN", sendername);

SendClientMessage(playerid, COLOR_YELLOW,string);

}

}

return 1;

}

//------------------- /dragjoin

if(strcmp(cmd, "/dragjoin", true) == 0){

if(GetPlayerMoney(playerid) < dragCost) {

format(string, sizeof(string), "Nemas dostatek financi! Je potreba %d.", dragCost);

SendClientMessage(playerid, COLOR_WHITE, string);

return 1;

}

if(!dragCreated){

SendClientMessage(playerid, COLOR_YELLOW, "Neni vytvoren zadny drag, pouzijte /dragcreate [castka]!");

return 1;

}

for(new i =0;i

if(dragMembers==playerid){

SendClientMessage(playerid, COLOR_YELLOW, "Jiz si prihlasen v dragu!");

return 1;

}

}

if(dragStart){

SendClientMessage(playerid, COLOR_YELLOW, "Drag probiha, vyckejte!");

return 1;

}

 

//join

dragMembers[dragMemberCount] = playerid;

dragMembersStatus[dragMemberCount] = 1;

dragMemberCount++;

GivePlayerMoney(playerid, 0-dragCost);

//text

GetPlayerName(playerid, sendername, sizeof(sendername));

format(string, sizeof(string), "Hrac %s se pripojil do dragu.", sendername);

SendClientMessageToAll(COLOR_YELLOW, string);

return 1;

}

//------------------- /dragstart

if(strcmp(cmd, "/dragstart", true) == 0){

if(!dragCreated)

{

SendClientMessage(playerid, COLOR_YELLOW,"Neni pripraven zadny drag, pouzijte /dragcreate [castka].");

return 1;

}

if(dragStart)

{

SendClientMessage(playerid, COLOR_YELLOW,"Jiz je jeden drag odstartovan!");

return 1;

}

SendClientMessageToAll(COLOR_GREEN, "Drag zahajen! Pripravit pozor:");

dragCounter = DRAG_COUNTER;

KillTimer(dragTimer); //pro jistotu

dragTimer = SetTimer("startDrag",1000,1);

return 1;

if(strcmp(cmd, "/tuning", true) == 0) {

SendClientMessage(playerid, COLOR_GREEN,"Prikazy tuningu:");

SendClientMessage(playerid, COLOR_WHITE,"Draha na drag se nachazi na SF runwayi,start je na care.");

SendClientMessage(playerid, COLOR_YELLOW,"/dragcreate [castka]");

SendClientMessage(playerid, COLOR_YELLOW,"/dragjoin");

SendClientMessage(playerid, COLOR_YELLOW,"/dragstart");

SendClientMessage(playerid, COLOR_YELLOW,"/draginfo");

SendClientMessage(playerid, COLOR_YELLOW,"/dragend");

return 1;

}

return 0;

}

 

Je nejjjjjjjjjjj

Link to comment
Share on other sites

njn vytahl to ze smrtakova modu a este s nedostatkama nejlepsi je si udelat vlastni drag jako sem si udelal ja potom se v tom i clovek vyzna

Ano, to jsou ATomasovi slova i na skype mi řikal, udělej si vše vlastní :d

Link to comment
Share on other sites

dyt jo to je to nejlepsi kdysi sem kopci leste za verze rze5 ale v rze6 sem svechno smazal a nakodil sem to znova asi men zralo svedomi neco sem se nedil nwm ale proste uz nekopcil ale vim ze kazdy pawner mnel obdobi kdyz kopiroval spis v tech zacatcich ale potom mu dojde ze to ne je nahvo a lepsi je si udelat svoje a kdyz si neco udelas svoje tak tomu lepe rozumis a nemas tam chyby a lepe se to upravuje

Link to comment
Share on other sites

Dam sem nej drag světa [Muj neni]

 

#include

//*************START DRAG FUNKCTIONS AND PARMS

#define MAX_DRAG_MEMBER 32 //kolik ma clenu

#define DRAG_COUNTER 5

#define DRAG_MAX_TIME 60000 //max cas

#define DRAG_UPDATE_TIME 50 // no comment

 

new Float:dragStartArea[8] = {

-1688.0394,-155.4579,-1653.3419,-190.5280,-1642.1689,-180.0375,-1675.8800,-146.3983

};

new Float:dragEndArea[8] = {

-1125.9200,407.4429,-1086.0991,367.7178,-1000.0145,452.8905,-1039.7690,492.7749

};

 

new cmd[256];

new string[256];

 

stock strtok(const string[], &index,seperator=\' \')

{

new length = strlen(string);

new offset = index;

new result[MAX_STRING];

while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))

{

result[index - offset] = string[index];

index++;

}

 

result[index - offset] = EOS;

if ((index < length) && (string[index] == seperator))

{

index++;

}

return result;

}

 

 

new dragMembers[MAX_DRAG_MEMBER];

new dragMembersStatus[MAX_DRAG_MEMBER]; //0 out , 1 ok

new dragCost;

new dragStart;

new dragMemberCount;

new dragCounter;

new dragCreated;

new dragTime;

new dragTimer;

new dragTimer2;

 

//-----------funkce

 

public isPlayerInRectangle(playerID, Float:data[8])

{

new Float:X, Float:Y, Float:Z;

 

GetPlayerPos(playerID, X, Y, Z);

 

//first triangle

new Float:t1,Float:t2,Float:t3,Float:t4;

new Float:a1,Float:a2,Float:a3;

 

t1 = (((data[2] - data[4])*(data[5] - Y)) - ((data[4] - X)*(data[3] - data[5])));

t2 = (((data[0] - data[4])*(data[3] - data[5])) - ((data[2] - data[4])*(data[1] - data[5])));

t3 = (((data[0] - data[4])*(data[5] - Y)) - ((data[4] - X)*(data[1] - data[5])));

t4 = (((data[2] - data[4])*(data[1] - data[5])) - ((data[0] - data[4])*(data[3] - data[5])));

 

if(t2 != 0) {

a1 = t1/t2;

} else {

a1 = 0;

}

if(t4 != 0) {

a2 = t3/t4;

} else {

a2 = 0;

}

a3 = 1.0-a1-a2;

if((a1 < 0) || (a2 < 0) || (a3 < 0)){

// then the point is not inside the first triang

//second triangle

t1 = (((data[6] - data[4])*(data[5] - Y)) - ((data[4] - X)*(data[7] - data[5])));

t2 = (((data[0] - data[4])*(data[7] - data[5])) - ((data[6] - data[4])*(data[1] - data[5])));

t3 = (((data[0] - data[4])*(data[5] - Y)) - ((data[4] - X)*(data[1] - data[5])));

t4 = (((data[6] - data[4])*(data[1] - data[5])) - ((data[0] - data[4])*(data[7] - data[5])));

 

if(t2 != 0) {

a1 = t1/t2;

} else {

a1 = 0;

}

if(t4 != 0) {

a2 = t3/t4;

} else {

a2 = 0;

}

a3 = 1.0-a1-a2;

if((a1 < 0) || (a2 < 0) || (a3 < 0)){

// then the point is not inside the second triang

return 0;

}

}

return 1;

}

 

public startDrag(){

 

new string[256];

new playername[MAX_PLAYER_NAME];

 

dragStart=true;

if(dragCounter>1){

dragCounter--;

//zvuk startu 321

for(new i =0;i

if(dragMembersStatus>0&&IsPlayerConnected(dragMembers))

{

PlayerPlaySound(dragMembers,1056,-1654.2109,-161.2337,13.8525);

}

}

 

}

else{

//START!!

dragCounter=0;

KillTimer(dragTimer);

//zvuk startu

for(new i =0;i

if(dragMembersStatus>0&&IsPlayerConnected(dragMembers))

{

PlayerPlaySound(dragMembers,1057,-1654.2109,-161.2337,13.8525);

}

}

//timer2

KillTimer(dragTimer2); //pro jistotu

dragTimer2 = SetTimer("updateDrag",DRAG_UPDATE_TIME,1);

}

format(string, sizeof(string), "%d", dragCounter);

 

public OnPlayerCommandText(playerid, cmdtext[])

{

if(strcmp(cmd, "/dragend", true) == 0){

if(!dragCreated) {

SendClientMessage(playerid, COLOR_WHITE, "Neni vytvoren zadny drag!");

return 1;

}

if(dragStart) {

SendClientMessage(playerid, COLOR_WHITE, "Drag je odstartovan nelze zrusit, vyckejte.");

return 1;

}

dragEnd();

return 1;

}

//------------------- /createdrag

if(strcmp(cmd, "/dragcreate", true) == 0){

new tmp[256];

new castka;

tmp = strtok(cmdtext, idx);

 

if(!strlen(tmp)) {

SendClientMessage(playerid, COLOR_WHITE, "POUZITI: /dragcreate [castka]");

return 1;

}

if(dragCreated) {

SendClientMessage(playerid, COLOR_WHITE, "Jiz je drag vytvoren!");

return 1;

}

castka = strval(tmp);

if(castka<0){

SendClientMessage(playerid, COLOR_WHITE, "Neplatne zadani!");

return 1;

}

if(GetPlayerMoney(playerid) < castka) {

format(string, sizeof(string), "Nemas dostatek financi! Je potreba %d.", castka);

SendClientMessage(playerid, COLOR_WHITE, string);

return 1;

}

//vse ok vytvor novy drag

if(dragCreated)

dragEnd();

dragCreated = true;

dragCost = castka;

//join

dragMembers[dragMemberCount] = playerid;

dragMembersStatus[dragMemberCount] = 1;

dragMemberCount++;

GivePlayerMoney(playerid, 0-dragCost);

 

GetPlayerName(playerid, sendername, sizeof(sendername));

format(string, sizeof(string), "Hrac %s vytvoril drag se zapisnym %d.", sendername,castka);

SendClientMessageToAll(COLOR_YELLOW, string);

return 1;

}

 

//------------------- /draginfo

if(strcmp(cmd, "/draginfo", true) == 0){

SendClientMessage(playerid, COLOR_GREEN,"Vypis ucastniku dragu:");

for(new i =0;i

if(IsPlayerConnected(dragMembers))

{

GetPlayerName(dragMembers, sendername, sizeof(sendername));

if(dragMembersStatus>0)

format(string, sizeof(string), "%s - OK", sendername);

else

format(string, sizeof(string), "%s - DISKVALIFIKOVAN", sendername);

SendClientMessage(playerid, COLOR_YELLOW,string);

}

}

return 1;

}

//------------------- /dragjoin

if(strcmp(cmd, "/dragjoin", true) == 0){

if(GetPlayerMoney(playerid) < dragCost) {

format(string, sizeof(string), "Nemas dostatek financi! Je potreba %d.", dragCost);

SendClientMessage(playerid, COLOR_WHITE, string);

return 1;

}

if(!dragCreated){

SendClientMessage(playerid, COLOR_YELLOW, "Neni vytvoren zadny drag, pouzijte /dragcreate [castka]!");

return 1;

}

for(new i =0;i

if(dragMembers==playerid){

SendClientMessage(playerid, COLOR_YELLOW, "Jiz si prihlasen v dragu!");

return 1;

}

}

if(dragStart){

SendClientMessage(playerid, COLOR_YELLOW, "Drag probiha, vyckejte!");

return 1;

}

 

//join

dragMembers[dragMemberCount] = playerid;

dragMembersStatus[dragMemberCount] = 1;

dragMemberCount++;

GivePlayerMoney(playerid, 0-dragCost);

//text

GetPlayerName(playerid, sendername, sizeof(sendername));

format(string, sizeof(string), "Hrac %s se pripojil do dragu.", sendername);

SendClientMessageToAll(COLOR_YELLOW, string);

return 1;

}

//------------------- /dragstart

if(strcmp(cmd, "/dragstart", true) == 0){

if(!dragCreated)

{

SendClientMessage(playerid, COLOR_YELLOW,"Neni pripraven zadny drag, pouzijte /dragcreate [castka].");

return 1;

}

if(dragStart)

{

SendClientMessage(playerid, COLOR_YELLOW,"Jiz je jeden drag odstartovan!");

return 1;

}

SendClientMessageToAll(COLOR_GREEN, "Drag zahajen! Pripravit pozor:");

dragCounter = DRAG_COUNTER;

KillTimer(dragTimer); //pro jistotu

dragTimer = SetTimer("startDrag",1000,1);

return 1;

if(strcmp(cmd, "/tuning", true) == 0) {

SendClientMessage(playerid, COLOR_GREEN,"Prikazy tuningu:");

SendClientMessage(playerid, COLOR_WHITE,"Draha na drag se nachazi na SF runwayi,start je na care.");

SendClientMessage(playerid, COLOR_YELLOW,"/dragcreate [castka]");

SendClientMessage(playerid, COLOR_YELLOW,"/dragjoin");

SendClientMessage(playerid, COLOR_YELLOW,"/dragstart");

SendClientMessage(playerid, COLOR_YELLOW,"/draginfo");

SendClientMessage(playerid, COLOR_YELLOW,"/dragend");

return 1;

}

return 0;

}

 

Je nejjjjjjjjjjj

sak vidno ze neni tvoj ani ejden tut neni tvoj

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...