Ü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 - Game94

Oldalak: 1 ... 4 5 [6] 7 8 ... 27
76
Szkriptek / [REL] /lock, /unlock
« Dátum: 2011. December 30. - 17:00:43 »
Ezzel a script-el a jármûvek ajtaját lehet nyitni/zárni
 
function onPlayerDisconnect(playerid, reason)
{
oldvehicleid[playerid] = false;
return 1;
}
addEvent(\"playerDisconnect\", onPlayerDisconnect);
function onPlayerEnterVehicle(playerid, vehicleid, seatid)
{
if(seatid == 0 && oldvehicleid[playerid] != false && oldvehicleid[playerid] != vehicleid && getVehicleLocked(oldvehicleid[playerid]).tointeger() == 1)
{
setVehicleLocked(oldvehicleid[playerid], 0);
if(getVehicleLocked(oldvehicleid[playerid]) == 0)
{
   oldvehicleid[playerid] = vehicleid;
   sendPlayerMessage(playerid, \"Amelyik jármûbõl utoljára kiszálltál, automatikusan kinyílik neked!\", White);
}
}
if(seatid == 0)
{
oldvehicleid[playerid] = vehicleid;
}
return 1;
}
addEvent(\"playerEnterVehicle\", onPlayerEnterVehicle);
function onPlayerCommand(playerid, command)
{
local cmd = split(command, \" \");
if(cmd[0] == \"/lock\")
{
local vehicleid = getPlayerVehicleId(playerid);
if(isPlayerInAnyVehicle && getPlayerSeatId (playerid) == 0)
{
   setVehicleLocked(vehicleid, 1);
   sendPlayerMessage(playerid, \"A jármû bezárva!\", White);
}
return 1;
}
if(cmd[0] == \"/unlock\")
{
local vehicleid = getPlayerVehicleId(playerid);
if(isPlayerInAnyVehicle && getPlayerSeatId (playerid) == 0)
{
   setVehicleLocked(vehicleid, 0);
   sendPlayerMessage(playerid, \"A jármû kinyitva!\", White);
}
if(oldvehicleid[playerid] != false)
{
   if(getVehicleLocked(oldvehicleid[playerid]) == 1)
   {
      setVehicleLocked(oldvehicleid[playerid], 0);
      sendPlayerMessage(playerid, \"A jármû kinyitva!\", White);
   }
}
return 1;
}
return 0;
}
addEvent(\"playerCommand\", onPlayerCommand);

 
A scriptet nem én készítettem, csak lefordítottam.
A script készítõje: THE[GOD]FATHER

77
Leírások/Útmutatók / [Függvény] getPlayerHealth
« Dátum: 2011. December 30. - 17:00:08 »
float getPlayerHealth ( int playerid )

 
Paraméterek:
 -int playerid - A játékos id-jét kell megadni egész számmal
Visszaadott érték:
 -A játékos életét adja vissza tizedet törtben
Példa:
 
function onPlayerEnterVehicle( playerid, vehicleid, seatid )
{
    sendMessageToAll(\"Beszálltál egy jármûbe. Életerõd: \" + getPlayerHealth(playerid));
    return true;
}
addEvent(\"playerEnterVehicle\", onPlayerEnterVehicle);

78
Leírások/Útmutatók / [Függvény] setPlayerHealth
« Dátum: 2011. December 30. - 16:59:14 »
bool setPlayerHealth ( int playerid, int health )

 
Paraméterek:
 -int playerid - a játékos id-jét kell megadni egész számmal
 -int health - az új élet értékét kell megadni egész számmal
Visszaadott érték:
Ha sikeresen beállítja a játékos életét akkor true (igaz) értéket ad vissza, ha nem sikerül akkor false (hamis) értéket ad vissza.
Példa:
 
function onPlayerEnterVehicle( playerid, vehicleid, seatid )
{
    if(getPlayerHealth(playerid) < 100) setPlayerHealth(playerid, 100);
    return true;
}
addEvent(\"playerEnterVehicle\", onPlayerEnterVehicle);

79
Leírások/Útmutatók / [Függvény] getPlayerName
« Dátum: 2011. December 30. - 16:58:41 »
string getPlayerName ( int playerid )

 
Ezzel a függvénnyel egy megadott id-jû játékos nevét kérhetjük le.
Paraméterek:
 -int playerid (azaz a játékos id-je egész számmal megadva)
Visszaadott érték:
 -A játékos nevét adja vissza
Példa:
 
function onPlayerConnect(playerid)
{
    sendMessageToAll(getPlayerName(playerid) + \" [iD: \" + playerid + \"] felcsatlakozott a szerverre\");
}
addEvent(\"playerConnect\", onPlayerConnect);

80
Leírások/Útmutatók / [Függvény] isPlayerConnected
« Dátum: 2011. December 30. - 16:58:14 »
bool isPlayerConnected ( int playerid )

 
 Ezzel a függvénnyel le lehet ellenõrizni hogy az adott id-jû játékos csatlakozva van-e a szerverhez, vagy nem
Paraméterek:
 -int playerid (azaz a játékos id-je egész számmal megadva)
Visszaadott érték:
 -Lehet igaz (true), vagy hamis (false). Ha a játékos csatlakozva van igaz, ha nem akkor hamis

81
Leírások/Útmutatók / Csatlakozási/Lecsatlakozási üzenet
« Dátum: 2011. December 30. - 16:53:00 »
Felcsatlakozás
 
function onPlayerConnect(playerid)
{
    sendMessageToAll(getPlayerName(playerid) + \" felcsatlakozott a szerverre\", 0x33AA3300);
}
addEvent(\"playerConnect\", onPlayerConnect);

 
Az onPlayerConnect callback alatt lévõ sorok akkor futnak le amikor valaki felcsatlakozik a szerverre.
A sendMessageToAll-al elküldjük azt az üzenetet hogy xy felcsatlakozott a szerverre.
A getPlayerName(playerid)-vel lekérdezzük a felcsatlakozott játékosnak a nevét, majd egy + (plusz) jellel hozzáfûzzük a szöveghez.
Azt tudni kell a a sendMessage-rõl hogy a szöveget \"\" (idézõjel-ek) közé kell tenni. De ha pl egy változót akarunk kiíratni akkor azt hozzá kell fûzni a szöveghez egy + jellel. (A változót nem kell idézõjelek közé tenni!). A szöveg után vesszõvel elválasztva a szín RBG kódját kell írni.
És végül az addEvent azért kell hogy mûködjön az onPlayerConnect funkció.
Lecsatlakozás
 
function onPlayerDisconnect(playerid, reason)
{
    if(!reason) sendMessageToAll(getPlayerName(playerid) + \" lecsatlakozott a szerverrõl\", 0x33AA3300);
    else if(reason) sendMessageToAll(getPlayerName(playerid) + \" kifagyott\", 0x33AA3300);
}
addEvent(\"playerDisconnect\", onPlayerDisconnect);

 
Itt most nem fogok mindent megint leírni, csak az új dolgokat.
Az onPlayerDisconnect funkciónak van egy olyan paramétere hogy reason. Pl ha valaki crashel, akkor ezzel ki tudjuk írni hogy crash miatt hagyta el a szervert.
De ebben van már elágazás, az \"if\" és \"else if\". Az if jelentése: \"ha\". Az else segítségével létre tudunk hozni több ágat.
Az else elõtti felkiáltójelet operátornak nevezzük és ezt akkor használjuk ha le akarjuk ellenõrizni hogy a feltétel nem teljesült.
Az elsõ sor ezt jelenti: ha a reason nem teljesül akkor kiírja az üzenetet
Második sor: ellenkezõleg, ha teljesül akkor kiírja az üzenetet.
Röviden ennyi lett volna, remélem érthetõ volt :)

82
Leírások/Útmutatók / /kill parancs
« Dátum: 2011. December 30. - 16:52:26 »
function onPlayerCommandText(playerid, commandtext)
{
    if(commandtext == \"/kill\")
    {
        SetPlayerHealth(playerid, 0);
    }
    return 0;
}

 
Az onPlayerCommandText funkció segítségével lehet parancsokat létrehozni.
 
if(commandtext == \"/kill\")

 
Ebben a sorban láthatjuk a parancs nevét. Leellenõrizzük hogy commandtext egyenlõ-e a /kill-el és ha igen akkor lefut a parancs. Ezen sok mindent nem kell magyarázni, a /kill helyére csak be kell írni a parancs nevét.
A következõ sorban a SetPlayerHealth-al 0-ra állítjuk a játékos életét, azaz megöljük.
Láthatjuk hogy a funckió végén van egy return 0; visszatérés. Az mindenképpen kell a végére hogy mûködjenek a parancsok. (Nem kell mindegyik parancs után, csak a legvégére!)

83
Leírások/Útmutatók / /givecash parancs
« Dátum: 2011. December 30. - 16:51:59 »
function onPlayerCommand(playerid, command)
{
    local cmd = split(command, \" \");
    if(cmd[0] == \"/givecash\")
    {
        if(cmd.len() != 3) {
            sendPlayerMessage(playerid, 0xFFFFFFAA, \"Használat: /givecash [id] [összeg]\");
            return 1;
        }
        local id = cmd[1].tointeger();
        local osszeg =  cmd[2].tointeger();
        if(!isPlayerConnected(id)) {
            sendPlayerMessage(playerid, 0xFFFFFFAA, \"Hibás ID!\");
            return 1;       
        }
        givePlayerMoney(id, osszeg);
        givePlayerMoney(playerid, -osszeg);
       
        sendPlayerMessage(playerid, 0xFFFFFFAA, \"Adtál \" + getPlayerName(playerid) + \"-nek \" + osszeg + \"$-t\");
        sendPlayerMessage(id, 0xFFFFFFAA, \"Kaptál\" + getPlayerName(playerid) + \"-tõl\" + osszeg + \"$-t\");
        return 1;
    }
    return 0;
}
addEvent(\"playerCommand\", onPlayerCommand);

 
Most azért csináltunk egy ilyen parancsot hogy lássátok hogy hogyan kell olyan parancsot csinálni amiben van szóköz is.
Elõször is a slipt paranccsal elválasszuk egymástól a szavakat. Ez így válassza el egymásól a szavakat pl:
\"ez egy szöveg\"
Most ezt a szöveget fogjuk darabolni és eltárolni egy változóban. A változóban úgy fogja sorban eltárolni ahogy sorba jönnek a szóközök. Pl eltároljuk a \"szavak\" nevû változóban:
szavak[0]-ban lesz az \"ez\"
szavak[1]-ben lesz az \"egy\"
szavak[2]-ben lesz a \"szöveg\"
A cmd.len()-el leellenõrizzük hogy hány tagból áll a parancs amit beírt a játékosunk, ha túl rövid akkor kiírjuk neki hogyan kell használni a parancsot.
A local id-ben eltároljuk a második paramétert a parancsból, azaz az id-t, az osszeg-ben, meg az összeget.
Az isPlayerConnected-el leellenõrizzük hogy a megadott játékos fent van-e a szerveren. Azért kell elé a felkiáltójel, mert így azt jelenti hogy: ha a játékos NINCS a szerveren akkor kiírja neki a szöveget.
Ha nem lenne ott a felkiáltójel akkor ezt jelentené: ha a játékos fent van a szerveren akkor kiírja az üzenetet.
Most oda kell adni az egyiknek és elvenni a másiktól a pénzt. Ezt a givePlayerMoney-al tehetjük meg.
Mivel az id nevû változóban tároljuk azt a számot akinek utalni akarja a pénzt, ezért adjuk az \"id\"-nek a pénzt és vesszük el a \"playerid\"-tõl a pénzt.
És már csak a szöveg maradt amit kiírunk mindkét játékosnak, de ezen szerintem nincs mit magyarázni.
Remélem minden érthetõ :)

84
Segítségkérés / texdraw helyezés
« Dátum: 2011. December 30. - 16:48:40 »
Tessék:
http://forum.sa-mp.com/showthread.php?t=117851&highlight=textdraw+editor
Rcon admin ként mûködik, /text paranccsal.

85
Segítségkérés / Gamemod betöltés
« Dátum: 2011. December 30. - 15:05:23 »
De még most se találja..
.so akkor kell a végére ha Linux-ról fut a szervered, .dll meg nem kell a végére, mert ha windowsról fut akkor csak a fájl nevét kell beírni.

86
Segítségkérés / Gamemod hiba(??)
« Dátum: 2011. December 30. - 15:03:20 »
Bemásolhatnád a sorokat amire hibát ír :)
Egyébként a második az azt jelenti hogy nincs létrehozva a GetPointDistanceToPointExMorph

87
Segítségkérés / Gamemod hiba(??)
« Dátum: 2011. December 30. - 14:44:38 »
Nem értem hogy nem vehettétek észre hogy nincs meg a második idézõjel :D
Tessék, így jó lesz :
[pawn]SendClientMessage(playerid, COLOR_WHITE, \"TIPP: /buylic parancs az engedély megvásárlásához\");[/pawn]

88
Tessék
[pawn]#include <a_samp>
#pragma tabsize 0
#if defined FILTERSCRIPT
#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_SPAWN 0xFF8C55FF
#define COLOR_LIGHTBLUE 0x6DC5F3FF
#define COLOR_ADMIN 0xFF0000FF
#define COLOR_SAY 0x2986CEFF
#define COLOR_SYSGREY 0xC6BEBDFF
#define COLOR_BLACK 0x000000FF
#define COLOR_JOIN 0x74E80099
#define COLOR_WARN 0xBE615099
#define COLOR_RACE 0x00BBBB99
#define COLOR_KRED 0xFF0000FF
#define COLOR_TELENARANCS 0xff664cff
#define COLOR_SZABÁLY 0xca88ffff
#define COLOR_ME4 0xffffc8ff
#define COLOR_KILL 0xe62740ff
#define COLOR_TELESÁRGA 0xd8ff00ff
#define COLOR_ÉLETFIX 0x00b46dff
#define COLOR_POZÍCIÓ 0xffffb1ff
new curPlayerVehM[MAX_PLAYERS]   = {MIN_VEHI_ID, ...}; // Current Player Vehicle ID
new curPlayerVehI[MAX_PLAYERS]   = {-1, ...};
new by, Shika;
enum CURVEHICLE {
   bool:spawn,
   vmodel,
   vInt
};
new curServerVehP[MAX_VEHICLES][CURVEHICLE];
new PlayerVehI[MAX_PLAYERS];
new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];
public OnFilterScriptInit()
{
   print(\"*******************************\");
   print(\"*   GraffitiStunt             *\");
   print(\"*******************************\");
   return 1;
}
public OnFilterScriptExit()
{
   return 1;
}
#else
main()
{
   print(\"*******************************\");
   print(\"*   GraffitiStunt             *\");
   print(\"*******************************\");
}
#endif[/pawn]

89
Pedig egyszerû. Rosszul van tabolva, szóval nem ütöttél a sor elõtt tab-ot és így a sor legelején kezdõdik. Tedd be ezt a módod elejére, az inc-k után és nem fog errort írni:
 
#pragma tabsize 0

 
A másodikra ennyi a megoldás:
[pawn]new by, Shika;[/pawn]
A harmadikat ennél jobban nem tudom elmagyarázni.

90
Segítségkérés / Checkpointok
« Dátum: 2011. December 30. - 11:19:54 »
Persze, ennek pont ez a lényege :D
Beírja h /munka, akkor beállítod a változó értékét 1-re és megjeleníted neki a CP-t.
Amikor belemegy a CP-be (OnPlayerEnterCheckpoint asszem így van leírva.. :D ) akkor leellenõrzöd if() -el hogy mekkora a a játékos változójának az értéke, megjeleníted neki a CP-t és növeled az értékét 1-et, így a következõ CP-nél kettõ az értéke és így azt a CP-t fogja megjeleníteni amit te akarsz.

Oldalak: 1 ... 4 5 [6] 7 8 ... 27
SimplePortal 2.3.7 © 2008-2024, SimplePortal