Szerző Téma: Parancshoz szöveg és/vagy szám hozzárendelése  (Megtekintve 799 alkalommal)

Parancshoz szöveg és/vagy szám hozzárendelése
« Dátum: 2015. Június 13. - 14:22:20 »
0 Show voters
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
« Utoljára szerkesztve: 2015. Június 14. - 23:11:53 írta ƒlaﻛh »

Parancshoz szöveg és/vagy szám hozzárendelése
« Válasz #1 Dátum: 2015. Június 13. - 18:02:54 »
0 Show voters
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)
« Utoljára szerkesztve: 2015. Június 13. - 18:17:32 írta blackdog476 »

Parancshoz szöveg és/vagy szám hozzárendelése
« Válasz #2 Dátum: 2015. Június 14. - 10:40:21 »
0 Show voters
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! :)

Parancshoz szöveg és/vagy szám hozzárendelése
« Válasz #3 Dátum: 2015. Június 14. - 13:38:17 »
0 Show voters
 #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.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal