Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Üzenetek - Zsolesszka

Oldalak: 1 ... 13 14 [15] 16 17 ... 136
211
Segítségkérés / Streamer hiba..
« Dátum: 2013. augusztus 16. - 14:53:12 »
Idézetet írta: JBauer date=1376642874\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41417\" data-ipsquote-contentclass=\"forums_Topic
A streamer.inc-et kell frissíteni.
 
Az a_objects.inc-t kell frissíteni.
És persze egyértelmûen az összes alap függvénykönyvtárat kell frissíteni, mert ha ez korábbi verzió akkor a többi is az.
http://sa-mp.com/download.php

212
Segítségkérés / timer
« Dátum: 2013. augusztus 16. - 14:45:03 »
Egyszerûen kell ezt megvalósítani, nem ennyire bonyolultan:


Idézetet írta: BoOy date=1376598151\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41392\" data-ipsquote-contentclass=\"forums_Topic
Megcsináltam neked SendClientMessage-be! Remélem tudni fogod tovább.
 
new count[MAX_PLAYERS];
new Tajmer[MAX_PLAYERS];
CMD:start(playerid)
{
Tajmer[playerid] = SetTimerEx(\"Timerke\",1000,1,\"i\",playerid);
return 1;
}
forward Timerke(playerid);
public Timerke((playerid)
{
new string[128];
if(count[playerid] == 100)
{
    format(string,sizeof(string),\"%d/100\",count[playerid]);
    SendClientMessage(playerid,-1,string);
KillTimer(Tajmer[playerid]);
count[playerid] = 0;
}
else
{
count[playerid]++;
format(string,sizeof(string),\"%d/100\",count[playerid]);
    SendClientMessage(playerid,-1,string);
}
return 1;
}

 


Valahogy így:
 
forward p_count(playerid, start, end, repeating); // ide írhatnák nevet de minek? :D
public p_count(playerid, start, end, repeating)
{
new
str[32];
format(str, sizeof str,\"%d/%d\", start, end);
SendClientMessage(playerid, -1, str); // print(str);
if(start < end) SetTimerEx(\"p_count\", repeating, false, \"dddd\", playerid, ++start, end, repeating);
return 1;
}

 
 8)  ;D
Igaz még lehetne variálni egy kicsit hogy egy plusz adattal kapcsolni lehessen azt is hogy visszafelé számoljon, de azt meghagyom már másnak.

213
SA-MP / Open.mp: Szerverfejlesztés / Jármû Lámpa Script
« Dátum: 2013. augusztus 15. - 07:48:29 »
Idézetet írta: citromhun date=1376508290\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41348\" data-ipsquote-contentclass=\"forums_Topic




Név: Jármû Lámpa Script

Kategória: CODE


Segített: ZyZu (Egy apróságba  ;) )


Készítette: citromhun


Készítési idõ: 1-2 perc

 
 
#include <                               a_samp                                >
enum vAdat { LAMPA }
new vInfo[ MAX_VEHICLES ][ vAdat ];
new vehicleid;
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define NARANCS    0xff8c00AA
public OnPlayerKeyStateChange( playerid, newkeys, oldkeys )
{
    new engine, lights, alarm, doors, bonnet, boot, objective;
if( PRESSED( KEY_SUBMISSION ))                                             {
    if( IsPlayerInAnyVehicle( playerid ))                                      {
      if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )                    {
    if( vInfo[ vehicleid ][ LAMPA ] == 0 )                                     {
        GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,1,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, NARANCS, \"Felkapcsoltad a lámpát!\");
    vInfo[vehicleid][LAMPA] = 1;
    }                                  else                                {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,0,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, NARANCS, \"Lekapcsoltad a lámpát!\");
    vInfo[vehicleid][LAMPA] = 0;
}                      }                       }                       }
return 1;
}

 
 
Nem csak hogy egyszerûbben, hanem mûködõképesen is meg lehet írni.
A vehicleid értékének lekérése hol marad?
 
vehicleid = GetPlayerVehicleID(playerid);

 
Ui.:
Ez annak az eredménye egyébként hogy \"Készítési idõ: 1-2 perc\" miért nem inkább 10 vagy 20?
Legalább jutna idõ tesztelésre is, és tényleg mûködõképes szkript kerülne ki a fórumra.
Ennek a válasznak is a megfogalmazása több idõt vett el nekem mint 1 - 2 perc, fõleg hogy figyelem azt is mit jelez helyesírási hibának a böngészõm miközben gépelek.  :D
Aki meg nagy mellénnyel ráírja hogy õ neki sokkal kevesebb idõ is elég, vagy nagy kocka, vagy sík hülye hozzá. És miért nem írta már ki a fórumra a mûvét?


Edit1:
Hamar megírtam egy változatot, teszteltem is egy kicsit, talán nincs benne hiba:
 
#include <a_samp>
new
bool:vehicle_lights[MAX_VEHICLES];  // persze azt figyelembe véve hogy talán: az összes jármû világítása nincs bekapcsolva, vagyis másik szkript nem foglalkozik a be - kikapcsolásával!
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public
OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_SUBMISSION))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
   new
      vehicleid = GetPlayerVehicleID(playerid),
      engine, alarm, doors, bonnet, boot, objective;
   vehicle_lights[vehicleid] = !vehicle_lights[vehicleid];
   GetVehicleParamsEx(vehicleid, engine,
      alarm, // ···· egy változó csökkentése ···· lights
      alarm,
   doors, bonnet, boot, objective);
   SetVehicleParamsEx(vehicleid, engine,
      vehicle_lights[vehicleid], // !!!
   alarm,doors,bonnet,boot,objective);
   SendClientMessage(playerid, 0xff8c00AA, (vInfo[vehicleid])?(\"Felkapcsoltad a lámpát!\"):(\"Lekapcsoltad a lámpát!\"));
}
return 1;
}
return 1;
}

