Szerző Téma: Virtuális világ!  (Megtekintve 1185 alkalommal)

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Virtuális világ!
« Dátum: 2013. szeptember 06. - 19:31:22 »
0 Show voters
Szép estét mindenkinek!
Egy olyan kis scriptet szeretnék, amiben lehet virtuális világot váltani:
a lényege hogy ugye az alap világ a 0 és át lehessen vele váltani egy másikba, ahol nincsenek mapok.
de a problémám eddig az volt, hogy ha átváltottam másik világba, mondjuk 1 re, akkor a kocsik nemvoltak ott és a
/v lehívóval sem lehet lehívni kocsikat. szóval ez lenne nagyjából a lényeg.
(a legjobb a dialogos megoldás lenne, beirom /world és kiadná a dialogot ahol lehet választani a 0 és az 1es világ között)
Elõre is köszönöm!

Virtuális világ!
« Válasz #1 Dátum: 2013. szeptember 07. - 14:12:43 »
0 Show voters
Ezt nem értem..
Ha azt szeretnéd hogy a 0 és az 1-es világba is látszódjanak a kocsik, vagy a map, akkor már alap úgy kell létrehoznod azokat!
Gondolok itt arra .. hogy ha az 1es világba vagy, akkor hiába hívod le a kocsit a 0-s világba.. nem fog megjelenni!
Ezt könnyen ki lehet küszöbölni.. mégpedig:
Amikor lekérjük a kocsit a /v paranccsal, akkor egy sorral lentebb használjuk a
[pawn]SetVehicleVirtualWorld(kocsid, virtuális világ);[/pawn]
parancsot, mellyel átlehet rakni a kocsinak a virtuális világát..
Esetünkben, a kocsinak a spawnolásakor egy ilyen parancsra lesz szükségünk:
[pawn]
/*Ezt oda ahova akarod.. valahova a mod elejére..*/
new jatekosvilaga;//változó
jatekosvilaga = GetPlayerVirtualWorld(playerid);//lekérés beállítása
/*Ezt oda ahol a kocsi spawnolása van.. tehát. a dialog response-nél az összes lehetõséghez:D*/
SetVehicleVirtualWorld(vehicleid, jatekosvilaga);//Kocsi áttevése a világba
[/pawn]

Virtuális világ!
« Válasz #2 Dátum: 2013. szeptember 07. - 14:19:04 »
0 Show voters
Szia!

Gyorsan készítettem neked egyet :)

 ;)
 
#include <a_samp>
#include <zcmd> //ha nincs meg az include az FS nem fog mûködni!
#define DIALOG_VVILAG 1
#define PIROS 0xff0000AA
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Világváltó parancs!\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_VVILAG)
{
    if(listitem == 0)
    {
        SetPlayerVirtualWorld(playerid,0);
        SendClientMessage(playerid,PIROS,\"Sikeresen átállítottad a világod: 0\");
    }
    if(listitem == 1)
    {
        SetPlayerVirtualWorld(playerid,1);
        SendClientMessage(playerid,PIROS,\"Sikeresen átállítottad a világod: 1\");
    }
}
return 1;
}
CMD:vilag(playerid,params[])
{
    ShowPlayerDialog(playerid, DIALOG_VVILAG, DIALOG_STYLE_LIST, \"Válassz  világot!!\", \"Világ 0\\nVilág 1\", \"Rendben\", \"Mégsem\");
    return 1;
}

Virtuális világ!
« Válasz #3 Dátum: 2013. szeptember 07. - 14:22:21 »
0 Show voters
Idézetet írta: sLimee date=1378556344\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42441\" data-ipsquote-contentclass=\"forums_Topic
Szia!

Gyorsan készítettem neked egyet :)

 ;)
 
#include <a_samp>
#include <zcmd> //ha nincs meg az include az FS nem fog mûködni!
#define DIALOG_VVILAG 1
#define PIROS 0xff0000AA
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Világváltó parancs!\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_VVILAG)
{
    if(listitem == 0)
    {
        SetPlayerVirtualWorld(playerid,0);
        SendClientMessage(playerid,PIROS,\"Sikeresen átállítottad a világod: 0\");
    }
    if(listitem == 1)
    {
        SetPlayerVirtualWorld(playerid,1);
        SendClientMessage(playerid,PIROS,\"Sikeresen átállítottad a világod: 1\");
    }
}
return 1;
}
CMD:vilag(playerid,params[])
{
    ShowPlayerDialog(playerid, DIALOG_VVILAG, DIALOG_STYLE_LIST, \"Válassz  világot!!\", \"Világ 0\\nVilág 1\", \"Rendben\", \"Mégsem\");
    return 1;
}

 

LOL...  :facepalm:
Neki nem ilyen kellett, hanem amit én írtam..
A kocsit nem tudja áttenni az 1-es virtuális világba... olvasd el :D
Ezt amit te csináltál, õ is megcsinálta, csak nem tudta a kocsikat áttenni .. szövegértés:DD
Vagyis... azthiszem...
Mert a végén írta hogy legjobb dialogos megoldás lenne ... stb
Csak az elõtte lévõ pár sor nem éppen ezt tükrözte, hanem azt hogy sikerült megcsinálnia, csak nem voltak kocsik..
Amúgy szép lett  :smokin:
. . . . . No comment
« Utoljára szerkesztve: 2013. szeptember 07. - 14:25:22 írta Bloody44 »

Virtuális világ!
« Válasz #4 Dátum: 2013. szeptember 07. - 14:24:11 »
0 Show voters
Igen.Nem értelmeztem jól a leírását. Bocsánat  :$

Virtuális világ!
« Válasz #5 Dátum: 2013. szeptember 07. - 14:27:22 »
0 Show voters
Idézetet írta: sLimee date=1378556651\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42441\" data-ipsquote-contentclass=\"forums_Topic
Igen.Nem értelmeztem jól a leírását. Bocsánat  :$
 
Nem gáz... kicsit editeltem a HSZ.-em, mert észrevettem egy sort a postban.. lehet hogy te csak ezt láttad, és ezt csináltad meg ..
\"A legjobb dialogos megoldás lenne, ha beírom /world és lehetne választani a világok között\"
De ez értelmetlen, mert pár sorral fentebb kijelentette hogy sikerült neki (vagyis nekem ez jött le) de a kocsik nem voltak ott...
A post készítõje a jövõbben ügyelhetne a pontos fogalmazásra  :angel:

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Virtuális világ!
« Válasz #6 Dátum: 2013. szeptember 07. - 15:33:25 »
0 Show voters
Bocs a fogalmazásért, de fáradt voltam.

Virtuális világ!
« Válasz #7 Dátum: 2013. szeptember 07. - 15:35:52 »
0 Show voters
Idézetet írta: ObiWan date=1378560805\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42441\" data-ipsquote-contentclass=\"forums_Topic
Bocs a fogalmazásért, de fáradt voltam.
 
Nembaj:DD
Na szóóval.. mi is kell akkor neked? :)

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Virtuális világ!
« Válasz #8 Dátum: 2013. szeptember 07. - 15:48:05 »
0 Show voters
Idézetet írta: Bloody44 date=1378555963\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42441\" data-ipsquote-contentclass=\"forums_Topic
Ezt nem értem..
Ha azt szeretnéd hogy a 0 és az 1-es világba is látszódjanak a kocsik, vagy a map, akkor már alap úgy kell létrehoznod azokat!
Gondolok itt arra .. hogy ha az 1es világba vagy, akkor hiába hívod le a kocsit a 0-s világba.. nem fog megjelenni!
Ezt könnyen ki lehet küszöbölni.. mégpedig:
Amikor lekérjük a kocsit a /v paranccsal, akkor egy sorral lentebb használjuk a
 
SetVehicleVirtualWorld(kocsid, virtuális világ);

 
parancsot, mellyel átlehet rakni a kocsinak a virtuális világát..
én ezt használom:
 
dcmd_v(playerid, params[])
{
new Index;
    new tmp[256];  tmp  = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new tmp3[256]; tmp3 = strtok(params,Index);
    if(!strlen(tmp)) return
SendClientMessage(playerid, red, \"Használat: /v [modelid/jármûnév] [szín1] [szín2]\");
new car;
new string[128];
new colour1, colour2;
         if(!IsNumeric(tmp))
    car = GetVehicleModelIDFromName(tmp);
        else car = strval(tmp);
if(car < 400 || car > 611) return  SendClientMessage(playerid, red, \"Hiba: Nincs ilyen jármû!\");
if(car == 406 || car == 425 || car == 432 || car == 444 || car == 520 || car == 553 || car == 577 || car == 592) return SendClientMessage(playerid, red, \"TILTOTT JÁRMÛ!\");
if(car == 407 || car == 408) return SendClientMessage(playerid, red, \"TILTOTT JÁRMÛ!\");
if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
        if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
new Float:X,Float:Y,Float:Z;
new Float:Angle,int1;
new LVehicleID = GetPlayerVehicleID(playerid);
GetPlayerPos(playerid, X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
int1 = GetPlayerInterior(playerid);
SpawnedVehicles[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
LinkVehicleToInterior(LVehicleID,int1);
PlayerPlaySound(playerid,1085,0,0,0);
PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0);
format(string, sizeof(string), \"Jármû lerakva! Név: %s | (Model ID: %d) | Szín1: %d, Szín2: %d\", VehicleNames[car-400], car, colour1, colour2);
return SendClientMessage(playerid,lightblue,string);
}

 
Esetünkben, a kocsinak a spawnolásakor egy ilyen parancsra lesz szükségünk:
 

/*Ezt oda ahova akarod.. valahova a mod elejére..*/
new jatekosvilaga;//változó
jatekosvilaga = GetPlayerVirtualWorld(playerid);//lekérés beállítása
/*Ezt oda ahol a kocsi spawnolása van.. tehát. a dialog response-nél az összes lehetõséghez:D*/
SetVehicleVirtualWorld(vehicleid, jatekosvilaga);//Kocsi áttevése a világba

 

ebbe beletudnád nekem rakni azt amit leírtál? tehát ha lekérem a kocsit akármelyik világban, akkor az ottlegyen.

Virtuális világ!
« Válasz #9 Dátum: 2013. szeptember 07. - 15:54:01 »
+1 Show voters
Tessék:
[pawn]
dcmd_v(playerid, params[])
{
   new jatekosvilaga;//változó
   jatekosvilaga = GetPlayerVirtualWorld(playerid);//lekérés beállítása
   new Index;
    new tmp[256];  tmp  = strtok(params,Index);
   new tmp2[256]; tmp2 = strtok(params,Index);
   new tmp3[256]; tmp3 = strtok(params,Index);
    if(!strlen(tmp)) return
   SendClientMessage(playerid, red, \"Használat: /v [modelid/jármûnév] [szín1] [szín2]\");
   new car;
   new string[128];
   new colour1, colour2;
         if(!IsNumeric(tmp))
    car = GetVehicleModelIDFromName(tmp);
        else car = strval(tmp);
   if(car < 400 || car > 611) return  SendClientMessage(playerid, red, \"Hiba: Nincs ilyen jármû!\");
   if(car == 406 || car == 425 || car == 432 || car == 444 || car == 520 || car == 553 || car == 577 || car == 592) return SendClientMessage(playerid, red, \"TILTOTT JÁRMÛ!\");
   if(car == 407 || car == 408) return SendClientMessage(playerid, red, \"TILTOTT JÁRMÛ!\");
   if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
   if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
        if(SpawnedVehicles[playerid] != 0) DestroyVehicle(SpawnedVehicles[playerid]);
   new Float:X,Float:Y,Float:Z;
   new Float:Angle,int1;
   new LVehicleID = GetPlayerVehicleID(playerid);
   GetPlayerPos(playerid, X,Y,Z);
   GetPlayerFacingAngle(playerid,Angle);
   int1 = GetPlayerInterior(playerid);
   SpawnedVehicles[playerid] = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
   LinkVehicleToInterior(LVehicleID,int1);
   SetVehicleVirtualWorld(car, jatekosvilaga);//Kocsi áttevése a világba
   PlayerPlaySound(playerid,1085,0,0,0);
   PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0);
   format(string, sizeof(string), \"Jármû lerakva! Név: %s | (Model ID: %d) | Szín1: %d, Szín2: %d\", VehicleNames[car-400], car, colour1, colour2);
   return SendClientMessage(playerid,lightblue,string);
}[/pawn]

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Virtuális világ!
« Válasz #10 Dátum: 2013. szeptember 07. - 15:56:13 »
0 Show voters
Nah megoldottam. Köszönöm szépen!  ;D

Virtuális világ!
« Válasz #11 Dátum: 2013. szeptember 07. - 15:58:35 »
0 Show voters
Nagyon szívesen :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal