Ü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 ... 9 10 [11] 12 13 ... 136
151



A TextDrawos dolgon túl akkor ha jól értem, azt szeretnéd, hogy ki/beszálláskor kiírja a motor állapotát, pl. chatre. Igaz? Ha igen, valami ilyesmit kéne összehoznod:
 

// Fejbõl írom, bocsi, ha pontatlan
public OnPlayerEnterVehicle(playerid, vehicleid)
{
     new engine, lights, alarm, doors, bonnet, boot, objective;
     GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
     if(engine == 0)
     {
           SendClientMessage(playerid, COLOR, \"A motor áll!\");
     }
     else
     {
           SendClientMessage(playerid, COLOR, \"A motor jár!\");
     }
     return 1;
}

 

[/quote]
 
Ha az OnPlayerEnterVehicle minden esetben meghívódna akkor még jó is lenne.
De ha már ott tartunk hogy meghívódik akkor van ott egy olyan rész hogy
 
OnPlayerEnterVehicle(playerid, vehicleid)[/quote]
Akkor nem kell a GetPlayerVehicleID-et használni alatta. :D

152
SA-MP / Open.mp: Szerverfejlesztés / Tömbös Teleport Rendszer
« Dátum: 2013. október 14. - 21:28:18 »
Ez így vicc nem?



                        case 0:
                               {
                               for( new i; i < sizeof( Teleportok ); i ++ )                            {
                           format( DialogString, sizeof( DialogString ), \"%s\\n{F70431}%s\" ,DialogString, Teleportok[ i ][ SCMTA ] );   }
                           ShowPlayerDialog( playerid , DIALOG_TELE , DIALOG_STYLE_LIST , \"Teleportok listája\", DialogString , \"Teleport!\" , \"Maradok!\" );
                               }       case 1:         {
               for( new i; i < sizeof( Teleportok ); i ++ )                            {
                           format( DialogString, sizeof( DialogString ), \"%s\\n{39F704}%s\" ,DialogString, Teleportok[ i ][ SCMTA ] );   }
                           ShowPlayerDialog( playerid , DIALOG_TELE , DIALOG_STYLE_LIST , \"Teleportok listája\", DialogString , \"Teleport!\" , \"Maradok!\" );
                               }

 
 
Csak azért duplán leírni mert a színezés változik véletlenszerûen kettõ szín közt?
 
CMD:t(playerid, params[])
{
new
DialogString[1024],
color[7];
color = (random(2))?(\"F70431\"):(\"39F704\");
for(new i; i < sizeof(Teleportok); i++ )
{
format(DialogString, sizeof DialogString, \"%s\\n{%s}%s\", DialogString, color, Teleportok[sCMTA] );  
}
ShowPlayerDialog(playerid, DIALOG_TELE, DIALOG_STYLE_LIST, \"Teleportok listája\", DialogString, \"Teleport!\", \"Maradok!\");
return 1;
}

 
Edit:
Javítva. :D

153
Segítségkérés / Számok összehasonlítása, majd a legnagyobb kiírása
« Dátum: 2013. október 10. - 19:55:59 »
#include <a_samp>
public
OnFilterScriptInit()
{
new
sort_value[6]; // 6 darab szám érték tárolásra
sort_value[0] = 1236;
sort_value[1] = 23;
sort_value[2] = 4536;
sort_value[3] = 976772;
sort_value[4] = 555555;
sort_value[5] = 2222;
HeapSort(sort_value);
printf(\"A legmagasabb szám a : %d\", sort_value[sizeof(sort_value) - 1]); // Ez esetben sort_value[5]
return 1;
}
stock HeapSort (array [], n = sizeof (array))
{
    new i;
    for (i = n / 2; i > 0; --i) // Generate Heap
        SiftDown (array, i, n);
    for (i = n; i > 1; --i)
    {
        Swap (array [i - 1], array
  • );

        SiftDown (array, 1, i - 1);
    }
}
static stock SiftDown (array [], i, m)
{
    new j;
    while (2 * i <= m)
    {
        j = 2 * i;
        if (j < m && array [j - 1] < array [j])
            ++j;
           
        if (array [i - 1] < array [j - 1])
        {
            Swap (array [i - 1], array [j - 1]);
            i = j;
        }
        else
            i = m;
    }
}
static stock Swap (&a, &b)
{
    new s;
    s = a;
    a = b;
    b = s;
}

155
Segítségkérés / Talaj és x pont közötti távolság
« Dátum: 2013. október 08. - 21:10:53 »
Nem tudom mivel én még sose használtam, de van belõle újabb változat is, ami nem plugin próbáld ki azokat is hátha pontosabb eredményt adnak.
http://forum.sa-mp.com/showthread.php?t=273263
http://forum.sa-mp.com/showthread.php?t=275492

156
Segítségkérés / Talaj és x pont közötti távolság
« Dátum: 2013. október 07. - 20:04:54 »
MapAndreas_FindZ_For2DCoord(Float:X, Float:Y, &Float:Z);
Lekérdezed egy adott helyen a pozíciót, pl.: GetPlayerPos.
Majd a kapott x illetve y koordinátát behelyettesíted a fenti funkcióba, az vissza fogja adni neked a talaj de lehet az épület z koordináta pontját is.
Ezután tudod kiszámolni mennyi a távolság a talajtól illetve a lekérdezett pozícióhoz képest.
 
new
    Float:x,
    Float:y,
    Float:z,
    Float:mapz;
GetPlayerPos(playerid, x, y, z);
MapAndreas_FindZ_For2DCoord(x, y, mapz);
new Float:eredmeny = floatdiv(z, mapz); // z - mapz = eredmeny
printf(\"%f\", eredmeny);

157
Segítségkérés / Talaj és x pont közötti távolság
« Dátum: 2013. október 07. - 18:46:24 »
Van erre a célra egy plugin:
http://forum.sa-mp.com/showthread.php?t=120013
De már páran felújították, keresgélj a hivatalos fórumon.
Alapból a sa-mp nem tartalmaz ilyen adatot, csak úgy tudod kiszámítani ha kettõ meghatározott pont áll rendelkezésedre.

158
Segítségkérés / strtok
« Dátum: 2013. október 06. - 21:22:35 »

159
Segítségkérés / Globális blokk létrehozása
« Dátum: 2013. október 05. - 21:30:29 »
Nincs kizárva, minden esetre várom hátha kitalálja mit is szeretne, de szerintem nem én leszek aki tudni fog neki segíteni még ma, mert lassan elteszem magam holnapra. :D

160
Segítségkérés / Globális blokk létrehozása
« Dátum: 2013. október 05. - 21:19:38 »
Direkt van. :D


Ez természetes dolog ha te egy véletlenszerû szám hatására más és mást szeretnél hogy történjen csakis a \"switch\" vagy az \"if, else if\" használata jöhet szóba, de még mindig nem tudom mit szeretnél létrehozni mivel a különbözõ dolgokra az elsõ posztban már írtál dolgokat hogyan próbáltad, hát úgy lehet és nincs egyszerûbb megoldás rá. :D
Edit2:
Mint ahogy a téma címe is adja Globalis tömb, egy globalis tömbben egy elõre meghatározott adat típusok mintáját követve lehet adatokat elhelyezni, mint mysql adatbázisban.
Ezeket persze lehet bõvíteni illetve törölni, de egy alap sablont adnak aminek mintáját követve új adatsort tudsz bennük elhelyezni.
Persze vannak trükkök, mert lehet ellenõrizni egyáltalán van-e adat benne és ha nincs akkor másképp cselekedjen a kód. De ez lenne már a túlbonyolítás ahogy említetted korábban. :D

161
Segítségkérés / Globális blokk létrehozása
« Dátum: 2013. október 05. - 21:10:59 »
Idézetet írta: Kovacs_Richard date=1380999770\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43394\" data-ipsquote-contentclass=\"forums_Topic


Jó tudni, csak én lusta vagyok megadni mert nincs kedvem számolgatni az adatsorokat ezért a fordítóra bízom a meghatározását. :D
 

new data = 3;

 
hogy is van ez? :D :P
 
[/quote]
Ja köss bele persze, én a több száz soros adatsorokra gondoltam nem egy pár soros példára. :D
@Dfoglalo
Átírtam a példát kicsit érthetõbbre számodra hátha látod benne azt amit szeretnél:
 
#include <a_samp>
enum
blabla
{
str1[128],
str2[128],
str3[128],
str4[128],
money,
Float:health
};
new
sokvalami[3][blabla] =
{
{ \"elsõ szöveg\", \"második szöveg\", \"harmadik\", \"negyedik\", 12, 0.3456 },
{ \"dselsõ szöveg\", \"msdsásodik szöveg\", \"hsdarmadik\", \"negyedik dsdas\", 342, 23.3456 },
{ \"dselsdsõ sdsadzöveg\", \"msdsásodik szösdsaveg\", \"hsdarmdsadadik\", \"negysdsdedik dsdas\", 342, 623.3456 }
};
new
adatsorokszama = sizeof(sokvalami);
stock // Ha nem SetTimerrel hívod meg akkor jó a stock is.
teszt(playerid, adatsorszam)
{
SendClientMessage(playerid, -1, sokvalami[adatsorszam][str1]);
SendClientMessage(playerid, -1, sokvalami[adatsorszam][str2]);
SendClientMessage(playerid, -1, sokvalami[adatsorszam][str3]);
SendClientMessage(playerid, -1, sokvalami[adatsorszam][str4]);
GivePlayerMoney(playerid, sokvalami[adatsorszam][money]);
SetPlayerHealth(playerid, sokvalami[adatsorszam][health]);
}
public OnPlayerSpawn(playerid)
{
teszt(playerid, random(adatsorokszama)); // Egyetlen egy sorral meghívhatod bárhol, az adatokat meg kedvedre bõvítheted az adattömbben és nem kell átírni sehol semmilyen más adatot.
return 1;
}

162
Segítségkérés / Globális blokk létrehozása
« Dátum: 2013. október 05. - 20:58:07 »
Épp ez az hogy nem tudni hogy te mit szeretnél létrehozni és emiatt nem lehet írni megfelelõt, egyébként ennél egyszerûbben nem tudod megírni mint ahogy leírtam.
A for ciklus az egészben csak teszt jelleggel szerepel.
A lényege a következõ:
Van egy adattömb melyet kedvedre lehet bõvíteni adattal.
Van egy eljárás mely végre hajtja ez esetben kiírja az adattömb adatait külön sorban.
És persze egyetlen egy sorral a for ciklusban meghívásra kerül az egész.
adat tömb: sokvalami[][blabla]
eljárás : stock teszt(adatsorszam)
és a használat:  teszt(2); 
Ennél egyszerûbben nem lehet létrehozni. :D
@Kovacs_Richard
Jó tudni, csak én lusta vagyok megadni mert nincs kedvem számolgatni az adatsorokat ezért a fordítóra bízom a meghatározását. :D

163
Segítségkérés / Globális blokk létrehozása
« Dátum: 2013. október 05. - 20:38:42 »
Nincs kedvem végig olvasni az egészet, de a fenti példát ki lehet egészíteni több adattal is.
És nem feltétlen szükség public funkció, hacsak nem SetTimer-rel akarod meghívni.
Mivel nem tudom mit szeretnél létrehozni ezért írtam egy újabb változatot hátha valami ilyesmire gondoltál:
 
#include <a_samp>
enum
blabla
{
str1[128],
str2[128],
str3[128],
str4[128],
cp,
Float:akarmi
};
 
new
sokvalami [] [blabla] =
{
{ \"elsõ szöveg\", \"második szöveg\", \"harmadik\", \"negyedik\", 12, 0.3456 },
{ \"dselsõ szöveg\", \"msdsásodik szöveg\", \"hsdarmadik\", \"negyedik dsdas\", 342, 23.3456 },
{ \"dselsdsõ sdsadzöveg\", \"msdsásodik szösdsaveg\", \"hsdarmdsadadik\", \"negysdsdedik dsdas\", 342, 623.3456 }
};
new
data = 3;   // Sajnos enum típusú adat tömbnél pawn-ban nem mûködik megfelelõen a sizeof így meg kell adni egy változóba az adatsorok számát.
 
stock // Ha nem SetTimerrel hívod meg akkor jó a stock is.
teszt(dat)
{
printf(\"%s\", sokvalami[dat][str1]);
printf(\"%s\", sokvalami[dat][str2]);
printf(\"%s\", sokvalami[dat][str3]);
printf(\"%s\", sokvalami[dat][str4]);
printf(\"%d\", sokvalami[dat][cp]);
printf(\"%f\", sokvalami[dat][akarmi]);
}
public OnFilterScriptInit()
{
for(new i; i < 10; i++) // Teszt for ciklus.
{
teszt(random(data));
}
return 1;
}

164
Segítségkérés / Globális blokk létrehozása
« Dátum: 2013. október 05. - 19:53:06 »
#include <a_samp>
new
szoveg[][] =
{
{ \"null\" },
{ \"egy\" },
{ \"kettõ\" },
{ \"három\" },
{ \"négy\" },
{ \"öt\" }
};
public OnFilterScriptInit()
{
for(new i; i < 10; i++) // Teszt for ciklus.
{
printf(\"A véletlen kapott szám : %s\", szoveg[ random(sizeof(szoveg)) ]);
}
return 1;
}

165
Leírások/Útmutatók / PAWN Notepad++ -ban
« Dátum: 2013. október 02. - 20:41:22 »
A pawncc.exe  paramétere.
 
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
Usage:   pawncc <filename> [filename...] [options]
Options:
         -A<num>  alignment in bytes of the data segment and the stack
         -a       output assembler code
         -C[+/-]  compact encoding for output file (default=+)
         -c<name> codepage name or number; e.g. 1252 for Windows Latin-1
         -Dpath   active directory path
         -d<num>  debugging level (default=-d1)
             0    no symbolic information, no run-time checks
             1    run-time checks, no symbolic information
             2    full debug information and dynamic checking
             3    same as -d2, but implies -O0
         -e<name> set name of error file (quiet compile)
         -H<hwnd> window handle to send a notification message on finish
         -i<name> path for include files
         -l       create list file (preprocess only)
         -o<name> set base name of (P-code) output file
         -O<num>  optimization level (default=-O1)
             0    no optimization
             1    JIT-compatible optimizations only
             2    full optimizations
         -p<name> set name of \"prefix\" file
         -r[name] write cross reference report to console or to specified file
         -S<num>  stack/heap size in cells (default=4096)
         -s<num>  skip lines from the input file
         -t<num>  TAB indent size (in character positions, default=8)
         -v<num>  verbosity level; 0=quiet, 1=normal, 2=verbose (default=1)
         -w<num>  disable a specific warning by its number
         -X<num>  abstract machine size limit in bytes
         -XD<num> abstract machine data/stack size limit in bytes
         -\\       use \'\\\' for escape characters
         -^       use \'^\' for escape characters
         -;[+/-]  require a semicolon to end each statement (default=-)
         -([+/-]  require parantheses for function invocation (default=-)
         sym=val  define constant \"sym\" with value \"val\"
         sym=     define constant \"sym\" with value 0
Options may start with a dash or a slash; the options \"-d0\" and \"/d0\" are
equivalent.
Options with a value may optionally separate the value from the option letter
with a colon (\":\") or an equal sign (\"=\"). That is, the options \"-d0\", \"-d=0\"
and \"-d:0\" are all equivalent.
[/quote]

Oldalak: 1 ... 9 10 [11] 12 13 ... 136
SimplePortal 2.3.7 © 2008-2026, SimplePortal