Thứ Sáu, 21 tháng 4, 2017

Youtube daily Apr 21 2017

So tell me if you've heard this one.

Sarah Palin, Ted Nugent, and Kid Rock walk into the oval office, Donald Trump's sitting

there.

Actually sorry, that's not a joke, that's literally what happened earlier this week.

For some reason the white trash trio was invited to have a private audience with the President

of the United States, during which they took a picture of themselves with a portrait of

Hillary Clinton.

Sarah Palin making her usual weirdo face, as if she's so disgusted to be by this picture,

but just had to get it so she can throw it on her Facebook and get her half wit audience

all riled up.

But listen, Ted Nugent is the biggest problem here.

We know Kid Rock, eh whatever, Sarah Palin, not very bright, but they're friends.

But Ted Nugent is the man who literally threatened to kill President Obama and Hillary Clinton.

A threat that the FBI and Secret Service took seriously, and began investigating this man.

Yet, Donald Trump saw fit to bring him into the oval office and have a private audience

with him, just sit down and chit chat.

A man who threatened to kill a sitting president.

Do you think that's appropriate?

I mean, regardless of what Ted Nugent is, when you threaten to kill the President, you're

supposed to be in jail.

That's how it works.

He called for the public execution of Barack Obama and Hillary Clinton.

He shouldn't be getting a private audience with the President of the United States.

Furthermore, why would anyone want to meet with Ted Nugent?

Oh, because you're a huge fan of his music?

You know by definition, Ted Nugent is a one hit wonder?

Because he only had one song that ever made it up the charts.

Sarah Palin is a half term failed governor, failed reality show star, failed Fox News

analyst.

Kid Rock, I don't even know where to begin with him.

He couldn't make it as Limp Bizkit rip off, so now he's doing country music, where all

he's doing is taking other people's music and putting different words on top of it.

You're talking about the three least talented people in any form of media ever, meeting

with the most inept president we have ever had.

You know, the four of them actually do fit together pretty well.

They've all somehow managed to fail upwards, to get into the position that they're currently

in.

But to see the four of them sitting together, smiling, laughing, talking in that oval office,

that office where so much important American history lies, is disgusting, and is a disgrace,

and a slap in the face to every other president that came before Donald Trump.

Kid Rock, Sarah Palin, and Ted Nugent have no business being in that office, and to be

honest, neither does Donald Trump.

For more infomation >> Man Who Threatened To Kill Obama Meets With Trump In The Oval Office - Duration: 3:31.

-------------------------------------------

iZombie | Inside iZombie: Wag the Tongue Slowly | The CW - Duration: 1:58.

For more infomation >> iZombie | Inside iZombie: Wag the Tongue Slowly | The CW - Duration: 1:58.

-------------------------------------------

Utah at 15 MPH - Family Bike Tours - Utah Office of Tourism - Duration: 3:31.

You know, your perception is largely dependent on how you're getting around.

Whether it's on a train or a bike or a car.

And it totally changes how you perceive the landscape around you.

My name's Tim Sullivan, my wife Erin, My daughter Juliet and my son Teague.

So I had written a book called Ways to the West about traveling around the west without a car.

Via bicycle, bus boat, train.

I'm a transportation planner so I'm always thinking about transportation in cities and

developed the idea to do a family adventure cycling story.

One of three bicycle routes that's been completed in the West goes through Utah from east to west

So we thought it would be interesting to do samples of that route.

My wife Erin, she's a good sport.

I was just like "look, you know, we're going on this trip" and there wasn't a lot of preparation,

we'll just see what happens.

Our family likes to do outdoor adventures and likes coming down to southern Utah.

But we've never done a long adventure cycling trip.

Our daughter is six and a half and our son is almost four and so our kids are just getting

to the age when they can do this.

One of the challenges was keeping the momentum with the kids.

We could be going along fine with the kids, they're just in their own mind space that's

positive and we could stop and all of a sudden they'd get out of that.

For our first adventure cycling trip with our children, we opted for what's called a "sag wagon."

That's a vehicle that carries the group's gear, which a non rider or rotating member

of the group drives.

I feel like the quintessential aspect of bikepacking is that we're all just going to come to a

place like Milford or Tropic and you're moving a little slower and you just kind of notice

a little bit more.

Any trip with my family is awesome.

No matter what we're doing.

I mean, it's inspired me to do this more.

It's a different way to see the country and to see the world.

For more infomation >> Utah at 15 MPH - Family Bike Tours - Utah Office of Tourism - Duration: 3:31.

-------------------------------------------

American Gods Interview - Neil Gaiman, Michael Green & Bryan Fuller - Duration: 5:15.

So the first thing is, American Gods

is a very mysterious show.

Right? And there's a fine line between telling the audience

too much and too little.

How did you decide where that line is for this show?

For more infomation >> American Gods Interview - Neil Gaiman, Michael Green & Bryan Fuller - Duration: 5:15.

-------------------------------------------

PAELLA DE 3 KILOS EN MEDIA HORA | 5000 KCAL - Duration: 10:40.

Welcome to Macastre! I'm gonna run 800,000 Km so I get hungry and I will eat a small paella in this place.

800,000 Km later [ THURSDAY MUD FIGHT ]

- Hello. - Hello. Good afternoon.

- I booked a paella for 5 people in the name of Mandel.

- Right. Your table is ready. Do you want to seat or do you preffer to wait for the others?

- What others?

- Who's this fucking weirdo? - I have no idea.

- We're gonna flip out...

What's up, guys? What are you up to? A small paella. They told me this is for 5 people.

I'm not sure at all. They told me this weights more than 3 Kg (6.6 lbs)

150g oil, 600g chicken, 600g rabbit, 100g beans, 100g green beans, 500g rice, spices, tomato, 1500g water.

They told me I've gotta finish before half an hour.

- You're not supposed to eat the bones, Mandel.

It looked small when I started... but there's plenty of rice.

Can I finish it before half an hour? Yeah!

- Being a youtuber is not that easy. - If you enjoy doing things, they are always easy.

- 5 people for real? - 5 normal people, not 5 like you.

I would have to eat half of this at least.

5 minutes in.

Shit

I got the hiccups. Fuck. Fuck my life.

This can take a long time. Fuck my life.

- He got the hiccups at 7 minutes in. - And it can take a long time in my case...

[ Why the fuck am I still eating and hiccuping to risk my life ]

That happened because I was really enjoying the food.

[ So unlucky not having a bigger pan... what can you do? ]

- It's gonna be fucking hard in half an hour. - You slowed down.

[ It's not that bad but it lacks chorizo ]

Oh, boy! Look at this!

Theres one or two rice inches. [ThakeThat69: a paella can't have so much rice! dislike!]

- 500g (1.1 lbs) of rice.

Fuck. Almost no one can eat 500g of raw rice. You can try and see how much you can eat.

Oh, boy!

"Add some lemon and you will become happier"

The rice stays here, woah!

Oh, boy!

Fuck, I did not expect this.

13 minutes in? I'm a machine!

- I'm getting a little bit full. - 15:18.

It stays here, man. Go down! Go down! Go down!

- 16 minutes.

- You should do a challenge with food that you don't like. Have you done it?

Do you know what's the fucking problem? There are only a couple of things that I don't like.

- Brussels sprouts? - I love'em.

- 1 kilo (2.2 lbs) of «morteruelo» - That's gotta be fucking hard.

They would really flip out. Well, not really. There're many beasts in those towns.

- 13 minutes.

I can't eat two like this one. When I saw it, I said I could it three. No fucking way,

I expected half amount of rice.

I did not eat bread just in case I had any surprise.

- In fact, the paella sandwich... - I saw a 9 year old girl eating it for the first time...

- ...I couldn't believe it. Yes, paella sandwich.

Paella sandwich. [ The best sandwich in the world ]

- 23.

It's the record of Macastre for sure. I dunno about the world.

Maybe not even in Macastre. There are lots of rednecks here.

- 1:30 left to finish before 25 minutes.

Supergood!

- Amazing! - Supergood!

- Mamma mia! - Now I'm pregnant.

- Do you want dessert? - What do you have?

I was already eating peanuts because they didn't bring me the dessert.

If you don't have dessert it looks like you haven't eaten anything.

Paella, 3000g (6.6 lbs) Kcal 4936, Carbs 435g, Fat 237g, Protein 270g

Ok, guys. See you next time!

Sweetener, sweetener!

- I was explaining you about the Argentinean pies, not Argentinean women...

- Hehe, a challenge about fucking Argentinean women! How many do you have to f...

- Hello. - Hi. What's up, girl?

- Hello. Hi.

- Fuck. - Fuck, man.

- Hi. Good afternoon. - Hi... ok, I'm leaving.

-Are you coming inside or are you waiting for the others? - What others?

- Do you want to come inside or are you waiting for the others? - What others?

- How're we gonna farewell the video this time? - Mmmm...

For more infomation >> PAELLA DE 3 KILOS EN MEDIA HORA | 5000 KCAL - Duration: 10:40.

-------------------------------------------

Lady Altagracia | Recap (04/14/2017) | Telemundo English - Duration: 15:08.

that you want Felipe killed for Monica's sake?

You just want to save yourself.

You don't want to end up arrested.

I know you'd love to see me dead.

I'd like that very much.

It's all I've ever wanted

after watching you slit my mother's throat...

that night in Veracruz.

Monica doesn't want you to kill me.

She's your daughter. You promised you wouldn't.

That's why you're trying to gain vengeance another way.

Rafael, enough.

If Felipe talks and we don't do anything to stop him,

everyone will know that Monica was the product of a rape.

Monica's been through enough as it is.

I regret what I did. Believe me,

I don't want this nightmare to continue haunting her.

It may be hard to admit, but she's our daughter.

She doesn't deserve this.

You called her our daughter.

Yes... she's ours.

And as much as I'd like to change that fact, I can't.

I know you care about her.

She may not want anything to do with us,

but the least we can do is protect her.

A parent must do everything in their power

to protect their child.

Even kill.

Oif your hatred for my sistert woeclipses our love?e.

How can I prove my love to you?

Forgive her.

Don't report her.

Please just leave her alone.

I'll think about it.

Thank you.

That's with regards to the Monkeys.

With regards to the Sandoval Construction Company,

I must fulfill my duties as Secretary.

As long as you don't report her or expose her past,

that's good enough for me.

Mom! Felipe!

Think of all those Americans who side with Trump!

That's not going to stop me...

and that guy's statements don't phase me.

My own country's kicking me out! There is no justice for me here.

I'd rather put up with crazy gringos

than wait around for Braulio to kill me.

I'm not Braulio.

I shouldn't be held responsible for his actions.

Nor should you keep fleeing because of him.

What?

How?

Why? What are you talking about?

Daniel.

Is this because of her?

She insulted and beat you in front of everyone.

No.

Monica had nothing to do with Daniel's decision.

Monica isn't to blame for my leave.

I'm leaving because I'm not any different

from the men who've abused you.

What are you talking about, Daniel?

Of course you're different. You're a good man!

I started this foundation

because I did something terrible early on in life.

I'll never forgive myself for it, really.

Many years ago, I did something I deeply regret.

that this place has been scrubbed clean.

They don't want us finding anything...

but I'll tell you this much.

I'm not leaving this place without any evidence.

I'll use all of my resources

and experience to find something, at least.

Got that?

No one makes a fool of me!

The ranch foreman called to inform that the police is there.

Hey, no one's coming to take your child

because she's your child.

You're the father, not Braulio. You!

I know, but I can't believe it.

Hey, baby, it's me, your dad.

Congrats.

Thanks.

Let the country know.

I love you and I want to marry you.

Will you marry me?

Yes!

An attempt was made on Felipe's life.

It looks like he's... dead.

No!

-It can't be! -Calm down!

I need an injection of diazepam in a solution

I need to see him.

Regina, I talked to my colleagues who received him

when he arrived.

Felipe had no signs of life when he arrived.

There was nothing we could do.

I'm sorry, but Felipe passed away.

He's dead?

No!

Yesenia, I'm leaving. I have a

and Alejandro Cespedes on your ranch.

We also found traces of blood

that were unsuccessfully cleaned.

I don't know if the blood belonged to them,

but what I can say with certainty

is that they were there.

What is it Altagracia?

Cat got your tongue?

Can you explain what those men, who are now missing or dead,

were doing in your basement?

CC: TELEMUNDO NETWORK CAPTIONING@TELEMUNDO.COM (305) 887-3060

miss you.

We'll soon be together.

Very soon.

I won't say it again! Get out!he

It's your hacienda!

Yes, but I'm not the only one with access to it.

There are many people I trust, people...

Braulio!

Of course! He was my right-hand man.

Braulio's always been in love with me.

When I told him about what happened in Veracruz,

he was furious!

Are you saying Braulio Padilla kidnapped these two men

and took them to your hacienda?

He spoke of tracking down the Monkeys several times.

I didn't want him to do so.

I didn't want to relive my tragedy.

I can't help but wonder

if it wasn't him who took them there to torture them.

When we're together again,

Adolfo...

This isn't...

Don't! I saw you myself.

How long have you two...?

No, hold on.

Monica isn't cheating on you.

This is my fault. I kissed her.

She respects you.

But you also know how I feel about Monica

and how Monica feels about me.

What are you saying?

That's right! We've been working together...

I can't get over you.

-Shut up! -Don't do this!

It's fine!

I deserve it!

Don't upset me even more. Get out of here!

-Please leave us alone! -No, Monica. Please!

Don't!

Leave.

Adolfo...

Adolfo, I couldn't help it. I swear.

I just couldn't control him.

Please forgive me.

Mom!he

Braulio Padilla never left Mexico City.

He murdered this man.rge.

He did this to get back at us.

Aren't you going to ask labout the baby?!

Justino, I'm in a hurry right now.

I'm supposed to go see my mom.

What do you mean? Your mother's...

Elena?

Elena, are you there?

What happened?

She hung up.

What makes you think she was acting strange?

She didn't ask about the baby...

and she said she was going out with her mom.

Her forgetting about her son isn't exactly an odd thing.

That's true, but what about her mother?

What about her mother?

Her mother died years ago.

What?

It's all too strange.

Elena seemed to be speaking in code.

I don't get why, though.

Are you sure there's no way Rafael Cabral.

See, Rafael Cabral killed Felipe.

CC: TELEMUNDO NETWORK captioning@telemundo.com (305) 887-3060

You're the guy from the video!

We saw how you killed Secretary Valenzuela.

This must be a misunderstanding. Pardon me.

Felipe was a good man!

Daniel, talk some sense into these men!

If you want to avenge Felipe, call the police.

Daniel!

Yes! It's time to face justice.

We might get a reward!

What the hell?

What are you doing?

Calm down!

If anyone follows me, they're dead!

[¶¶¶]

Why'd Elena say she was going out with her dead mother?

Perhaps it was her way of saying,

"I have a new boyfriend, so butt out of it."

None of this makes any sense.

Elena's a strange person.

She's super weird.

I never know what she's going to do next.

What we do know is that

Braulio isn't here and he hasn't kidnapped her.

Thank So it was Rafael.g, sir.

He killed Felipe.

Yes, Mom.

The police verified the video.

We wanted you to see it so you could see what happened.

I can't believe it.

Why would Rafael do something like that?

Rafael never got along with Felipe.

They were constantly at each other's throats,

trying to damage each other's reputation.

What kind of world are we living in

yet it turns out they're criminals.

The only good thing is,

Thank you, Regina.

It was great seeing you both.

I mean that.

Take care of yourselves.

Altagracia, remember what I just told you.

You don't have to walk. One of my drivers can take you.

No... there's no need. I can manage.

What do you want? What's your problem?

Braulio?

Be quiet!

I came alone, just as you asked!

Monica!

Yesenia?

Monica!

Get out of here, Monica!

I'm not leaving without you!

Go!

You're a woman of your word, Monica.

You aren't a liar like your mother.

I've been watching. You did come alone.

Neither Yesenia nor I testified in your trial.

Yes.

Maybe in the dessert then.

Sure.

Let me have it. I'll bring it back out.

Sir, here's the dessert.

Wow, great.

-There's the ring. -It's beautiful.

Just like her.

It's worth waiting for a woman like Monica.

I can imagine, sir.

Monica, I'm at the restaurant waiting for you.

She really cares about you!

Altagracia never calls me.

I don't know why she's calling now.

Be quiet!

This is just the confirmation I needed.

That's why I chose you, Monica.

I'm going to hit her where it hurts most.

I'm going to make them pay...

both Altagracia and Saul.

Yesenia has nothing to do with either of them,

so let her go!

Shut up, Monica!

Yesenia will be here till the very end...

until this is all over.

Know why I brought her here?

I used her as bait to lure you in...

and she's going to stay here until I'm through with you.

Then I'm going to let her go so she can tell Altagracia

and that idiot Saul.

She'll tell them how I tortured you to death.

For more infomation >> Lady Altagracia | Recap (04/14/2017) | Telemundo English - Duration: 15:08.

-------------------------------------------

Local Guides Summit 2017 Application : Chanchhaya Ny from Cambodia - Duration: 1:01.

Hi!

My name is Chanchhaya. I am a Community Moderator from Cambodia Local Guides.

I love traveling, exploring, and meeting new people.

As a Local Guide, I have been working on updating local details,

Adding places,reviews and answers to help other decide on Google Maps.

I also hosting the MeetUp as well as joining my community to identify

The ways to make the place more sustainable.

If I had the opportunity to join the summit this year, this would be a good chance for me

To meet with Googler and other local guides around the world to share our experiences together.

Most importantly, I want to help and improve my community more livable.

Together, we can change the world to a better place!

I look forward to meeting each and everyone of you at The Local Guides Summit.

Thank you!

For more infomation >> Local Guides Summit 2017 Application : Chanchhaya Ny from Cambodia - Duration: 1:01.

-------------------------------------------

Bautiful Paper Rosettes | DIY Paper Craft Tutorial | Country Hill Cottage - Duration: 2:42.

Today, we'll craft gorgeous paper rosettes!

They are stunning as décor for parties and weddings, or as wall ornaments, and add pretty

accents to gift packaging.

This technique is ideal for softer papers such as wrapping paper, lightweight cardstock,

or decorative paper.

You can create the rosettes in different sizes, using uni-coloured or patterned paper.

Please subscribe for more tutorials, and turn on notifications so you don't miss our latest

videos.

Trim a sheet of light-weight cardstock or gift wrap to a rectangle strip, the length

being approximately 3 times the width.

You need two strips for larger rosettes, and one strip for small rosettes.

Using a pencil, mark 1, 2 or 3 centimetre - this is 0.4, 0.8 or 1.2 inches – increments

along the length of both paper strips.

Fold the strips lengthwise using the marks as a guide.

Aim for sharp creases to achieve the best look.

Punch holes close to the bottom of each fold.

If you want to customise the edge of the rosette, cut the side opposite to the holes into pointed

or rounded shapes.

Glue both paper strips together with tape.

Then thread twine or ribbon of through the holes.

Fasten and secure the twine forming a circle.

Connect the ends of the rosette.

Apply hot glue to a small carton circle and attach the middle of the ornament, which helps

to keep the rosette flat and in shape.

If preferred, cover the centre of the rosette with a paper circle cutout or ornament.

You can also glue differently sized rosettes on top of each other to create beautiful layered

effects.

Use double-sided tape on the back of the rosette to hang it, or punch a hole into the tip of

the rosette to hang with ribbon.

Many thanks for watching!

Click on our logo to subscribe for more and check out our other videos!

For more infomation >> Bautiful Paper Rosettes | DIY Paper Craft Tutorial | Country Hill Cottage - Duration: 2:42.

-------------------------------------------

50 boy names that start with N - the best baby names - www.namesoftheworld.net - Duration: 2:04.

50 Baby boy names that start with M

NABAR

NABIL

NADIR

NAHUEL

NANUK

NAPOLEÓN

NARCISO

NASER

NASIM

NASOS

NATHAN

NAUZET

NAVID

NAZARENO

NAZARIO

NEAL

NED

NEILAN

NELSON

NEMESIO

NEPTUNE

NEREUS

NERÓN

NÉSTOR

NEVAN

NEVILLE

NEWTON

NIALL

NICANOR

NICK

NICOLÁS

NIELS

NIGEL

NILO

NILSON

NIXON

NIZAR

NOAH

NOÉ

NOEL

NOLAN

NOLEN

NORBERT

NORDIN

NORMAN

NORTH

NORTON

NORVIN

NOURIEL

NUNO

namesoftheworld .net, the web with all the names in the world: baby names, pet names, business names and boat names.

For more infomation >> 50 boy names that start with N - the best baby names - www.namesoftheworld.net - Duration: 2:04.

-------------------------------------------

OUINO™ Language Tips: Using Radio & Podcasts in Language Learning (how get used to native speakers) - Duration: 4:23.

Picture this.

You're planning a 6-week trip to Central America; it'll be the experience of a lifetime.

You want to be ready, you need to learn Spanish.

After all, it's the perfect opportunity to practice.

After several weeks of studying, you're starting to feel quite comfortable with the language.

You understand a lot of what you read and you can easily shape several sentences in

your mind.

You start to imagine those first conversations in the rain forests of Costa Rica where everything

goes as planned.

All that study time will finally pay off.

But when you finally do get to your destination and speak to native speakers for the first

time, you can't understand much at all!

"Shleedish Boudaka Tewupa!"

"What's going on?

This doesn't sound like anything I've learned."

This can feel like a real slap in the face.

It can happen if you haven't familiarized yourself enough to the way native speakers

use the language.

Luckily, there are several ways you can avoid this deceptive experience.

No worries, all that hard work is not in vain; you just need to adapt.

In this post, we will talk about how you can train your ear to the native way of speaking

by listening to radio, podcasts and stand-up comedy.

Talking to real people on the street is way up there in the grand language-learning difficulty

scale.

The problem is that, while obviously essential for learning, you might have been exposed

to too much exceptionally well-pronounced recordings.

When you are first learning a language, it is crucial to learn with material that is

slow and clearly enunciated, otherwise you'll drown and likely give up.

But the truth is that people have all kinds of different accents.

Plus, they often use unfamiliar local expressions and don't always articulate very well.

In a previous post, we talked about listening to audiobooks because they usually have proper

diction and clear enunciation, which is ideal for learning.

We also recommend listening to radio, podcasts and stand-up comedy for the exact opposite

reasons; fast speech, bad diction and lots of mumbling.

Listening to radio and podcasts can be a nice stepping stone to get used to the speed of

the language.

Talk show hosts often have a good voice, but they usually talk similar to regular folks.

Radio can be an excellent tool if you want to become familiar with a particular accent

or dialect.

Depending on the region of the show, you will hear certain accents and learn tons of local

expressions.

You can listen to radio stations from all over the world directly from your web browser

or mobile app.

A quick Google search will allow you to easily find multiple stations that may interest you.

Alternatively, you can also download and listen to podcasts through your device.

There are tons of different sources out there, simply choose a topic that meets your field

of interest.

Another major advantage of listening to radio stations is the immersive and cultural aspect.

You'll hear the local news, laugh at some jokes and interactions, discover amazing events,

but also perceive the area's social and political issues.

It can be a truly enriching experience.

You can also familiarize yourself with native speakers by listening to stand-up comedy.

You'll come upon all sorts of original jokes and unique humor from the comedians.

Sure, it may be hard to understand the jokes at times because of all the cultural references,

but it can be a very positive and effective way to learn once you reach a certain level.

If you are just getting started however, we recommend sticking to material that is clear

and easy to understand.

Listening to foreign radio, podcasts and stand-up comedy requires a strong foundation before

it can be truly effective.

But as you get more advanced, you'll eventually need to increase the difficulty of what you

listen to in order to comfortably understand native material.

You should always try to choose material that is slightly above your current skill level.

Challenging yourself is the best way to avoid hitting plateaus in language learning.

Finding that perfect balance between feeling comfortable and duly challenged is one of

the best ways to make sure you always improve.

If you liked our video, be sure to give us a thumbs up!

For more language learning, check out our website at Ouino.com, that's O, U, I, N, O,

dot com.

Thanks a lot!

Until next time!

For more infomation >> OUINO™ Language Tips: Using Radio & Podcasts in Language Learning (how get used to native speakers) - Duration: 4:23.

-------------------------------------------

GMnet: Platformer Part 2 (Tutorial 008) - Duration: 1:14:05.

In this tutorial we will use Client-side prediction and server reconciliation.

It's just a fancy way to say we use a local object and save all positions on the client.

We send the key press info as before to the server and he process it. Server send position info back.

The client compare his positions with the one from the server and check if they match.

First we need to create a local object that the client steer. We will make the server decide when we should create it.

obj_player>Create event "initialise"

if htme_isServer() { AddMultiple(id); }

This will prevent the client from creating the minime object. When obj_player is created on his side.

obj_server_handler>Create event "Collector"

Cut // Collect objects scr_Network_Do_Collector(0);

Pate it before scr_Network_Do_Collector(1);

We need the client to also hold the array. Because the client will use it too.

obj_server_handler>Begin step "Collector"

else { }

// Check if draw array got info if is_array(Draw_array) { }

// Loop array and step each chunk for (var i=0; i<array_length_1d(Draw_array); i+=1) { }

// Step chunk scr_Network_Do_Collector(8,Draw_array[i]);

Here we add a new step process. This will check the received data for events and other special commands to this client.

We will make the server send an event to create an obj_player on the client it will be link them with an id number (network number).

obj_server_handler>Draw event after "while (ds_queue_size(saved_arrays))..."

// Check if draw array got info if is_array(Draw_array) { }

// Loop array and step each chunk for (var i=0; i<array_length_1d(Draw_array); i+=1) { }

// Step chunk scr_Network_Do_Collector(8,Draw_array[i]);

Here we need to also process the step before we scrap the array and use the next one.

We also need some help scripts.

Scripts>Network

Create a new script

/// htme_get_my_player_number(); return htme_getPlayerNumber(global.htme_object.playerhash);

This will return the local player number.

Scripts>Network>Collector

New script

/// scr_Network_Do_Collector_Set_Number(); network_number=id-100000;

This will be the id link between the server and the client.

Game maker id start with 100000 so we just remove that amount so we can use a smaller buffer.

obj_player>Create event "Init for network"

// Set network number scr_Network_Do_Collector_Set_Number();

This will add a network number to this obj_player. We will make the server send this number when he create his obj_player to "link" them together.

New script

/// scr_Network_Do_Collector_Set_PlayerNumber(id); argument0.player_number=htme_getPlayerNumber(htme_get_instance_hash());

This will set the player_number for any instance. So we know who is the owner of it.

Missed "Do"

Create a new script

/// scr_Network_Do_Collector_Get_Object_Number(object_index);

with obj_server_handler { }

for (var i=0; i<array_length_1d(Collector_objects_array); i+=1) { }

if Collector_objects_array[i]=argument0 { }

// Return index return i;

return noone;

Here we take an object and check what index it got in the collect array. Also to save buffer space. Else we would need to send the object_index.

New script

/// scr_Network_Do_Collector_Event_Create_Object(id);

var id_=argument0; var data_array=noone; // Id for create event data_array[0]=-2;

// who should create this data_array[1]=id_.player_number // link id data_array[2]=id_.network_number

// x data_array[3]=id_.x; // y data_array[4]=id_.y;

// Object number data_array[5]=scr_Network_Do_Collector_Get_Object_Number(id_.object_index);

// Add in collection to send if data_array[5]>-1 { }

scr_Network_Do_Collector(9,data_array);

This will be our event script that creates a new special chunk -2.

-2 will be an "create object event" on the clients and use the network number (id-100000) as a link.

So the server can send info and just tell the network id to do something. This way we dont need the player_number anymore.

obj_client_handler>Begin step "Create player"

// Add create event on local scr_Network_Do_Collector_Event_Create_Object(PlayerID);

Replace PlayerID.player_number=htme_getPlayerNumber(htme_get_instance_hash());

scr_Network_Do_Collector_Set_PlayerNumber(PlayerID);

When the server create a clients obj_player we create an "create event" to make that client to also create an obj_player.

Scripts>scr_Network_Steer_player

/// scr_Network_Steer_player(data string, [local]);

var data_string=argument[0];

var temp_check=false;

if argument_count>1 { }

if htme_isLocal() temp_check=true;

else { }

if htme_get_instance_hash()=htme_get_last_rpc_hash() temp_check=true;

if temp_check

Here we make it possible for the clients to use this script for his local obj_player.

obj_player_keylogger>step event

// Handle client side if !htme_isServer() { }

scr_Network_Steer_player(SendString,true);

This will give our controls to our local obj_player.

We will also set the client to follow obj_player too. Because he will now have one.

obj_client_handler>Step Begin "Create player"

//view_object[0]=id;

By default the game follow obj_player.And now all players got one.

scr_Network_Do_Collector

temp_array[4]=buffer_u16; // network link number (0 to 65,535)

We dont need the player number for the view. We will make the client follow his local obj_player.

// Events // -1 Step Collector_buffer_event_array[1]=noone; temp_array=noone;

// -2 Create event temp_array[0]=buffer_u8; // player number temp_array[1]=buffer_u16; // network number

temp_array[2]=buffer_s16; // x temp_array[3]=buffer_s16; // y

temp_array[4]=buffer_u8; // object array index Collector_buffer_event_array[2]=temp_array;

temp_array=noone;

Here we setup our new event buffer array. We will use this to make the server force the client create a obj_player on his side.

network_number

We use network number instead.

if is_array(chunk_array) { }

Remove: scr_Network_Set_Pos_Of_Local(chunk_array[1],chunk_array[2],obj_client_handler,chunk_array[5]);

We must now check if the chunk is an array because when a event has run we will set it to noone in the draw array. This way it only happen once.

case -2:

// Chunk id is the buffer array index

var buffer_array=Collector_buffer_event_array[abs(chunk_id)];

case -2:

// Chunk id is the buffer array index

var buffer_array=Collector_buffer_event_array[abs(chunk_id)];

Here we make use of the event buffer arrays

case 8: break;

case 9: break;

// Step event var chunk_array=argument[1];

if is_array(chunk_array) { }

switch (chunk_array[0]) { }

case -2:

// Create event // Check if this is our

if chunk_array[1]=htme_get_my_player_number() { }

// Create object

with instance_create(chunk_array[3],chunk_array[4],Collector_objects_array[chunk_array[5]]) { }

// Set player number player_number=chunk_array[1]; // Set network link number network_number=chunk_array[2];

// Do object specific stuff switch (object_index) { }

case obj_player: break;

// Add player to local obj_client_handler (to make it responce to player control)

with obj_client_handler { }

if htme_isLocal() PlayerID=other.id;

// Only do this once chunk_array=noone; break;

// Return return chunk_array;

Ok. What do we do here:

We check what event we got

If this event is for us we process it.

Create the object and give it some values.

If it is a obj_player we check for our obj_client_handler and set the PlayerID. This gives us control over it and it will respond to our inputs.

// Add In Collector var Data_array=argument[1];

// Make it possible to call this from anywhere

with obj_server_handler { }

// Loop the provided array for (var j=0; j<array_length_1d(Data_array); j+=1) { }

// And in collector queue ds_queue_enqueue(Collector_que,Data_array[j]);

Here we just take an array an put it in the collector. Ex from the scr_Network_Do_Collector_Event_Create_Object.

Ok. We now can do a test run.

Create a server and connect P2.

When we move P2 we see two sets. Our local obj_player and the server one.

You notice that out local obj_player move instancly to our key presses.

And the server is a little behind. This is because of the simulated network lag.

We will now use the server info validate our local player. So the server info is always in command. If there is a differrence we use the server info. Because the server is king.

obj_client_handler>Create event

Add code block

/// Validator Collector_que=noone; Validator_list=noone;

if htme_isLocal() and !htme_isServer() { }

// Collect in queue Collector_que=ds_queue_create();

// Validator list Validator_list=ds_list_create();

// Collect objects scr_Network_Do_Collector(0);

We will reuse some of the collector code. We will start to log our local objects.

Destroy event

if Collector_que>-1 ds_queue_destroy(Collector_que); if Validator_list>-1 ds_list_destroy(Validator_list);

Here we just clean up.

Begin step add code block

/// Validator if htme_isLocal() and !htme_isServer() { }

// Loop objects for (var i=0; i<array_length_1d(Collector_objects_array); i+=1) { }

// Get info from instance with Collector_objects_array[i] { }

// Collect info chunk scr_Network_Do_Collector(2); // Turn queue to array and save in list var temp_array=noone;

var array_counter=0;

while !ds_queue_empty(other.Collector_que) { }

// Add to array temp_array[array_counter]=ds_queue_dequeue(other.Collector_que);

// Increase count array_counter+=1;

// Save array if is_array(temp_array) { }

// Add network number ds_list_add(other.Validator_list,network_number); // Add data ds_list_add(other.Validator_list,temp_array);

This will collect and save the same values the server do. We will now make the client compare these with the one we get from the server.

Notice that we save the network number first and then the array. This makes it possible to do a quick search for the network number in the list and we can then just grab the array in the next list index.

We will now create the script that compare the server data and client data and fix differences.

Scripts>Network>Collector

Create a new script

/// scr_Network_Do_Collector_Change_History(network number, diff, index to apply on);

var nn=argument0; var diff=argument1; var apply_index=argument2; var temp_array=-1;

for (var i=0; i<ds_list_size(Validator_list); i+=2) { }

// Check if same network number if Validator_list[| i]=nn { }

// Get the array temp_array=Validator_list[| i+1]; // Add diff temp_array[@ apply_index]+=diff;

Here we add a diff value to all the arrays in the list. The @ make sure we reference back to the original array.

Create a new script

/// scr_Network_Do_Collector_Validator_Check(object_index, network number, server array, client array);

var theObject=argument0; var nn=argument1; var server_array=argument2; var client_array=argument3;

var id_=noone;

// Find our instance with theObject { }

if network_number=nn { }

id_=id;

// Compare and fix if id_>-1 { }

for (var i=0; i<array_length_1d(server_array); i+=1) { }

switch (theObject) { }

case obj_player: break;

switch (i) { }

case 1: // x break;

// Compare if server_array[i]!=client_array[i] { }

// Resolve difference var diff_value=server_array[i]-client_array[i];

// Apply the diff to our historical collected info scr_Network_Do_Collector_Change_History(nn,diff_value,i);

// Apply the diff to the current instance id_.x+=diff_value*0.5;

Copy the case statement

Paste below

case 2: // y

id_.y+=diff_value*0.5;

Here we compare the server and client array.

If there is any diff we apply the diff to our historical collected info. Else it would detect a diff in the next step and add the diff to our player again.

Then we apply the diff to our current player. In a way we turn back the time for our player.

Ok. We will validate the data when we get it from the server.

Scripts>Network>Collector

Create a new script

/// scr_Network_Do_Collector_Validator(theValue_array);

var theValue_array=argument0; var count_total=0; var onlyDoOnce=true;

with obj_client_handler { }

if htme_isLocal() { }

switch (theValue_array[0]) { }

case 0: break;

// obj_player // Check if we got this network number

for (var j=0; j<ds_list_size(Validator_list); j+=2) { }

// Check if same network number if Validator_list[| j]=theValue_array[5] { }

if onlyDoOnce { }

// Compare and fix

scr_Network_Do_Collector_Validator_Check(obj_player,theValue_array[5],theValue_array,Validator_list[| j+1]);

// Hide server draw and use our local obj_player draw

// -128 is now our hidden chunk id theValue_array[@ 0]=-128;

// Remove processed client data // Network number

ds_list_delete(Validator_list,j); // Data array ds_list_delete(Validator_list,j);

// Only process the found onlyDoOnce=false;

// Count count_total+=1;

// Check if to many,if the server is slow we must reset out list else wi will get problems

if count_total>obj_server_handler.Collector_collect_steps*2 ds_list_clear(Validator_list);

return theValue_array;

Ok. What do this do?

We get the chunk id and if its a 0 aka obj_player we continue

We check if this obj_player is our by comparing the network numbers in our list.

Here we take the server and client array and compare them fix any differences.

When processed we can now remove the local data so the next in the list will process in the next step.

Note that we call ds_list_delete(Validator_list,j) twice. Because when we remove a index from a list the list will shift the index down by one. So j+1 becomes j.

scr_Network_Do_Collector

// Validator theValue_array=scr_Network_Do_Collector_Validator(theValue_array);

Ok. Now when the client receive info we validate it.

When using client side prediction we need values from the server. So we must force the server to send us updates.

obj_server_handler>Begin step "Collector"

//if data_chunk!=data_chunk_last //{ //}

Now the server will always send updates to the clients.

Ok. Time for a test.

Ok. You will notice that the p2 jitter in some cases. Even if the server and P2 process the same keystrokes the server may be some milliseconds off. So the results will we different on the server and client.

We can fix this with a tolerance value in the validator or use *0.25 instead of *0.5 when applying the diff value to the player.We will try both in the next tutorial.

We will also check what options we have with the follower. You notice that on P2 the follower is further away.

For more infomation >> GMnet: Platformer Part 2 (Tutorial 008) - Duration: 1:14:05.

-------------------------------------------

Pantera - Hollow (Legendado) HD - Duration: 6:14.

What's left inside him?

Don't he remember us?

Can't he believe me?

We seemed like bothers

Talked for hours last month

About what we wanna be

I sit now with his hand in mine

But I know he can't feel

No one knows, what's done is done

It's as if he were dead

I'm close with his mother

And she cries endlessly

Lord how we miss him

At least what's remembered

It's so important

To make best friends in life

But it's hard when my friend

Sits with blank expressions

No one knows, what's done is done

It's as if he were dead

He as hollow as I alone now

He as hollow as I alone now

He as hollow as I alone now

He as hollow as I alone

He as hollow as I alone

A shell of my friend, just flesh and bone

There's no soul, he sees no love

I shake my fists at skies above

Mad

at God

Mad

He as hollow as I converse

I wish he'd waken from this curse

Hear my words before it's through I want to come in after you

My

best friend

My

best friend

Come back

He as hollow as I alone now

He as hollow as I alone

Hey Rock fans, how you doing?

If someone wants to know my opinion about the song meaning

I wrote in the video description

And this is it guys

Until the next video and bye!

For more infomation >> Pantera - Hollow (Legendado) HD - Duration: 6:14.

-------------------------------------------

Aparece un doble de Lionel Messi | Suelta La Sopa | Entretenimiento - Duration: 0:32.

For more infomation >> Aparece un doble de Lionel Messi | Suelta La Sopa | Entretenimiento - Duration: 0:32.

-------------------------------------------

Kate del Castillo confesó sus trucos de belleza | Suelta La Sopa | Entretenimiento - Duration: 0:28.

For more infomation >> Kate del Castillo confesó sus trucos de belleza | Suelta La Sopa | Entretenimiento - Duration: 0:28.

-------------------------------------------

Messi besa en la boca a Ronaldo | Suelta La Sopa | Entretenimiento - Duration: 0:33.

For more infomation >> Messi besa en la boca a Ronaldo | Suelta La Sopa | Entretenimiento - Duration: 0:33.

-------------------------------------------

50 nombres para niños por N - los mejores nombres de bebé - www.nombresparamibebe.com - Duration: 2:03.

50 Baby boy names that start with M

NABAR

NABIL

NADIR

NAHUEL

NANUK

NAPOLEÓN

NARCISO

NASER

NASIM

NASOS

NATHAN

NAUZET

NAVID

NAZARENO

NAZARIO

NEAL

NED

NEILAN

NELSON

NEMESIO

NEPTUNE

NEREUS

NERÓN

NÉSTOR

NEVAN

NEVILLE

NEWTON

NIALL

NICANOR

NICK

NICOLÁS

NIELS

NIGEL

NILO

NILSON

NIXON

NIZAR

NOAH

NOÉ

NOEL

NOLAN

NOLEN

NORBERT

NORDIN

NORMAN

NORTH

NORTON

NORVIN

NOURIEL

NUNO

namesoftheworld .net, the web with all the names in the world: baby names, pet names, business names and boat names.

For more infomation >> 50 nombres para niños por N - los mejores nombres de bebé - www.nombresparamibebe.com - Duration: 2:03.

-------------------------------------------

Tığdan 3 Halat Modeli Anlatımlı Oya Yapımı - Duration: 8:47.

For more infomation >> Tığdan 3 Halat Modeli Anlatımlı Oya Yapımı - Duration: 8:47.

-------------------------------------------

Pequeno Menino Azul | Poesia infantil | Música para bebês | Para crianças | Canções préescolar - Duration: 59:06.

Little Boy Blue,

Come blow your horn,

The sheep's in the meadow,

The cow's in the corn;

But where is the boy

Who looks after the sheep?

He's under a haystack,

He's fast asleep.

Will you wake him?

No, not I,

For if I do,

He's sure to cry

Little Boy Blue,

Come blow your horn,

The sheep's in the meadow,

The cow's in the corn;

But where is the boy

Who looks after the sheep?

He's under a haystack,

He's fast asleep.

Will you wake him?

No, not I,

For if I do,

He's sure to cry

For more infomation >> Pequeno Menino Azul | Poesia infantil | Música para bebês | Para crianças | Canções préescolar - Duration: 59:06.

-------------------------------------------

Learn Colors with Talking Pocoyo Painting Learning Colours & Songs for Kids Children Babies - Duration: 13:00.

Learn Colors with Talking Pocoyo Painting Learning Colours & Songs for Kids Children Babies

Không có nhận xét nào:

Đăng nhận xét