214
Segítségkérés / Darabolás...
« Dátum: 2013. augusztus 09. - 20:51:57 »
Elég nehéz dolgot szeretnél létrehozni, és mint látom textdraw-ban próbálod ami köztudottan szerver összeomlást okoz ha páratlanul szerepel benne a hullám jel (~).
Így nem csak a sortöréssel kell foglalkozni hanem azzal is hogy a bevitt karakterlánc nem tartalmazhat ilyen jelet ellenkezõ esetben módosítani kell azt is, vagy javítani.
Közben ezt találtam:
http://sampforum.hu/index.php?topic=38722.0
De az elv a következõ lenne:
Meg kell határoznod mennyi legyen a maximális karakterszám majd onnantól visszafelé meg kell keresni a szóközt majd kettévágni az eredeti karakterláncot ott és hozzáírni az elsõ félhez most épp textdrawban a ~n~ jeleket. Majd ismét folytatni a darabolást a másik féllel.
Persze itt is annyi a gond ha valaki nem használ szóközt és beírja például ezt: dsadlkajhnmdsxlandhzolsauidzbvlhflsduzfbahudalkjhdxna876tzdsadhi984dlkjlasd98743589u7nc94834
Persze itt meg lehetne azt is tenni hogy a maximálisan meghatározott karakterláncnál darabolná.

215
Segítségkérés / RemoveAttachedObjectFromVehicle?
« Dátum: 2013. augusztus 07. - 14:39:20 »
Idézetet írta: SkyLinE date=1375874610\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40954\" data-ipsquote-contentclass=\"forums_Topic
Én használok és egy másik objectet szeretnék rárakni.
 
Akkor rosszul használod mert amit levenni szeretnél a jármûrõl azt ha vissza teszed, teljesen érthetõ hogy rajta marad.
Több object a jármûvön már csak rajtad múlik,
 
#define MAX_ATTACHED_OBJECTS 10
new AttachObject[MAX_VEHICLES][MAX_ATTACHED_OBJECTS];
// Ide már for ciklus is kell mivel ellenõrizni kell létezik-e az adott object tárolva valamelyik cellában, ha igen ha nem, akkor az meg ez történjen.

 
amúgy fõposztban ez a kérés nem szerepelt, és mivel se köszönöm se semmi nincs csak újabb és újabb kérések meg kötözködések, szal ebbe a témában meg ez volt az utolsó hozzászólásom.

216
Segítségkérés / RemoveAttachedObjectFromVehicle?
« Dátum: 2013. augusztus 07. - 12:56:23 »
Idézetet írta: anorennia date=1375870786\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40954\" data-ipsquote-contentclass=\"forums_Topic
Nem értem..
Mért ne lenne logikus?!
 
Az hogy létrehozod az objectet, ráteszed a jármûre, törlöd az objectet, majd újra létrehozod az objectet, és rajt marad a jármûvön anélkül hogy rátennéd.
pawn kódban:
 
CreateObject(..
AttachObjectToVehicle(...
DestroyObject(...
CreateObject(...

 
Mert ti végig azt állítottátok hogy rajt marad.
 

 

Hozd létre újra mikor törlöd és úgy tûnik majd mintha csak levetted volna.
Csak egy kis logika. :D
 
[/quote]
 
Igen ezt így csináltam, csak utána úgy érzékeli, hogy még mindig rajta van az az adott dolog.
 
[/quote]
 

Létrehoztunk egy objectet hozzá illesztettük a kocsihoz
Mi az objectet töröljük és nem a kocsiról, szóval logikus, ha újra létrehozod megint rajta lesz. :D
 
[/quote]
Nem, nem lesz rajt csak akkor ha az object létrehozása után újból használjátok az AttachObjectToVehicle funkciót!

217
Arra gondoltam hogy szerver összeomláskor lehet hogy a mysql szerver azt képes érzékelni hogy megszakadt a kapcsolat így akik fent voltak játszani azoknak szerver induláskor valahogy korrigálni lehet az eltöltött idõt.
Ehhez persze menteni kell játékos csatlakozáskor mondjuk az users táblán hogy csatlakozott majd mikor indul a samp szerver azoknak javítani az eltöltött idõt majd törölni az online állapotukat az users táblán, ha ezt sikerül megoldani akkor maradhat lecsatlakozáskor az eltöltött idõ mentése és nem okoz gondot a szerver összeomláskor kiesett idõ.
Na majd ha unatkozok utána nézek ennek, de az se baj ha valaki elõ áll egy kipróbálható verzióval. :D

218
Segítségkérés / RemoveAttachedObjectFromVehicle?
« Dátum: 2013. augusztus 07. - 12:08:48 »
Idézetet írta: anorennia date=1375803539\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40954\" data-ipsquote-contentclass=\"forums_Topic
Létrehoztunk egy objectet hozzá illesztettük a kocsihoz
Mi az objectet töröljük és nem a kocsiról, szóval logikus, ha újra létrehozod megint rajta lesz. :D
 
Kurvára nem logikus.
Én kipróbáltam hogy törlöm és újra létrehozom az objectet és nem marad rajt, lehet ti más sa-mp verziót használtok másra nem tudok gondolni.
 
new SzirenaObject[MAX_VEHICLES];
 
CMD:felrak(playerid, params[])
{
new
VID = GetPlayerVehicleID(playerid);
if(VID)
{
if(SzirenaObject[VID] != -1) DestroyObject(SzirenaObject[VID]);
SzirenaObject[VID] = SzirenaObject[VID] = CreateObject(18646, 0.0, 0.0, 0.0, 0, 0, 0);
AttachObjectToVehicle(SzirenaObject[VID], VID, 0.0, 0.75, 0.275, 0.0, 0.1, 0.0);
}
return 1;
}
CMD:levesz(playerid, params[])
{
new
VID = GetPlayerVehicleID(playerid);
if(VID)
{
DestroyObject(SzirenaObject[VID]);
SzirenaObject[VID] = -1;
new
   Float:vx,
   Float:vy,
   Float:vz;
GetVehiclePos(VID, vx, vy, vz);
SzirenaObject[VID] = CreateObject(18646, vx, vy, vz + 0.5, 0, 0, 0);
}
return 1;
}

219
Fórum Archívum (Témák/Fórumok) / Re:Jármû meghibásodás..
« Dátum: 2013. augusztus 06. - 15:45:53 »
Idézetet írta: Packman date=1375795846\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41019\" data-ipsquote-contentclass=\"forums_Topic
Ebben mit nem lehet elolvasni?
Holnap ùjraírom
Hol talàltàl helyesíràsi hibàt?
 
Nézd meg rendes internetrõl az írásod (számítógépen), ne csak telefonról. :D

220
Segítségkérés / hp le!
« Dátum: 2013. augusztus 06. - 15:44:55 »
@anorennia
Miért nem nézed meg azt a kódot amit írtam?
A HPTIMER_PLR[playerid] -el jelölt cella értékét egyre állítod majd ezt használod fel a lekérésénél:
GetPlayerHealth(HPTIMER_PLR szerinted mûködni fog?

Meg minek az 500 darab változó egy funkción belül mikor egyenként végig megy a játékosokon a for ciklus (new Float:HP[MAX_PLAYERS];) ?


Ui.:


Na jó nem idegesítem magam, ez volt az utolsó hozzászólásom ebben a témában.

221
Segítségkérés / hp le!
« Dátum: 2013. augusztus 06. - 14:34:46 »
Idézetet írta: Xeon date=1375780304\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40969\" data-ipsquote-contentclass=\"forums_Topic
Elnézést, hogy beleszólok, de ez így nem csak akkor fog mûködni, ha egyik játékos sebzi meg a másikat? Tehát ha leesik stb., akkor nem lesz jó.
 
Hát teszteld le, nekem ezekre nincs már idõm hogy kiderítsem mely esetekben kerül meghívásra melyekben nem, mert hát ez a samp programozójának a ****ja hogy ezer visszahívás kell olyasvalaminek ami egy visszahívásban is elférne.
Ha nem mûködik akkor meg kell próbálni átírni ide:
http://wiki.sa-mp.com/wiki/OnPlayerTakeDamage
valamelyik visszahívás csak beválik. :D

222
Segítségkérés / RemoveAttachedObjectFromVehicle?
« Dátum: 2013. augusztus 06. - 03:26:18 »
Idézetet írta: SkyLinE date=1375736079\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40954\" data-ipsquote-contentclass=\"forums_Topic
Igen ezt így csináltam, csak utána úgy érzékeli, hogy még mindig rajta van az az adott dolog.
 
Az se rossz akkor, mondjuk ezt ki kellene próbálnom hogy törlöm és rögtön létrehozom az objectet és az AttachObjectToVehicle használata nélkül is úgy érzékeli mintha rajta lenne, mert akkor az egy újabb samp bug (hiba). :D

223
Segítségkérés / OnPlayerUpdate helyett
« Dátum: 2013. augusztus 06. - 03:22:03 »
Hacsak annyi az nem sok.
Fájlba való mentés ne legyen, meg print illetve printf se, azok fájlba írnak, és az se jó ha tele floodolja a server_log fájlt, természetesen hiba keresés vagy mûködés tesztelésére szerepelhet benne csak ne maradjon ott, ha már minden megfelelõen mûködik.

224
Segítségkérés / hp le!
« Dátum: 2013. augusztus 06. - 03:17:19 »
Idézetet írta: anorennia date=1375744679\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40969\" data-ipsquote-contentclass=\"forums_Topic
kezdõnek mondanám magam inkább.. :/
Azért volt ott, hogy valaki belekössön...
rájöttem hogy miért nem jó ha minden igaz:
 
SetTimer(\"HPle\", 1000, true);   //1 másodpercenként fog lefutni a timer GameModeInit alá
new HPTIMER_PLR[MAX_PLAYERS];
forward HPle();
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
        new Float:HP[MAX_PLAYERS];
        GetPlayerHealth(damagedid, HP[damagedid]);
        if(HP <= 90)
        {
                HPTIMER_PLR[damagedid] = 1;
        }
        return 1;
}
public HPle()
{
        new Float:HP[MAX_PLAYERS];
        for(new i = 0; i < MAX_PLAYERS;i++)
        {
        if(HPTIMER_PLR == 1)
        {
                GetPlayerHealth(HPTIMER_PLR, HP);
                SetPlayerHealth(HPTIMER_PLR, HP-1);
        }
        }
        return 1;
}
CMD:ellatas(playerid, params[])
{
        HPTIMER_PLR[playerid] = 0;
        return 1;
}

 
KÖZBEN ÚJÍTOTTAM
 
Jajj.
De alakul alakul, csak még nem nagyon tudod mi minek van.  >:D
 
   SetTimer(\"HPle\", 1000, true);   //1 másodpercenként fog lefutni a timer OnGameModeInit alá
new bool:HPTIMER_PLR[MAX_PLAYERS];
forward HPle();
public
OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
new
   Float:HP;
GetPlayerHealth(damagedid, HP);
if(HP <= 90) /*if(floatcmp(90, HP) == 1)*/ { HPTIMER_PLR[damagedid] = true; }
return 1;
}
     
public
HPle()
{
new
   Float:HP;
for(new i = 0; i < MAX_PLAYERS;i++)
{
   if(IsPlayerConnected(i))
   {
      if(HPTIMER_PLR)
      {
         GetPlayerHealth(i, HP);  // floatsub(HP, -1.0); SetPlayerHealth(i, HP);
         SetPlayerHealth(i, HP - 1);
      }
   }
}
return 1;
}
     
CMD:ellatas(playerid, params[])
{
HPTIMER_PLR[playerid] = false;
return 1;
}

 
Persze nincs tesztelve, és lehetséges hogy a lebegõpontos értékek csökkentésénél és ellenõrzésénél floatsub illetve floatcmp használata szükséges.

225
Segítségkérés / széf hely változtatása!
« Dátum: 2013. augusztus 05. - 21:44:19 »
Hát nem ebben az idézett kód részletben.
Keress rá ezekre az értékekre:
19997
19996
19995
19994
Ezek a dialogid-k, és valószínû hogy valami ShowPlayerDialog funkcióban találod, na ott lehet az ami szabályozza hol jelenjen meg az meg ha minden igaz IsPlayerInRangeOfPoint eljárás lesz.

Oldalak: 1 ... 13 14 [15] 16 17 ... 136
SimplePortal 2.3.7 © 2008-2026, SimplePortal