GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Mike Freetown - 2015. június 13. - 14:22:20

Cím: Parancshoz szöveg és/vagy szám hozzárendelése
Írta: Mike Freetown - 2015. június 13. - 14:22:20
Sziasztok!
 
Egy kérdéssel fordulnék most hozzátok, mégpedig a kérdésem az lenne, hogy egy adott parancs után, hogyan tudnék úgy szöveget és/vagy számot írni, hogy azt egy kocsi textdraw-ba kiírja.
Írok egy példát, hogy érthetőbb legyen:
/dolog [szöveg] pl. /dolog asd
Járművön ezt írná ki: asd
Ha bárki, bárhogyan tud segíteni annak nagyon örülnék! :)
 
GameMasterHD
Cím: Parancshoz szöveg és/vagy szám hozzárendelése
Írta: blackdog476 - 2015. június 13. - 18:02:54
Szerintem te a 3DTextLabel-re gondoltál, méghozzá arra, hogy a kocsira kiírjon valami szöveget amit megadsz parancsban.
 

#include <a_samp>
#include <zcmd>
#include <sscanf2>
enum asd {
kocsiTextLabel[32]
}
new Text3D:kocsiInfo[MAX_VEHICLES][asd];
public OnFilterScriptExit() {
    for(new i;i<MAX_VEHICLES;i++) {
    if(!strcmp(kocsiInfo[kocsiTextLabel],\"\"))
        Delete3DTextLabel(kocsiInfo[kocsiTextLabel]);
    }
}
public OnFilterScriptInit() {
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
    kocsiInfo[vehicleid][kocsiTextLabel] = 0;
    return 1;
}
CMD:kocsitextlabel(playerid,params[]) {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem vagy kocsiban!\");
    new text[32];
    if(sscanf(params,\"s[32]\",text)) return SendClientMessage(playerid,-1,\"/kocsitextlabel <szöveg>\");
    new kocsiid = GetPlayerVehicleID(playerid);
Delete3DTextLabel( kocsiInfo[kocsiid][kocsiTextLabel] );
    kocsiInfo[kocsiid][kocsiTextLabel] = Create3DTextLabel(text, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
    Attach3DTextLabelToVehicle( kocsiInfo[kocsiid][kocsiTextLabel] , kocsiid, 0.0, 0.0, 2.0);
    return 1;
}

 
Tesztelve, működőképes. (valamiért warningot ír :o)
Cím: Parancshoz szöveg és/vagy szám hozzárendelése
Írta: Mike Freetown - 2015. június 14. - 10:40:21
Idézetet írta: blackdog476 date=1434211374\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"54658\" data-ipsquote-contentclass=\"forums_Topic
Szerintem te a 3DTextLabel-re gondoltál, méghozzá arra, hogy a kocsira kiírjon valami szöveget amit megadsz parancsban.
 

#include <a_samp>
#include <zcmd>
#include <sscanf2>
enum asd {
kocsiTextLabel[32]
}
new Text3D:kocsiInfo[MAX_VEHICLES][asd];
public OnFilterScriptExit() {
    for(new i;i<MAX_VEHICLES;i++) {
    if(!strcmp(kocsiInfo[kocsiTextLabel],\"\"))
        Delete3DTextLabel(kocsiInfo[kocsiTextLabel]);
    }
}
public OnFilterScriptInit() {
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
    kocsiInfo[vehicleid][kocsiTextLabel] = 0;
    return 1;
}
CMD:kocsitextlabel(playerid,params[]) {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem vagy kocsiban!\");
    new text[32];
    if(sscanf(params,\"s[32]\",text)) return SendClientMessage(playerid,-1,\"/kocsitextlabel <szöveg>\");
    new kocsiid = GetPlayerVehicleID(playerid);
Delete3DTextLabel( kocsiInfo[kocsiid][kocsiTextLabel] );
    kocsiInfo[kocsiid][kocsiTextLabel] = Create3DTextLabel(text, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
    Attach3DTextLabelToVehicle( kocsiInfo[kocsiid][kocsiTextLabel] , kocsiid, 0.0, 0.0, 2.0);
    return 1;
}

 
Tesztelve, működőképes. (valamiért warningot ír :o)
 
Köszönöm szépen, megnézem! :) A warningot megoldom majd :) Esetleg tudnál abban segíteni, hogy hogyan lehet olyat, hogy a szöveget a chat-be írja ki?
Például így: /parancs Valami! és akkor ezt például kiírja a rendőrségnek, hogy Szöveg: Valami!
Nem tudom mennyire érthető amit most felvázoltam. Esetleg valami hasonlót mutatni, hogy mégis hogyan épül fel, egy linkkel is sokat segítenél! :)
Cím: Parancshoz szöveg és/vagy szám hozzárendelése
Írta: blackdog476 - 2015. június 14. - 13:38:17
 #include <a_samp>
#include <zcmd>
#include <sscanf2>
CMD:say(playerid,params[]) {
    new szoveg[128];
    if(sscanf(params,\"s[128]\",szoveg)) return SendClientMessage(playerid,-1,\"/say <üzenet>\");
    format(szoveg,128,\"Üzenet: %s\",szoveg);
    SendClientMessageToAll(-1,szoveg);
    return 1;
}

 
Nem teszteltem (telefonrol vagyok ). Írj PMet, és segítek.