Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2012-04-09, 20:54


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Wie kto? mo?e jak usun?? pojazd, z kt?rego gracz wysiad? wcze?niej? Przyk?adowo, wpisa?em komend? /v inf, dosta?em Infernusa i do niego wsiad?em, po chwili wysiad?em z niego i wpisa?em komend? /v nrg i jak teraz zrobi?, ?eby usun??o tego Infernusa. Pr?bowa?em co? zrobi?, ale nie usuwa ?adnego pojazdu.

Kod:


new vehid = GetVehicleModelIdByName(cmdtext[3]);
if(!cmdtext[2])
{
SendClientMessage(playerid, COLOR_WHITE, "/v [Car Name]");
return 1;
}
else
{
if(Player[playerid][Play]) return 1;
if(Player[playerid][Spec]) return 1;
if(vehid == 425 || vehid == 427 || vehid == 430 || vehid == 432 || vehid == 441 || vehid == 447 || vehid == 464 || vehid == 465 || vehid == 476 || vehid == 501 || vehid == 520 || vehid == 564 || vehid == 594) return SendClientMessage(playerid, COLOR_DARKRED, "Ten pojazd jest zakazany");
}
{
new string[15];
format(string, sizeof(string), "%s",cmdtext[3]);
new Length = strlen(string);
if(Length < 3) return SendClientMessage(playerid, COLOR_DARKRED, "Nazwa pojazdu jest zbyt kr?tka (Min 3 znaki)");
else
{
if(!IsPlayerInVehicle(playerid, Player[playerid][Veh]))
{
DestroyVehicle(Player[playerid][Veh]);
CreatePlayerVehicle(playerid, vehid);
}
}
}
return 1;
}


ID pojazdu oznaczam w callbacku ni?ej

Kod:



public OnPlayerExitVehicle(playerid, vehicleid)
{
Player[playerid][Veh] = vehicleid;
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-04-10, 15:42


FullClip







Wiek: 29
Na forum: 5797 dni
Posty: 82
Nick w MP: Raiden

Piwa: 350

Respekt: 59,8

G?ra mapy:
new vspawned[MAX_PLAYERS];

Komenda:
DestroyVehicle(vspawned[playerid]);
vspawned[playerid] = CreatePlayerVehicle(playerid, vehid);

Za pierwszym wpisaniem komendy, zrespawnowany pojazd zostanie przypisany do gracza, a za ka?dym nast?pnym zostanie usuni?ty, a na jego miejsce stworzony nast?pny.

A je?li chodzi ci o usuni?cie pojazdu po wyj?ciu z niego to:

public OnPlayerExitVehicle(playerid, vehicleid)
{
DestroyVehicle(vspawned[playerid]);
return 1;
}

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-02, 14:05


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Mam jeszcze jedno pytanie, bo ta funkcja, kt?ra wyszukuje id pojazdu, dzia?a dobrze, ale jak jestem w infernusie, i wpisz?, np. /v abc123 a takiego pojazdu nie ma, to usuwa mi ten pojazd, co w nim jestem, czyli w tym razie infernus i nie tworzy nowego pojazdu jakim powinno by? abc123 bo takiego nie ma. Moje pytanie brzmi: jak zrobi?, aby sprawdzi? czy dane ID pojazdu jest poprawne. Poni?ej dam funkcj? i komend?:

Kod:

if(strcmp(cmd, "/v", true)==0)
{
new vehid = GetVehicleModelIdByName(cmdtext[3]);
if(!GetVehicleModelIdByName(cmdtext[3])) return SendClientMessage(playerid, COLOR_WHITE, "/v [Car Name]");
if(!vehid) return SendClientMessage(playerid, COLOR_WHITE, "/v [Car Name]");
if(!cmdtext[3])
{
SendClientMessage(playerid, COLOR_WHITE, "/v [Car Name]");
return 1;
}
else
{
if(Player[playerid][Play]) return 1;
if(Player[playerid][Spec]) return 1;
if(vehid == 425 || vehid == 427 || vehid == 430 || vehid == 432 || vehid == 441 || vehid == 447 || vehid == 464 || vehid == 465 || vehid == 476 || vehid == 501 || vehid == 520 || vehid == 564 || vehid == 594) return SendClientMessage(playerid, COLOR_DARKRED, "Ten pojazd jest zakazany");
}
{
new string[15];
format(string, sizeof(string), "%s",cmdtext[3]);
new Length = strlen(string);
if(Length < 3) return SendClientMessage(playerid, COLOR_DARKRED, "Nazwa pojazdu jest zbyt kr?tka (Min 3 znaki)");
else
{
CreatePlayerVehicle(playerid, vehid);
}
}
return 1;
}


Funkcja:

Kod:

stock GetVehicleModelIdByName(vehiclename[])
{
for(new i = 0; i < 211; i++)
if (strfind(gVehicleNames[i], vehiclename, true) != -1) return i + 400;
return -1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-02, 17:50


Axel9697







Wiek: 32
Na forum: 5904 dni
Posty: 115

Piwa: 44

Respekt: 73,2

Dodaj warunek przy usuwaniu i tworzeniu pojazdu:
Kod:


if(GetVehicleModelIdByName(vehiclename[]) != -1)


Postaw piwo autorowi tego posta
 

 
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku