Jump to content
  • 0

pomoc L.Alt


GvaKO

Dotaz

Ahoj chcel som spravit pickup tak ze ked nan pridem a dam L.Alt otvori sa dialog so skinami , ale nwm preco , ale vzdi hockde na hociajakom mieste dam L.Alt otvori sa dialog vsade a chcel som aby sa otvaral len ked som v pickupe ...

 

#include 

#pragma tabsize 0
//////////////////////////////////////////////////////DEFINES////////////////////////////////////////////////////////////////////
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define Color_Red 0xFF0000
//new skin1;
#define DIALOG_SKIN 335

#define IsPlayerInSphere

new bool:funguje[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
  funguje[playerid] = false;
  return 1;
}

public OnGameModeInit()
{


  CreatePickup(1318, 16, 155.5995,-92.4377,1001.8047);

  return 1;
}


public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_WALK)
{
if(IsPlayerInSphere(playerid,155.5995,-92.4377,1001.8047,2))
{
ShowPlayerDialog(playerid, 335, DIALOG_STYLE_INPUT, "Zadaj ID SKINU","Cena SKINU             20$","Ok","");
}
}/
return 1;
}


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{

   if(dialogid == 335)
       {
       if(!response) return SendClientMessage(playerid,0xFF0000,"");
       if(response)
       {
           if(IsNumeric(inputtext))
           {
               if(IsValidSkin(strval(inputtext)))
               {
               SetPlayerSkin(playerid, strval(inputtext));
               }
               else
               {
               SendClientMessage(playerid,Color_Red,"použi ID SKINU v rozmedzí od 0 ---> 299 !");

               }
               }
               else
               {
               SendClientMessage(playerid,0xFF0000,"Použi čísla nie písmena !");
               ShowPlayerDialog(playerid, 335, DIALOG_STYLE_INPUT, "Zadaj ID SKINU","Cena SKINU                 20$.","Ok","");
               }
	}
       }
       return 0;
}
stock IsNumeric(string[])
{
       for (new i = 0, j = strlen(string); i < j; i++)
       {
               if (string[i] > '9' || string[i] < '0') return 0;
       }
       return 1;
}
stock IsValidSkin(SkinID)
{
       if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
       else return false;

}

Link to comment
Share on other sites

2 odpovědí na tuto otázku

Recommended Posts

  • 0
Ahoj chcel som spravit pickup tak ze ked nan pridem a dam L.Alt otvori sa dialog so skinami , ale nwm preco , ale vzdi hockde na hociajakom mieste dam L.Alt otvori sa dialog vsade a chcel som aby sa otvaral len ked som v pickupe ...

 

#include 

#pragma tabsize 0
//////////////////////////////////////////////////////DEFINES////////////////////////////////////////////////////////////////////
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define Color_Red 0xFF0000
//new skin1;
#define DIALOG_SKIN 335

#define IsPlayerInSphere

new bool:funguje[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
  funguje[playerid] = false;
  return 1;
}

public OnGameModeInit()
{


  CreatePickup(1318, 16, 155.5995,-92.4377,1001.8047);

  return 1;
}


public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_WALK)
{
if(IsPlayerInSphere(playerid,155.5995,-92.4377,1001.8047,2))
{
ShowPlayerDialog(playerid, 335, DIALOG_STYLE_INPUT, "Zadaj ID SKINU","Cena SKINU             20$","Ok","");
}
}/
return 1;
}


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{

   if(dialogid == 335)
       {
       if(!response) return SendClientMessage(playerid,0xFF0000,"");
       if(response)
       {
           if(IsNumeric(inputtext))
           {
               if(IsValidSkin(strval(inputtext)))
               {
               SetPlayerSkin(playerid, strval(inputtext));
               }
               else
               {
               SendClientMessage(playerid,Color_Red,"použi ID SKINU v rozmedzí od 0 ---> 299 !");

               }
               }
               else
               {
               SendClientMessage(playerid,0xFF0000,"Použi čísla nie písmena !");
               ShowPlayerDialog(playerid, 335, DIALOG_STYLE_INPUT, "Zadaj ID SKINU","Cena SKINU                 20$.","Ok","");
               }
	}
       }
       return 0;
}
stock IsNumeric(string[])
{
       for (new i = 0, j = strlen(string); i < j; i++)
       {
               if (string[i] > '9' || string[i] < '0') return 0;
       }
       return 1;
}
stock IsValidSkin(SkinID)
{
       if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
       else return false;

}

zkusil bych to přes RangeOfPoint

#include 

#pragma tabsize 0
//////////////////////////////////////////////////////DEFINES////////////////////////////////////////////////////////////////////
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define Color_Red 0xFF0000
//new skin1;
#define DIALOG_SKIN 335

#define IsPlayerInSphere

new bool:funguje[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
  funguje[playerid] = false;
  return 1;
}

public OnGameModeInit()
{


  CreatePickup(1318, 16, 155.5995,-92.4377,1001.8047);

  return 1;
}


public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_WALK)
{
if(IsPlayerInRangeOfPoint(playerid,2,155.5995,-92.4377,1001.8047))
{
ShowPlayerDialog(playerid, 335, DIALOG_STYLE_INPUT, "Zadaj ID SKINU","Cena SKINU             20$","Ok","");
}
}/
return 1;
}


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{

   if(dialogid == 335)
       {
       if(!response) return SendClientMessage(playerid,0xFF0000,"");
       if(response)
       {
           if(IsNumeric(inputtext))
           {
               if(IsValidSkin(strval(inputtext)))
               {
               SetPlayerSkin(playerid, strval(inputtext));
               }
               else
               {
               SendClientMessage(playerid,Color_Red,"použi ID SKINU v rozmedzí od 0 ---> 299 !");

               }
               }
               else
               {
               SendClientMessage(playerid,0xFF0000,"Použi čísla nie písmena !");
               ShowPlayerDialog(playerid, 335, DIALOG_STYLE_INPUT, "Zadaj ID SKINU","Cena SKINU                 20$.","Ok","");
               }
	}
       }
       return 0;
}
stock IsNumeric(string[])
{
       for (new i = 0, j = strlen(string); i < j; i++)
       {
               if (string[i] > '9' || string[i] < '0') return 0;
       }
       return 1;
}
stock IsValidSkin(SkinID)
{
       if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
       else return false;

}

Link to comment
Share on other sites

  • 0

Má definované IsPlayerInSphere, ale nic z toho. Musíš mít tu definici kompletní

 

Máš tam:

 

#define IsPlayerInSphere

 

ale musíš tam mít

 

#define IsPlayerInSphere(%0,%1,%2,%3,%4) IsPlayerInRangeOfPoint(%0,%4,%1,%2,%3)

 

;)

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...