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, 13:34


jona99







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

Piwa: 71

Respekt: 45,3

Czesc mam problem z malowaniem auta. Gdy maluje przez 10 sec wy?iwtla si? GUI i wybieram kolor, lecz gdy wybiore ten kolor to pojazd go nie otrzymuje.
Bardzo prosze o pomoc ;) . Za pomoc reputacja lub piffko ;)
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 pojazdu", "Zielony\nNiebieski", "Wybierz", "");
GameTextForPlayer(playerid,"~g~Pojazd zosta? przemalowany!",3000,4);
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 377)
{
if(!response)
{
switch(listitem)
{
case 0:
{
ChangeVehicleColor(GetNearestVehicle(playerid,4),random(127),random(127));
}
case 1:
{
ChangeVehicleColor(GetNearestVehicle(playerid,1),random(127),random(127));
}

}
}
}
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;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 14:03


xqz

otaku desu!






Wiek: 32
Na forum: 6407 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)
{
switch(listitem)
{
case 0:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8.0),random(127),random(127));
}
case 1:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8.0),random(127),random(127));
}

}
}
}
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 16:22


jona99







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

Piwa: 71

Respekt: 45,3

nadal nie przemalowuje ;f

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 16:46


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:

Wiec sprobuj jeszcze raz i powiedz jakie id pojazdu wyswietlilo na czacie.




public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 377)
{
if(!response)
{
switch(listitem)
{
new str[35];
case 0:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),random(127),random(127));
format(str,35,"ViD: %d",GetNearestVehicle(playerid,8));
}
case 1:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),random(127),random(127));
format(str,35,"ViD: %d",GetNearestVehicle(playerid,8));
}
}
SendClientMessage(playerid,-1,str);
}
}
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 17:14


jona99







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

Piwa: 71

Respekt: 45,3

takie oto errory po twoim kodzie ;f
Kod:

C:\Users\Bartek\Desktop\samp03e_svr_win32\filterscripts\sprayek.pwn(56) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\Bartek\Desktop\samp03e_svr_win32\filterscripts\sprayek.pwn(56) : error 017: undefined symbol "str"
C:\Users\Bartek\Desktop\samp03e_svr_win32\filterscripts\sprayek.pwn(56) : warning 215: expression has no effect
C:\Users\Bartek\Desktop\samp03e_svr_win32\filterscripts\sprayek.pwn(56) : error 001: expected token: ";", but found "]"
C:\Users\Bartek\Desktop\samp03e_svr_win32\filterscripts\sprayek.pwn(56) : fatal error 107: too many error messages on one line


Postaw piwo autorowi tego posta
 

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


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new str[35];
if(dialogid == 377)
{
if(!response)
{
switch(listitem)
{
case 0:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),random(127),random(127));
format(str,35,"ViD: %d",GetNearestVehicle(playerid,8));
}
case 1:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),random(127),random(127));
format(str,35,"ViD: %d",GetNearestVehicle(playerid,8));
}
}
SendClientMessage(playerid,-1,str);
}
}
return 1;
}

Zapomnialem, ze SCM przenioslem nizej xD

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 17:57


jona99







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

Piwa: 71

Respekt: 45,3

nie pokazuje id pojazdu ;f ?adnego tekstu.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 18:01


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new str[35];
if(dialogid == 377)
{
if(!response)
{
switch(listitem)
{
case 0:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),random(127),random(127));
format(str,35,"ViD: %d",GetNearestVehicle(playerid,8));
SendClientMessage(playerid,-1,str);
}
case 1:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),random(127),random(127));
format(str,35,"ViD: %d",GetNearestVehicle(playerid,8));
SendClientMessage(playerid,-1,str);
}
}
}
}
return 1;
}

sry :oops:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 18:14


jona99







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

Piwa: 71

Respekt: 45,3

ehh nadal nie pokazuje ;/

Postaw piwo autorowi tego posta
 

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


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

jona99, wiec prawdopodobnie funkcja GetNearestVehicle sie nie wykonuje i zatrzymuje caly kod (?)


Sprobuj ta funkcje wstawic zamiast tej co masz:


Kod:

stock GetNearestVehicle(playerid, Float:range)
{
new Float:p_X;
new Float:p_Y;
new Float:p_Z;

new Float:Distance;
new Float:PretendentDistance = range +1;
new Pretendent;

GetPlayerPos(playerid, p_X, p_Y, p_Z);

for(new vehicleid=1; vehicleid < MAX_VEHICLES; vehicleid++)
{
Distance = GetVehicleDistanceFromPoint(vehicleid, p_X, p_Y, p_Z);

if(Distance <= range && Distance <= PretendentDistance)
{
Pretendent = vehicleid;
PretendentDistance = Distance;
}
}

return Pretendent;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 18:24


jona99







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

Piwa: 71

Respekt: 45,3

teraz wcale nie pokazuje si? GUI i nic nie robi, moze zle wkleilem kod :
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:range)
{
new Float:p_X;
new Float:p_Y;
new Float:p_Z;

new Float:Distance;
new Float:PretendentDistance = range +1;
new Pretendent;

GetPlayerPos(playerid, p_X, p_Y, p_Z);

for(new vehicleid=1; vehicleid < MAX_VEHICLES; vehicleid++)
{
Distance = GetVehicleDistanceFromPoint(vehicleid, p_X, p_Y, p_Z);

if(Distance <= range && Distance <= PretendentDistance)
{
Pretendent = vehicleid;
PretendentDistance = Distance;
}
}

return Pretendent;
}
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 pojazdu", "Zielony\nNiebieski", "Wybierz", "");
GameTextForPlayer(playerid,"~g~Pojazd zosta? przemalowany!",3000,4);
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new str[35];
if(dialogid == 377)
{
if(!response)
{
switch(listitem)
{
case 0:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),random(127),random(127));
format(str,35,"ViD: %d",GetNearestVehicle(playerid,8));
SendClientMessage(playerid,-1,str);
}
case 1:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),random(127),random(127));
format(str,35,"ViD: %d",GetNearestVehicle(playerid,8));
SendClientMessage(playerid,-1,str);
}
}
}
}
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;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-19, 18:46


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:

#include <a_samp>
new omg_wtf[50];
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);
format(omg_wtf,50,"1111____ID pojazdu: %d",nearveh);
SendClientMessage(playerid,-1,omg_wtf);
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 pojazdu", "Zielony\nNiebieski", "Wybierz", "");
format(omg_wtf,50,"222222___ID pojazdu: %d",GetNearestVehicle(playerid,8));
SendClientMessage(playerid,-1,omg_wtf);
GameTextForPlayer(playerid,"~g~Pojazd zosta? przemalowany!",3000,4);
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 377)
{
if(!response)
{
switch(listitem)
{
case 0:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),random(127),random(127));
format(omg_wtf,50,"222222___ID pojazdu: %d",GetNearestVehicle(playerid,8));
SendClientMessage(playerid,-1,omg_wtf);
}
case 1:
{
ChangeVehicleColor(GetNearestVehicle(playerid,8),random(127),random(127));
format(omg_wtf,50,"333333___ID pojazdu: %d",GetNearestVehicle(playerid,8));
SendClientMessage(playerid,-1,omg_wtf);
}

}
}
}
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;
}

Uzyj komendy i bedzie pisalo ID pojazdu (odpowiednio 1111,2222,3333) i ktory kod sie nie wyswietli, bedzie wiadomo gdzie staje kod.

Postaw piwo autorowi tego posta
 

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


jona99







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

Piwa: 71

Respekt: 45,3

ok pisze tak jak zaczynam spreyowac 1111____ID pojazdu: 2
jak koncze 222222____ID pojazdu: 2

Postaw piwo autorowi tego posta
 

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


xqz

otaku desu!






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

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

jona99, i wciaz nie zmienia koloru auta?

Postaw piwo autorowi tego posta
 

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


jona99







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

Piwa: 71

Respekt: 45,3

tak nie zmienia :/

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 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