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

Wysłany: 2012-08-19, 19:52


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

A sprobuj zamiast losowac zmienic kolor stala liczba

Kod:

ChangeVehicleColor(GetNearestVehicle(playerid,8),2,1);
format(omg_wtf,50,"222222___ID pojazdu: %d",GetNearestVehicle(playerid,8));
SendClientMessage(playerid,-1,omg_wtf);
}
case 1:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),5,4);
format(omg_wtf,50,"333333___ID pojazdu: %d",GetNearestVehicle(playerid,8));
SendClientMessage(playerid,-1,omg_wtf);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 20:40


jona99







Wiek: 36
Na forum: 5234 dni
Posty: 103
Nick w MP: Johny_Bloom

Piwa: 71

Respekt: 45,3

tak w?a?nie mi chodzi?o sta?? liczb?, ale nadal nie zmienia koloru :(

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 21:30


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

jona99, nie mam pomyslow xD

Jeszcze chcialbym sie upewnic czy to jest ten samochod ktory zwraca funkcja.








Kod:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 377)
{
if(!response)
{
new vid=GetNearestVehicle(playerid,8.0);
new Float:abs3[3];
switch(listitem)
{
case 0:
{
GetVehiclePos(vid,abs3[0],abs3[1],abs3[2]);
ChangeVehicleColor(vid,random(127),random(127));
SetPlayerPos(playerid,abs3[0],abs3[1],abs3[2]);
}
case 1:
{
GetVehiclePos(vid,abs3[0],abs3[1],abs3[2]);
ChangeVehicleColor(vid,random(127),random(127));
SetPlayerPos(playerid,abs3[0],abs3[1],abs3[2]);
}
}
}
}
return 1;
}

Sprawdz czy Cie teleportuje do tego samochodu ktory 'malowales'.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 21:47


jona99







Wiek: 36
Na forum: 5234 dni
Posty: 103
Nick w MP: Johny_Bloom

Piwa: 71

Respekt: 45,3

nawet nie teleportuje O.o tu jest chyba b?ad z OnDialogResponse

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 21:54


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 377)
{
if(!response)
{
new vid=GetNearestVehicle(playerid,8.0);
new Float:abs3[3];
switch(listitem)
{
case 0:
{
GetVehiclePos(vid,abs3[0],abs3[1],abs3[2]);
ChangeVehicleColor(vid,random(127),random(127));
SetPlayerPos(playerid,abs3[0],abs3[1],abs3[2]);
}
case 1:
{
GetVehiclePos(vid,abs3[0],abs3[1],abs3[2]);
ChangeVehicleColor(vid,random(127),random(127));
SetPlayerPos(playerid,abs3[0],abs3[1],abs3[2]);
}
}
}
return 1;
}
return 0;
}

sprawdz xd Chyba wiem co bylo nie tak xDDD

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-20, 14:06


jona99







Wiek: 36
Na forum: 5234 dni
Posty: 103
Nick w MP: Johny_Bloom

Piwa: 71

Respekt: 45,3

no to ju? raczej wiem dlaczego. widze ze jest blad z ondialogresponse lub po pokazaniu GUI system staje
Kod:

#include <a_samp>
new Firehold[MAX_PLAYERS];
stock Float:GetDistanceBetweenPoints(Float:X, Float:Y, Float:Z, Float:PointX, Float:PointY, Float:PointZ)
{
new Float:Distance;
Distance = floatabs(floatsub(X, PointX)) + floatabs(floatsub(Y, PointY)) + floatabs(floatsub(Z, PointZ));
return Distance;
}
stock GetNearestVehicle(playerid, Float:Distance = 1000.0)
{
Distance = floatabs(Distance);
if(Distance == 0.0) Distance = 1000.0;
new Float:X[2], Float:Y[2], Float:Z[2];
new Float:NearestPos = Distance;
new NearestVehicle = INVALID_VEHICLE_ID;
GetPlayerPos(playerid, X[0], Y[0], Z[0]);
for(new i; i<MAX_VEHICLES; i++)
{
if(!IsVehicleStreamedIn(i, playerid) || i == GetPlayerVehicleID(playerid)) continue;
GetVehiclePos(i, X[1], Y[1], Z[1]);
if(NearestPos > GetDistanceBetweenPoints(X[0], Y[0], Z[0], X[1], Y[1], Z[1])) NearestPos = GetDistanceBetweenPoints(X[0], Y[0], Z[0], X[1], Y[1], Z[1]), NearestVehicle = i;
}
if(NearestPos < Distance) return NearestVehicle;
return INVALID_VEHICLE_ID;
}
forward ResprayTimer(playerid,vehicleid);
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys){
if(newkeys & KEY_FIRE &&(GetPlayerWeapon(playerid) == 41 && !IsPlayerInAnyVehicle(playerid))){
new nearveh=GetNearestVehicle(playerid,5);
if(IsPlayerFacingVehicle(playerid,nearveh)){
SetTimerEx("ResprayTimer",3000,0,"ii",playerid,GetNearestVehicle(playerid,5));
Firehold[playerid] = 1;
}
}
if(oldkeys & KEY_FIRE && (Firehold[playerid] == 1)) Firehold[playerid] = 0;
return 1;
}
public ResprayTimer(playerid,vehicleid){
if(GetPlayerWeapon(playerid) == 41 && GetNearestVehicle(playerid,8) == vehicleid && Firehold[playerid] == 1){
if(IsPlayerFacingVehicle(playerid,vehicleid)){
//ShowPlayerDialog(playerid, 377, DIALOG_STYLE_LIST, "Wybierz kolor", "R??owy\nZielony", "Wybierz", "");
ChangeVehicleColor(GetNearestVehicle(playerid,127),1,1);
GameTextForPlayer(playerid,"~g~Pojazd zostal przemalowany!",3000,4);
}
}
return 1;
}
stock IsPlayerFacingVehicle(playerid,vehicleid)
{

new Float:pX,Float:pY,Float:pZ,Float:X,Float:Y,Float:Z,Float:ang;

if(!IsPlayerConnected(playerid)) return 0;

GetVehiclePos(vehicleid, X, Y, Z);
GetPlayerPos(playerid, pX, pY, pZ);

if( Y > pY ) ang = (-acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);
else if( Y < pY && X < pX ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 450.0);
else if( Y < pY ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);

if(X > pX) ang = (floatabs(floatabs(ang) + 180.0));
else ang = (floatabs(ang) - 180.0);
new Float:russia;
GetPlayerFacingAngle(playerid,russia);
if(ang-russia<-130 || ang-russia>130) return 0;
else return 1;
}
i to dziala ale jest to tylko jeden kolor .

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-20, 14:36


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

jona99, bledem jest return 1 ktory konczy callback. Powinno tam zwrocic 0 a nie 1!

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-20, 15:16


jona99







Wiek: 36
Na forum: 5234 dni
Posty: 103
Nick w MP: Johny_Bloom

Piwa: 71

Respekt: 45,3

no i nadal nie dziala :(

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-20, 15:26


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

jona99, pokaz jak zrobiles

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-20, 15:39


jona99







Wiek: 36
Na forum: 5234 dni
Posty: 103
Nick w MP: Johny_Bloom

Piwa: 71

Respekt: 45,3

Kod:

#include <a_samp>
new Firehold[MAX_PLAYERS];
stock Float:GetDistanceBetweenPoints(Float:X, Float:Y, Float:Z, Float:PointX, Float:PointY, Float:PointZ)
{
new Float:Distance;
Distance = floatabs(floatsub(X, PointX)) + floatabs(floatsub(Y, PointY)) + floatabs(floatsub(Z, PointZ));
return Distance;
}
stock GetNearestVehicle(playerid, Float:Distance = 1000.0)
{
Distance = floatabs(Distance);
if(Distance == 0.0) Distance = 1000.0;
new Float:X[2], Float:Y[2], Float:Z[2];
new Float:NearestPos = Distance;
new NearestVehicle = INVALID_VEHICLE_ID;
GetPlayerPos(playerid, X[0], Y[0], Z[0]);
for(new i; i<MAX_VEHICLES; i++)
{
if(!IsVehicleStreamedIn(i, playerid) || i == GetPlayerVehicleID(playerid)) continue;
GetVehiclePos(i, X[1], Y[1], Z[1]);
if(NearestPos > GetDistanceBetweenPoints(X[0], Y[0], Z[0], X[1], Y[1], Z[1])) NearestPos = GetDistanceBetweenPoints(X[0], Y[0], Z[0], X[1], Y[1], Z[1]), NearestVehicle = i;
}
if(NearestPos < Distance) return NearestVehicle;
return INVALID_VEHICLE_ID;
}
forward ResprayTimer(playerid,vehicleid);
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys){
if(newkeys & KEY_FIRE &&(GetPlayerWeapon(playerid) == 41 && !IsPlayerInAnyVehicle(playerid))){
new nearveh=GetNearestVehicle(playerid,5);
if(IsPlayerFacingVehicle(playerid,nearveh)){
SetTimerEx("ResprayTimer",3000,0,"ii",playerid,GetNearestVehicle(playerid,5));
Firehold[playerid] = 1;
}
}
if(oldkeys & KEY_FIRE && (Firehold[playerid] == 1)) Firehold[playerid] = 0;
return 1;
}
public ResprayTimer(playerid,vehicleid){
if(GetPlayerWeapon(playerid) == 41 && GetNearestVehicle(playerid,8) == vehicleid && Firehold[playerid] == 1){
if(IsPlayerFacingVehicle(playerid,vehicleid)){
ShowPlayerDialog(playerid, 377, DIALOG_STYLE_LIST, "Wybierz kolor", "Bia?y\nZielony", "Wybierz", "");
GameTextForPlayer(playerid,"~g~Pojazd zostal przemalowany!",3000,4);
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 377)
{
if(!response)
{
switch(listitem)
{
case 0:
{
ChangeVehicleColor(GetNearestVehicle(playerid,127),1,1);
}
case 1:
{
ChangeVehicleColor(GetNearestVehicle(playerid,127),16,16);
}
}
}
return 1;
}
return 0;
}
stock IsPlayerFacingVehicle(playerid,vehicleid)
{

new Float:pX,Float:pY,Float:pZ,Float:X,Float:Y,Float:Z,Float:ang;

if(!IsPlayerConnected(playerid)) return 0;

GetVehiclePos(vehicleid, X, Y, Z);
GetPlayerPos(playerid, pX, pY, pZ);

if( Y > pY ) ang = (-acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);
else if( Y < pY && X < pX ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 450.0);
else if( Y < pY ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);

if(X > pX) ang = (floatabs(floatabs(ang) + 180.0));
else ang = (floatabs(ang) - 180.0);
new Float:russia;
GetPlayerFacingAngle(playerid,russia);
if(ang-russia<-130 || ang-russia>130) return 0;
else return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-20, 15:54


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Zabije Ciebie i siebie!
Nie zauwazylem, ze w ShowPlayerDialog jest jeden przycisk!

Musi byc if(response) a nie if(!response)


lol

Ostatnio zmieniony przez xqz 2012-08-20, 15:57, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-20, 15:57


jona99







Wiek: 36
Na forum: 5234 dni
Posty: 103
Nick w MP: Johny_Bloom

Piwa: 71

Respekt: 45,3

dobra masz piwko za meczenstwo :D , dalbym reputke ale niestety nie uda?o sie rozwiazac problemu ;f

[ Dodano: 2012-08-20, 16:02 ]
noo! wlasnie sam na tym myslalem, ale niestety nie zrobilem. masz reputke ! ;D

Postaw piwo autorowi tego posta
 

 
Tagi: malowanie :: auta
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] Malowanie auta 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