Wysłany: 2013-07-22, 09:43
RedHed_
Uczeń Pawn ;)
Wiek: 27 Na forum: 4733 dni Posty: 50
Nick w MP: DaVe_
Piwa : 318
Witam. Mam problem z prywatnymi autami dodaje auta wszystko ok, ale gdy wchodz? do auta a nie jestem na skinie Taxi wyskakuje mi "Nie jeste? w Taxi", priv auta s? w skrypcie a zabezpieczenia aut frakcyjnych w mapie wygl?da to tak.
OnFilterScriptInit
Kod: //---Moje---
Dawid212 = AddStaticVehicle(562, 562.0, 285.6484, -1144.2916, 80.5729, 211, 211); //Elegy
Dawid212 = AddStaticVehicle(502,283.5734,-1160.3715,80.5724,226.7675,2,2); // TAXI
Dawid212 = AddStaticVehicle(562,287.1693,-1156.9850,80.5693,223.4839,2,2); // HOTRING
Dawid212 = AddStaticVehicle(562,272.9461,-1159.3762,80.5739,224.6890,2,2); // NRG
Dawid212 = AddStaticVehicle(562,332.9000,-1152.6219,80.5704,131.4672,2,2); // SANDKING
Dawid212 = AddStaticVehicle(562,296.3463,-1135.0198,80.5688,131.6162,2,2); // FREEWAY
Dawid212 = AddStaticVehicle(437,296.9260,-1198.6184,81.0233,354.2774,6,6); // AUTOBUS
OnPlayerStateChange
Kod:
if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == Dawid212)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name, "Dawid212", false))
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nie nale?y do Dawid212 !");
}
}
Wysłany: 2013-07-22, 11:29
Kurio
Wiek: 35 Na forum: 5511 dni Posty: 122
Piwa : 17
Po pierwsze, to do zmiennej Dawid212 nie mo?esz przypisa? tylu aut. tylko jedno.
Kod: if(newstate == PLAYER_STATE_DRIVER)
{
if(GetPlayerVehicleID(playerid) == Dawid212)
{
if(strfind(PlayerName(playerid), "Dawid212", false) != 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nale?y do Dawid212!");
}
}
}
Wysłany: 2013-07-22, 13:42
adamoloxD
PaFFner
Wiek: 32 Na forum: 5928 dni Posty: 64
Piwa : 523
Je?li b?dziesz chcia? przypisa? kilka aut dla zmiennej Dawid212 skorzystaj z tablicy np. Pawn
new Dawid212 [ ILO ? C_AUT ];
Dawid212 [ 0 ] = Create ...
Dawid212 [ 1 ]
...
Dawid212 [ ILO ?? _AUT - 1 ]
Podpis
Kod:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return DestroyVehicle(vehicleid);
}
Wysłany: 2013-07-22, 14:16
Kurio
Wiek: 35 Na forum: 5511 dni Posty: 122
Piwa : 17
Je?eli u?yjesz tablicy, to wtedy pami?taj ?e ILOSC_AUT - musi odpowiada? liczbie twoich aut.
np. Masz 5 aut, i zaczyna si? od id 0, potem 1, 2, 3, 4
no i musisz pami?ta?, ?eby u?y? p?tli przy sprawdzaniu czy gracz ma taki nick, czyli:
Kod: if(newstate == PLAYER_STATE_DRIVER)
{
for(new i = 0; i < (ILOSC_AUT-1) && GetPlayerVehicleID(playerid) == Dawid212[i]; i++)
{
if(strfind(PlayerName(playerid), "Dawid212", false) != 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nale?y do Dawid212!");
}
}
}
chyba powinno dzia?a?, jak nie to daj zna?.
i pami?taj od tym, ?e tutaj p?tla wykonuje si? od id 0 do id max kt?ry ustawi?e?, a oznacza to ostatni id twojego auta.
wi?c b?dzie najlepiej jak swoje auta ustawisz obok siebie.
bo je?eli rozrzucisz je i b?d? mia?y r??ny id, to wtedy musisz dla ka?dego auta osobny powy?szy kod pisa? (ten z mojego 1szego posta).
Jak masz jakie? pytania to pytaj
Wysłany: 2013-07-23, 20:06
RedHed_
Uczeń Pawn ;)
Wiek: 27 Na forum: 4733 dni Posty: 50
Nick w MP: DaVe_
Piwa : 318
Teraz zrobi?em tak
Kod:
new D1;
new D2;
new D3;
new D4;
new D5;
new D6;
new D7;
OnFilterScriptInit
Kod: D1 = AddStaticVehicle(562, 562.0, 285.6484, -1144.2916, 80.5729, 211, 211); //Elegy
D2 = AddStaticVehicle(451,283.5734,-1160.3715,80.5724,226.7675,6,6); // TAXI
D3 = AddStaticVehicle(502,287.1693,-1156.9850,80.5693,223.4839,211,6); // HOTRING
D4 = AddStaticVehicle(471,272.9461,-1159.3762,80.5739,224.6890,2,0); // QUAD
D5 = AddStaticVehicle(514,332.9000,-1152.6219,80.5704,131.4672,0,6); // TANKER
D6 = AddStaticVehicle(463,296.3463,-1135.0198,80.5688,131.6162,6,6); // FREEWAY
D7 = AddStaticVehicle(437,296.9260,-1198.6184,81.0233,354.2774,6,6); // AUTOBUS
OnPlayerStateChange
Kod: if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == D1)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name, "Dawid212", false))
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nie nale?y do Dawid212 !");
}
}
if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == D2)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name, "Dawid212", false))
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nie nale?y do Dawid212 !");
}
}
if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == D3)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name, "Dawid212", false))
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nie nale?y do Dawid212 !");
}
}
if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == D4)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name, "Dawid212", false))
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nie nale?y do Dawid212 !");
}
}
if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == D5)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name, "Dawid212", false))
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nie nale?y do Dawid212 !");
}
}
if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == D6)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name, "Dawid212", false))
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nie nale?y do Dawid212 !");
}
}
if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == D7)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name, "Dawid212", false))
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nie nale?y do Dawid212 !");
}
}
I dalej wyskakuje ?e nie jestem w taxi..
[ Dodano : 2013-07-23, 20:25 ]
Kurio , I jak u?yje twojego sposobu i dam
Kod:
if(newstate == PLAYER_STATE_DRIVER)
{
if(GetPlayerVehicleID(playerid) == Dawid212)
{
if(strfind(PlayerName(playerid), "Dawid212", false) != 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nale?y do Dawid212!");
}
}
}
To mam b??d Kod: error 017: undefined symbol "PlayerName"
Jak dodam zmienn? Kod: new PlayerName[MAX_PLAYERS_NAME];
to nic nie daje..
Wysłany: 2013-07-23, 20:25
siudo97
Wiek: 29 Na forum: 4704 dni Posty: 42
Nick w MP: Siudo
Piwa : 67
Wysłany: 2013-07-23, 20:30
RedHed_
Uczeń Pawn ;)
Wiek: 27 Na forum: 4733 dni Posty: 50
Nick w MP: DaVe_
Piwa : 318
Mam tak
Kod: if(newstate == PLAYER_STATE_DRIVER)
{
new taxi;
taxi = GetPlayerVehicleID(playerid);
if((taxi >= 1) && (taxi <= 47))
{
if(gTeam[playerid] != TEAM_TAXI){
RemovePlayerFromVehicle(playerid);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "UWAGA!!!", "Nie jeste? Tax?wkarzem ! \n", "OK", "Wroc");
}
}
}
Ale dlaczego pisz? w priv autach ?e nie jeste? tax?wkarzem..
Wysłany: 2013-07-23, 21:58
Kurio
Wiek: 35 Na forum: 5511 dni Posty: 122
Piwa : 17
A czy te auta maj? id od 1 do 47?
Pewnie dlatego jak wejdziesz do prywatnego auta, to ci to wywala.
jak nie dzia?a, to zr?b tak:
Kod: if(newstate == PLAYER_STATE_DRIVER)
{
if(GetPlayerVehicleID(playerid) == Dawid212)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strfind(name, "Dawid212", false) != 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0x281aeb, "Ten pojazd nale?y do Dawid212!");
}
}
}
Wysłany: 2013-07-23, 22:50
siudo97
Wiek: 29 Na forum: 4704 dni Posty: 42
Nick w MP: Siudo
Piwa : 67
Paczaj chcesz blokade na auta frakcji ?? to robisz tak
Kod: if(newstate == PLAYER_STATE_DRIVER)
{
new taxi;
taxi = GetPlayerVehicleID(playerid);
if((taxi >= blokadapojazdow[1]) && (taxi <= blokadapojazdow[2]))
{
if(gTeam[playerid] != TEAM_TAXI){
RemovePlayerFromVehicle(playerid);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "UWAGA!!!", "Nie jeste? pracownikiem Taxi! \n", "OK", "Wroc");
TextDrawHideForPlayer(playerid, pojazd[playerid]);
}
}
}
Kod: blokadapojazdow[1] = CreateVehicle(497,2626.3000488,1793.5000000,11.3000002,0.0000000,0,1,respawnv); //Police Maverick
Potem auta auta auta i ko?czysz tym Kod: blokadapojazdow[2] = CreateVehicle(416,2521.6001000,708.5999800,11.1000000,0.0000000,185,29,respawnv);
A na prywatne auta wygl?da to tak
Kod: if(newstate == PLAYER_STATE_DRIVER)
{
new blokada;
blokada = GetPlayerVehicleID(playerid);
if((blokada >=1) && (blokada <=2))///
{
if(strfind(PlayerName(playerid), "Dawid212", false)) {
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_LIGHTRED, " Tekst do kogo auto nale?y...");
}
}
}
wrzucasz auta na sam? g?re obiekt?w/aut i poprostu jak masz 10 aut dajesz np Kod: To jest od 1
Kod: do 2 czyli masz blokade na swoje 2 auta !
czaisz ? juz bardziej ci nie wyt?umacze napisz mi na gg 44562780
Podpis
Klepnij mnie
Wysłany: 2013-07-23, 23:45
RedHed_
Uczeń Pawn ;)
Wiek: 27 Na forum: 4733 dni Posty: 50
Nick w MP: DaVe_
Piwa : 318
Ale was m?cz? xd
Wyskoczy?o mi
Kod: PrywatneAuta.pwn(8) : error 017: undefined symbol "blokadapojazdow"
PrywatneAuta.pwn(8) : warning 215: expression has no effect
PrywatneAuta.pwn(8) : error 001: expected token: ";", but found "]"
PrywatneAuta.pwn(8) : error 029: invalid expression, assumed zero
PrywatneAuta.pwn(8) : fatal error 107: too many error messages on one line
Linijka
Kod: blokadapojazdow[1] = CreateVehicle(562,2626.3000488,1793.5000000,11.3000002,0.0000000,0,1,respawnv); //ELEGY
Wysłany: 2013-07-24, 00:11
Kurio
Wiek: 35 Na forum: 5511 dni Posty: 122
Piwa : 17
new blokadapojazdow[ile_tych_pojazd?w?];
musisz stworzy? tablic? o rozmiarze odpowiadaj?cym ilo?ci tych aut
ps. indeksy w tablicy zaczyna si? liczy? od 0 (tak mi sie wydaje przynajmniej), czyli np.
Kod:
a potem:
Kod: blokadapojazdow[0] = CreateVehicle(562,2626.3000488,1793.5000000,11.3000002,0.0000000,0,1,respawnv); //ELEGY
blokadapojazdow[1] = CreateVehicle(...); //jakies inne auto
Wysłany: 2013-07-24, 00:46
adamoloxD
PaFFner
Wiek: 32 Na forum: 5928 dni Posty: 64
Piwa : 523
Wysłany: 2013-07-24, 12:01
Kurio
Wiek: 35 Na forum: 5511 dni Posty: 122
Piwa : 17
Wed?ug mnie, OnPlayerEnterVehicle, jest gorszym rozwi?zaniem
ten Callback wykonuje si? gdy gracz zaczyna wchodzi? do auta, a nie jak zmienia stan z "chodzenia" na "jezdzenie".
W czym jest gorszy? No np. taki sobeit.
Mo?na za jego pomoc? wej?? do auta bez ca?ej procedury wsiadania - czyli nie wywo?uje Ci si? powy?szy callback i jezdzisz autkiem.
Chocia? nie m?wi? ?e OnPlayerStateChange te? jest niezawodny, bo i to zawodzi niestety.
Lepszy by?by jaki? timer kt?ry raz na jaki? czas sprawdza czy nie siedzimy w nieswoim aucie, ale niestety obci??a to serwer.
Wysłany: 2013-07-24, 12:11
RedHed_
Uczeń Pawn ;)
Wiek: 27 Na forum: 4733 dni Posty: 50
Nick w MP: DaVe_
Piwa : 318
Wystarczy?o doda? tylko do mapy, a ja mia?em w skrypcie xd Ale dzi?ki za pomoc macie po browarku
Wysłany: 2013-07-24, 15:45
siudo97
Wiek: 29 Na forum: 4704 dni Posty: 42
Nick w MP: Siudo
Piwa : 67
G?ra mapy
Kod: #define LICZBAFRAKCJI 28
new blokadapojazdow[LICZBAFRAKCJI];
[ Dodano : 2013-07-24, 15:46 ]
A ilczba frakcji to jest liczba blokad ile tam wetkno?e?
Podpis
Klepnij mnie
Tagi: prywatne :: auta
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: