Wysłany: 2012-08-19, 13:34
jona99
Wiek: 36 Na forum: 5234 dni Posty: 103
Nick w MP: Johny_Bloom
Piwa : 71
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;
}
Wysłany: 2012-08-19, 14:03
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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;
}
Wysłany: 2012-08-19, 16:22
jona99
Wiek: 36 Na forum: 5234 dni Posty: 103
Nick w MP: Johny_Bloom
Piwa : 71
nadal nie przemalowuje ;f
Wysłany: 2012-08-19, 16:46
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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;
}
Wysłany: 2012-08-19, 17:14
jona99
Wiek: 36 Na forum: 5234 dni Posty: 103
Nick w MP: Johny_Bloom
Piwa : 71
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
Wysłany: 2012-08-19, 17:40
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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
Wysłany: 2012-08-19, 17:57
jona99
Wiek: 36 Na forum: 5234 dni Posty: 103
Nick w MP: Johny_Bloom
Piwa : 71
nie pokazuje id pojazdu ;f ?adnego tekstu.
Wysłany: 2012-08-19, 18:01
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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
Wysłany: 2012-08-19, 18:14
jona99
Wiek: 36 Na forum: 5234 dni Posty: 103
Nick w MP: Johny_Bloom
Piwa : 71
ehh nadal nie pokazuje ;/
Wysłany: 2012-08-19, 18:19
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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;
}
Wysłany: 2012-08-19, 18:24
jona99
Wiek: 36 Na forum: 5234 dni Posty: 103
Nick w MP: Johny_Bloom
Piwa : 71
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;
}
Wysłany: 2012-08-19, 18:46
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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.
Wysłany: 2012-08-19, 18:52
jona99
Wiek: 36 Na forum: 5234 dni Posty: 103
Nick w MP: Johny_Bloom
Piwa : 71
ok pisze tak jak zaczynam spreyowac 1111____ID pojazdu: 2
jak koncze 222222____ID pojazdu: 2
Wysłany: 2012-08-19, 19:25
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
jona99 , i wciaz nie zmienia koloru auta?
Wysłany: 2012-08-19, 19:44
jona99
Wiek: 36 Na forum: 5234 dni Posty: 103
Nick w MP: Johny_Bloom
Piwa : 71
tak nie zmienia
Tagi: malowanie :: auta
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: