Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: .варнинг poslato Oktobar 23, 2017, 19:04:23 POSLE PODNE

Naslov: Komanda /avozilo
Poruka od: .варнинг poslato Oktobar 23, 2017, 19:04:23 POSLE PODNE
Skripta koju koristim:GhostTown
Detaljan opis problema:Ovako,napravio sam komandu /avozilo ali me zanima kako da promenim boju u kojoj ce se vozilo stvarati.
Dio skripte: if(listid == vozilolist)
{
    if(response)
    {
        new Float:Pos[4];
            GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
            SendClientMessage(playerid, -1, ""RG"(("SIVA"LG Info"RG")) "BELA"Spawnao si A/GM Vozilo!");
            vozilo1 = CreateVehicle(modelid,Pos[0],Pos[1],Pos[2],Pos[3],random(1),random(1),500);
        PutPlayerInVehicle(playerid,vozilo1,0);
            Attach3DTextLabelToVehicle(avozila, AdminVozilo[playerid], 0.0, 0.0, 0.0);
            Update3DTextLabelText(avozila, 0x2641FEAA, "[A/GM]");
            AVOZILO[playerid] = vozilo1;
    }
    else SendClientMessage(playerid, -1, ""RG"(("SIVA"LG Info"RG")) "BELA"Odustao si od spawna A/GM Vozila!");
    return 1;
}

     CMD:avozilo(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGM] >= 1)
if(AVOZILO[playerid] != -1)
{
DestroyVehicle(AVOZILO[playerid]);
AVOZILO[playerid] = -1;
}
else if(AVOZILO[playerid] == -1)
{
ShowModelSelectionMenu(playerid, vozilolist, "Izaberite Admin Vozilo");
}
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno)://
Naslov: Odg: Komanda /avozilo
Poruka od: Assassin007 poslato Oktobar 23, 2017, 19:08:05 POSLE PODNE
evo ti moj kod pazi color1 i color2 to ti je za mjenjanje boje a ovo  poz[4] to ti je da dobije igracevu poziciju i da stvori vozilo

YCMD:veh(playerid, params[],help)
{
    new Float:Poz[4],string[128],model[128],color1, color2;
    if(PlayerInfo[playerid][Admin] < 1) return SendClientMessage(playerid,COLOR_GREY,"Niste autorizirani za koristenje ove komande!");
    if(sscanf( params, "s[128]dd", model, color1, color2)) return SendClientMessage(playerid, COLOR_GREY, "Syntax:{FFFFFF} /veh [Vehicle name] [Color1] [Color2]");
GetPlayerPos(playerid, Poz[0], Poz[1], Poz[2]);
GetPlayerFacingAngle(playerid, Poz[3]);
new vozz = CreateVehicle(strval(params), Poz[0]+4, Poz[1], Poz[2], Poz[3], color1, color2, -1);
PutPlayerInVehicle(playerid, vozz, 0);
format(string, sizeof(string), "AdmWarning: %s je stvorio vozilo.", PlayerName(playerid));
AMessage(COLOR_LIGHTRED, string);
return 1;
}
Naslov: Odg: Komanda /avozilo
Poruka od: .варнинг poslato Oktobar 23, 2017, 19:10:19 POSLE PODNE
Ja koristim komandu sa Dialogom kao na SA. :/
Naslov: Odg: Komanda /avozilo
Poruka od: xsar.p poslato Oktobar 23, 2017, 19:13:17 POSLE PODNE
Ako sam te ja dobro razumeo, ti zelis da promenis boju u kojoj se vozilo stvara?
Umesto [pawn]vozilo1 = CreateVehicle(modelid,Pos[0],Pos[1],Pos[2],Pos[3],random(1),random(1),500);[/pawn]
Stavis [pawn]vozilo1 = CreateVehicle(modelid,Pos[0],Pos[1],Pos[2],Pos[3],idboje,idboje2,500); //id boje mozes naci na netu.[/pawn]
Naslov: Odg: Komanda /avozilo
Poruka od: Assassin007 poslato Oktobar 23, 2017, 19:13:49 POSLE PODNE
Onda ne mozes mijenjati boju mozes je samo hardcodati i to ti je to ne mozes in game da mjenjas boju
Naslov: Odg: Komanda /avozilo
Poruka od: Tosic ツ poslato Oktobar 23, 2017, 19:18:26 POSLE PODNE
Citat: Assassin007 poslato Oktobar 23, 2017, 19:08:05 POSLE PODNE
evo ti moj kod pazi color1 i color2 to ti je za mjenjanje boje a ovo  poz[4] to ti je da dobije igracevu poziciju i da stvori vozilo

YCMD:veh(playerid, params[],help)
{
    new Float:Poz[4],string[128],model[128],color1, color2;
    if(PlayerInfo[playerid][Admin] < 1) return SendClientMessage(playerid,COLOR_GREY,"Niste autorizirani za koristenje ove komande!");
    if(sscanf( params, "s[128]dd", model, color1, color2)) return SendClientMessage(playerid, COLOR_GREY, "Syntax:{FFFFFF} /veh [Vehicle name] [Color1] [Color2]");
GetPlayerPos(playerid, Poz[0], Poz[1], Poz[2]);
GetPlayerFacingAngle(playerid, Poz[3]);
new vozz = CreateVehicle(strval(params), Poz[0]+4, Poz[1], Poz[2], Poz[3], color1, color2, -1);
PutPlayerInVehicle(playerid, vozz, 0);
format(string, sizeof(string), "AdmWarning: %s je stvorio vozilo.", PlayerName(playerid));
AMessage(COLOR_LIGHTRED, string);
return 1;
}

Koliko ja znam ne postoji vozilo sa imenom od 127 karaktera (bez nultog) tako da je nepotrebno koristiti toliki string. Isto i ovaj sa kojim formatiras poruku. Isto tako zasto stvarati promenljive i stringove ukoliko igrac ne ispunjava taj uslov? Samo dzabe trositi memoriju :$
Naslov: Odg: Komanda /avozilo
Poruka od: Slade poslato Oktobar 23, 2017, 19:20:46 POSLE PODNE
Citat: Tosic ãƒ,, poslato Oktobar 23, 2017, 19:18:26 POSLE PODNE
Koliko ja znam ne postoji vozilo sa imenom od 127 karaktera (bez nultog) tako da je nepotrebno koristiti toliki string. Isto i ovaj sa kojim formatiras poruku. Isto tako zasto stvarati promenljive i stringove ukoliko igrac ne ispunjava taj uslov? Samo dzabe trositi memoriju :$

Kad ne zna ubacit boju u sscanf i createvehicle nepotrebno je da mu pricas za memoriju, to je za njega spansko selo...
Naslov: Odg: Komanda /avozilo
Poruka od: Assassin007 poslato Oktobar 23, 2017, 19:23:02 POSLE PODNE
kao prvo to od 128 string memorije je doslovno 2 kilobajta tako da ne gubim nista od performance kao drugo ovo Amessage i format povise njega se upisuje u log tako da mogu vidjeti sta se desava na serveru i koliko memorije trosi tako da
Naslov: Odg: Komanda /avozilo
Poruka od: .варнинг poslato Oktobar 23, 2017, 19:23:24 POSLE PODNE
Hvala Sejnure.