Problem with vehicle system
#1

Hello,

I try to do the player can tele his car by command: /CallCar
this command don't working some one can help me ?

PHP код:
#include <a_samp>
#include <cpstream>
#include <DOF2>
#pragma tabsize 0
#define COLOR_RED 0xFF0000FF
#define COLOR_ORANGE 0xFF9900FF
new CP_CShop;
public 
OnGameModeInit()
{
CP_CShop CPS_AddCheckpoint(2795.5403,-1087.5466,30.7198,3.0,100);
return 
1;
}
public 
OnPlayerConnect(playerid)
{
if(!
fexist(PlayerFile(playerid)))
{
DOF2_CreateFile(PlayerFile(playerid));
DOF2_SetInt(PlayerFile(playerid),"CarID",-1);
}
return 
1;
}
public 
OnPlayerEnterCheckpoint(playerid)
{
if(
CPS_IsPlayerInCheckpoint(playerid,CP_CShop))
{
new 
catstrcar[2500];
strcat(catstrcar,"{00FF00}Landstalker {FFFFFF}- 250,000$\n{00FF00}Bravura {FFFFFF}- 250,000$\n{00FF00}Buffalo {FFFFFF}- 500,000$\n{00FF00}Perenniel {FFFFFF}- 250,000$\n{00FF00}Sentinel {FFFFFF}- 250,000$\n{00FF00}Manana {FFFFFF}- 250,000$\n",2500);
strcat(catstrcar"{00FF00}Voodoo {FFFFFF}- 250,000$\n{00FF00}Cheetah {FFFFFF}- 500,000$\n{00FF00}Esperanto {FFFFFF}- 250,000$\n{00FF00}Washington {FFFFFF}- 250,000$\n",2500);
strcat(catstrcar"{00FF00}Bobcat {FFFFFF}- 250,000$\n{00FF00}BF Injection {FFFFFF}- 250,000$\n{00FF00}Premier {FFFFFF}- 250,000$\n{00FF00}Banshee {FFFFFF}- 1,000,000$\n{00FF00}Previon {FFFFFF}- 250,000$\n{00FF00}Stallion {FFFFFF}- 250,000$\n{00FF00}Monster {FFFFFF}- 400,000$\n",2500);
strcat(catstrcar"{00FF00}Admiral {FFFFFF}- 250,000$\n{00FF00}Solair {FFFFFF}- 250,000$\n{00FF00}Glendale {FFFFFF}- 250,000$\n{00FF00}Oceanic {FFFFFF}- 250,000$\n{00FF00}Savana {FFFFFF}- 350,000$\n{00FF00}ZR-350 {FFFFFF}- 350,000$\n{00FF00}Hotring Racer {FFFFFF}- 500,000$\n{00FF00}Comet {FFFFFF}- 500,000$\n{00FF00}Super GT {FFFFFF}- 500,000$\n",2500);
strcat(catstrcar"{00FF00}Turismo {FFFFFF}- 1,000,000$\n{00FF00}Infernus {FFFFFF}- 2,000,000$\n{00FF00}NRG-500 {FFFFFF}- 1,000,000$\n{00FF00}FCR-900 {FFFFFF}- 300,000$\n",2500);
strcat(catstrcar"{00FF00}Bullet {FFFFFF}- 3,000,000$\n{00FF00}Bandito {FFFFFF}- 2,500,000$\n{00FF00}Patriot {FFFFFF}- 1,500,000$\n{00FF00}Quad {FFFFFF}- 750,000$\n",2500);
strcat(catstrcar"{00FF00}BMX {FFFFFF}- 5,000,000$\n{00FF00}Mountain Bike {FFFFFF}- 2,500,000$\n{00FF00}FreeWay {FFFFFF}- 2,500,000$\n{00FF00}Remington {FFFFFF}- 1,750,000$\n",2500);
strcat(catstrcar"{00FF00}Hustler {FFFFFF}- 2,000,000$\n{00FF00}Sultan {FFFFFF}- 6,500,000$\n{00FF00}Flash {FFFFFF}- 3,500,000$\n{00FF00}Huntley {FFFFFF}- 750,000$\n",2500);
strcat(catstrcar"{00FF00}Club {FFFFFF}- 1,000,000$\n{00FF00}Phoenix {FFFFFF}- 2,500,000$\n{00FF00}Faggio {FFFFFF}- 4,500,000$\n{00FF00}FBI Rancher {FFFFFF}- 5,500,000$",2500);
ShowPlayerDialog(playerid,851,DIALOG_STYLE_LIST,"{FFFFFF}Cars",catstrcar,"чрййд","йцйад");
}
return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == 851)
    {
        if(!
response) return true;
        switch(
listitem)
        {
            case 
0BuyVehicle(playerid250000400"Landstalker");
            case 
1BuyVehicle(playerid250000401"Bravura");
            case 
2BuyVehicle(playerid500000402"Buffalo");
            case 
3BuyVehicle(playerid250000404"Perenniel");
            case 
4BuyVehicle(playerid250000405"Sentinel");
            case 
5BuyVehicle(playerid250000410"Manana");
            case 
6BuyVehicle(playerid250000412"Voodoo");
            case 
7BuyVehicle(playerid500000415"Cheetah");
            case 
8BuyVehicle(playerid250000419"Esperanto");
            case 
9BuyVehicle(playerid250000421"Washington");
            case 
10BuyVehicle(playerid250000422"Bobcat");
            case 
11BuyVehicle(playerid250000424"BF Injection");
            case 
12BuyVehicle(playerid250000426"Premier");
            case 
13BuyVehicle(playerid1000000429"Banshee");
            case 
14BuyVehicle(playerid250000436"Previon");
            case 
15BuyVehicle(playerid250000439"Stallion");
            case 
16BuyVehicle(playerid400000444"Monster");
            case 
17BuyVehicle(playerid250000445"Admiral");
            case 
18BuyVehicle(playerid250000458"Solair");
            case 
19BuyVehicle(playerid250000466"Glendale");
            case 
20BuyVehicle(playerid250000467"Oceanic");
            case 
21BuyVehicle(playerid350000567"Savana");
            case 
22BuyVehicle(playerid350000477"ZR-350");
            case 
23BuyVehicle(playerid500000502"Hotring Racer");
            case 
24BuyVehicle(playerid500000480"Comet");
            case 
25BuyVehicle(playerid500000506"Super GT");
            case 
26BuyVehicle(playerid1000000451"Turismo");
            case 
27BuyVehicle(playerid2000000411"Infernus");
            case 
28BuyVehicle(playerid1000000522"NRG-500");
            case 
29BuyVehicle(playerid300000521"FCR-900");
            case 
30BuyVehicle(playerid3000000541"Bullet");
            case 
31BuyVehicle(playerid2500000568"Bandito");
            case 
32BuyVehicle(playerid1500000470"Patriot");
            case 
33BuyVehicle(playerid750000471"Quad");
            case 
34BuyVehicle(playerid5000000481"BMX");
            case 
35BuyVehicle(playerid2500000510"Mountain Bike");
            case 
36BuyVehicle(playerid2500000463"FreeWay");
            case 
37BuyVehicle(playerid1750000534"Remington");
            case 
38BuyVehicle(playerid2000000545"Hustler");
              case 
39BuyVehicle(playerid6500000560"Sultan");
               case 
40BuyVehicle(playerid3500000565"Flash");
               case 
41BuyVehicle(playerid750000579"Huntley");
               case 
42BuyVehicle(playerid1000000589"Club");
               case 
43BuyVehicle(playerid2500000603"Phoenix");
               case 
44BuyVehicle(playerid4500000462"Faggio");
            case 
45BuyVehicle(playerid5500000490"FBI Rancher");
        }
    }
return 
1;
}
stock BuyVehicle(playeridpricevehicleid, const vname[])
{
    new 
string[256],stringS[256];
    if(
GetPlayerMoney(playerid) < price) return SendClientMessage(playeridCOLOR_RED"you dont have money");
    
GivePlayerMoney(playerid, -price);
    for(new 
i=1i<MAX_VEHICLESi++)
    {
    if(!
DOF2_FileExists(vFile(i)))
    {
    
DOF2_CreateFile(vFile(i));
    
format(stringS,sizeof(stringS),vname);
    
DOF2_SetString(vFile(i),"Name",stringS);
    
DOF2_SetInt(vFile(i),"Model",vehicleid);
    
DOF2_SetInt(vFile(i),"Price",price);
    
DOF2_SetFloat(vFile(i), "X"2477.0532);
    
DOF2_SetFloat(vFile(i), "Y"1570.2543);
    
DOF2_SetFloat(vFile(i), "Z"10.8203);
    
DOF2_SetFloat(vFile(i), "A",260.5233);
    
DOF2_SetInt(vFile(i),"Color1",0);
    
DOF2_SetInt(vFile(i),"Color2",0);
    
DOF2_SetString(vFile(i),"Owner",GetName(playerid));
    
DOF2_SetInt(vFile(i),"Nitro",0);
    
DOF2_SetInt(vFile(i),"Wheel",0);
    
DOF2_SetInt(vFile(i),"Hyd",0);
    
DOF2_SetInt(vFile(i),"Neon",0);
    
DOF2_SetInt(PlayerFile(playerid),"CarID",i);
    }
    }
    
CreateVehicle(vehicleid,DOF2_GetFloat(vFile(i),"X"),DOF2_GetFloat(vFile(i),"Y"),DOF2_GetFloat(vFile(i),"Z"),DOF2_GetFloat(vFile(i),"A"),0,0,-1);
    return 
1;
}
stock vFile(vehicleid)
{
    new 
FileV[256];
    
format(FileV,sizeof(FileV),"/Cars/%d.ini"vehicleid);
    return 
FileV;
}
stock GetName(playerid)
{
    new 
name[24];
    
GetPlayerName(playerid,name,24);
    return 
name;
}
stock PlayerFile(playerid)
{
    new 
AAA[256];
    
format(AAA,sizeof(AAA),"/UsersA/%s.txt"GetName(playerid));
    return 
AAA;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if(!
strcmp(cmdtext"/CallCar"true) || !strcmp(cmdtext"/CC"true))
    {
    
PutPlayerInVehicle(playeridDOF2_GetInt(PlayerFile(playerid),"CarID"), 0);
    return 
1;
    }
return 
0;

Reply
#2

just because you create a vehicle, doesn't mean it'll have the same id as it had last time

for example if there's no files called /Cars/1.ini, /Cars/2.ini and theres no vehicles on the server, but there is a /Cars/3.ini and you create it, it is now vehicleid 1
Reply
#3

But, how can I do it? Am I need open 46 files? and what am I write there?
There is a other way to do it that create a vehicle and you can called him and after GMX, you still can call the car. Thank you cessil.
Reply
#4

Up ?
Reply
#5

UP...??
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)