Szerző Téma: Nitró és lámpa hiba.  (Megtekintve 802 alkalommal)

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Nitró és lámpa hiba.
« Dátum: 2013. október 10. - 19:10:52 »
+1 Show voters
Üdv mindenkinek!
Az a problémám, hogy a nitrót, ha folyamatosan nyomom, egy idõ után elfogy, és csak akkor megy újra ha megint kattintok, ezt kellene
kiküszöbölni, hogy folyamatosan menjen, addig amíg nyomom.
A másik probléma, hogy multkor megcsináltam, hogy a lámpa a kocsin égjen nappal is.
Ezt úgy oldottam meg, hogy beraktam a ManualVehicleEngineAndLights; sort az ongamemode init alá, de ekkor nem indult be a kocsi, amikor bele
ültem. <- ezt is megcsináltam, az onplayerentervehicle dologgal...
DE A PROBLÉMA: Ha lekérek egy kocsit a /car vagy /v paranccsal, akkor ugye lehívtam a kocsit, alapból benne ülök, de a kocsi motorja nem
jár, csak akkor indul be ha kiszállok, és újra beülök...
Ez a jármûlehívó parancs:
 
dcmd_car(playerid, params[])
{
        new Index;
        new tmp[256];  tmp  = strtok(params,Index);
        new tmp2[256]; tmp2 = strtok(params,Index);
        new tmp3[256]; tmp3 = strtok(params,Index);
        if(!strlen(tmp)) return
        SendClientMessage(playerid, -1, \"{FFFFFF}[TDc] {375FFF}Használat: {FFFFFF}/car [modelid/jármûnév] [szín1] [szín2]\");
        new car;
        new string[128];
        new colour1, colour2;
        if(!IsNumeric(tmp))
        car = GetVehicleModelIDFromName(tmp);
        else car = strval(tmp);
        if(car < 400 || car > 611) return  SendClientMessage(playerid, -1, \"Hiba: Nincs ilyen jármû!\");
        if(car == 406 || car == 425 || car == 432 || car == 444 || car == 520 || car == 553 || car == 577 || car == 592) return SendClientMessage(playerid, -1, \"TILTOTT JÁRMÛ!\");
        if(car == 407 || car == 408) return SendClientMessage(playerid, -1, \"TILTOTT JÁRMÛ!\");
        if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
        if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
        if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
        new Float:X,Float:Y,Float:Z;
        new Float:Angle,int1;
        new LVehicleID = GetPlayerVehicleID(playerid);
        GetPlayerPos(playerid, X,Y,Z);
        GetPlayerFacingAngle(playerid,Angle);
        int1 = GetPlayerInterior(playerid);
        SpawnedVehicles[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
        new world = GetPlayerVirtualWorld(playerid);
        SetVehicleVirtualWorld(SpawnedVehicles[playerid], world);
        LinkVehicleToInterior(LVehicleID,int1);
        PlayerPlaySound(playerid,1085,0,0,0);
        PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0);
        format(string, sizeof(string), \"{FFFFFF}[TDc] {375FFF}Jármû lerakva! Név: %s | (Model ID: %d) | Szín1: %d, Szín2: %d\", VehicleNames[car-400], car, colour1, colour2);
        return SendClientMessage(playerid,-1,string);
}

 
Igyekeztem minél érthetõbben leírni a gondomat :) Remélem tudtok segíteni!
« Utoljára szerkesztve: 2013. október 10. - 19:15:39 írta ZyZu »

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Nitró és lámpa hiba.
« Válasz #1 Dátum: 2013. október 11. - 16:24:47 »
0 Show voters
Hali. Én ezt használom nitro fs-nek:
 
forward InfiniteNitro();
public OnFilterScriptInit()
{
SetTimer(\"InfiniteNitro\",2000,1);
return 1;
}
public InfiniteNitro()
{
    new vehicleid;
for(new i=0;i<MAX_PLAYERS;i++)
{
    if(IsPlayerConnected(i))
    {
        if(GetPlayerState(i)==2)
        {
            vehicleid=GetPlayerVehicleID(i);
          if(CheckVehicle(vehicleid))
      AddVehicleComponent(vehicleid,1010);
   }
}
}
return 0;
}

 
A másik, a lámpa dolog:
 
dcmd_car(playerid, params[])
{
        new Index;
        new tmp[256];  tmp  = strtok(params,Index);
        new tmp2[256]; tmp2 = strtok(params,Index);
        new tmp3[256]; tmp3 = strtok(params,Index);
        if(!strlen(tmp)) return
        SendClientMessage(playerid, -1, \"{FFFFFF}[TDc] {375FFF}Használat: {FFFFFF}/car [modelid/jármûnév] [szín1] [szín2]\");
        new car;
        new string[128];
        new colour1, colour2;
        new engine, lights, alarm, doors, bonnet, boot, objective;
if(!IsNumeric(tmp))
        car = GetVehicleModelIDFromName(tmp);
        else car = strval(tmp);
        if(car < 400 || car > 611) return  SendClientMessage(playerid, -1, \"Hiba: Nincs ilyen jármû!\");
        if(car == 406 || car == 425 || car == 432 || car == 444 || car == 520 || car == 553 || car == 577 || car == 592) return SendClientMessage(playerid, -1, \"TILTOTT JÁRMÛ!\");
        if(car == 407 || car == 408) return SendClientMessage(playerid, -1, \"TILTOTT JÁRMÛ!\");
        if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
        if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
        if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
        new Float:X,Float:Y,Float:Z;
        new Float:Angle,int1;
        new LVehicleID = GetPlayerVehicleID(playerid);
        GetPlayerPos(playerid, X,Y,Z);
        GetPlayerFacingAngle(playerid,Angle);
        int1 = GetPlayerInterior(playerid);
        SpawnedVehicles[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
        new world = GetPlayerVirtualWorld(playerid);
        SetVehicleVirtualWorld(SpawnedVehicles[playerid], world);
        LinkVehicleToInterior(LVehicleID,int1);
        PlayerPlaySound(playerid,1085,0,0,0);
        GetVehicleParamsEx(SpawnedVehicles[playerid], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(SpawnedVehicles[playerid], 1, 1, alarm, doors, bonnet, boot, objective);
        PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0);
        format(string, sizeof(string), \"{FFFFFF}[TDc] {375FFF}Jármû lerakva! Név: %s | (Model ID: %d) | Szín1: %d, Szín2: %d\", VehicleNames[car-400], car, colour1, colour2);
        return SendClientMessage(playerid,-1,string);
}
« Utoljára szerkesztve: 2013. október 11. - 16:27:38 írta BoOy »

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Nitró és lámpa hiba.
« Válasz #2 Dátum: 2013. október 11. - 17:51:53 »
+1 Show voters
A kocsi lekérõ dolog mûködik, köszönöm.
A nitrós dologgal kapcsolatban ezt az error-t kapom:
 
D:\\Egyéb Fájlok\\SaMp Dolgaim\\Szerverek\\NewTDC Project\\gamemodes\\TDC.pwn(3469) : error 017: undefined symbol \"CheckVehicle\"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Error.

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Nitró és lámpa hiba.
« Válasz #3 Dátum: 2013. október 13. - 11:09:18 »
0 Show voters
Ez talán megoldja a problémád: [FS] Unlimited Nitro script by boemeles

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Nitró és lámpa hiba.
« Válasz #4 Dátum: 2013. október 13. - 12:54:31 »
+1 Show voters
Idézetet írta: TwoClose date=1381655358\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43538\" data-ipsquote-contentclass=\"forums_Topic
Ez talán megoldja a problémád: [FS] Unlimited Nitro script by boemeles
 
Ez sem jó, mert ha elengedem a gombot, akkor a nitró megy tovább még pár másodpercig :/ és így nemlehet vele driftelni

Nem elérhető [sdc]skyline

  • 1333
  • ςκyΙιηε
    • Profil megtekintése
Nitró és lámpa hiba.
« Válasz #5 Dátum: 2013. október 13. - 13:46:05 »
0 Show voters
Még anno írtam.
 
#include <a_samp>
public OnFilterScriptInit()
{
print(\"\\n-----------------------------------\");
print(\"Nitro Script by SkyHD\");
print(\"-----------------------------------\\n\");
SetTimer(\"NitroReset\", 3000, 1);
return 1;
}
forward NitroReset();
public NitroReset()
{
for(new i = 0; i<MAX_PLAYERS; i++)
{
           new vehicle = GetPlayerVehicleID(i);
    AddVehicleComponent(vehicle, 1010);
}
}
public OnPlayerExitVehicle(playerid,vehicleid) RemoveVehicleComponent(vehicleid, 1010);
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER || !CheckNitro(GetPlayerVehicleID(playerid))) return false; else   if ((((newkeys & (4)) == (4)) && ((oldkeys & (4)) != (4)))) AddVehicleComponent(GetPlayerVehicleID(playerid), 1010); else if ((((newkeys & (4)) != (4)) && ((oldkeys & (4)) == (4)))) RemoveVehicleComponent(GetPlayerVehicleID(playerid), 1010);
return 1;
}
CheckNitro(vid)
{
    new NoNitro[] = { 522,481,441,468,448,446,513,521,510,430,520,476,463 };
for(new e = 0; e < sizeof(NoNitro); e++) if(GetVehicleModel(vid) == NoNitro[e]) return false;
return true;
}

 
E: Vagy ha így jobban tetszik..
 
#include <a_samp>
public OnFilterScriptInit()
{
print(\"\\n-----------------------------------\");
print(\"Nitro Script by SkyHD\");
print(\"-----------------------------------\\n\");
SetTimer(\"NitroReset\", 3000, 1);
return 1;
}
forward NitroReset();
public NitroReset()
{
for(new i = 0; i<MAX_PLAYERS; i++)
{
           new vehicle = GetPlayerVehicleID(i);
    AddVehicleComponent(vehicle, 1010);
}
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER || !CheckNitro(GetPlayerVehicleID(playerid)))
{
return 0;
}
else
if ((((newkeys & (4)) == (4)) && ((oldkeys & (4)) != (4))))
{
AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
}
else
if ((((newkeys & (4)) != (4)) && ((oldkeys & (4)) == (4))))
{
RemoveVehicleComponent(GetPlayerVehicleID(playerid), 1010);
}
return 1;
}
public OnPlayerExitVehicle(playerid,vehicleid)
{
RemoveVehicleComponent(vehicleid, 1010);
return 1;
}
CheckNitro(vid)
{
    new NoNitro[] = { 522,481,441,468,448,446,513,521,510,430,520,476,463 };
for(new e = 0; e < sizeof(NoNitro);   e++)
{
if(GetVehicleModel(vid) == NoNitro[e])
return 0;
}
return 1;
}
« Utoljára szerkesztve: 2013. október 13. - 14:00:19 írta ςκyΙιηε »

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Nitró és lámpa hiba.
« Válasz #6 Dátum: 2013. október 13. - 14:48:15 »
+1 Show voters
Müködik. Köszi

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal